Add Levinson rev2 (#1939)
* Add levinson rev2 files * Add hexwire keymap * Remove redefinition of backlight defines
This commit is contained in:
		
							parent
							
								
									2d77f9cbb9
								
							
						
					
					
						commit
						83af62322c
					
				
					 15 changed files with 554 additions and 12 deletions
				
			
		| 
						 | 
				
			
			@ -23,8 +23,4 @@
 | 
			
		|||
#define RGBLIGHT_SAT_STEP 8
 | 
			
		||||
#define RGBLIGHT_VAL_STEP 8
 | 
			
		||||
 | 
			
		||||
#define BACKLIGHT_PIN B6
 | 
			
		||||
//#define BACKLIGHT_BREATHING
 | 
			
		||||
#define BACKLIGHT_LEVELS 7
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,4 +34,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
// #define _MASTER_RIGHT
 | 
			
		||||
// #define EE_HANDS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
[_LOWER] = KEYMAP( \
 | 
			
		||||
  KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
 | 
			
		||||
  KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
 | 
			
		||||
  _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______, \
 | 
			
		||||
  BL_STEP, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______, \
 | 
			
		||||
  _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
 | 
			
		||||
),
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										108
									
								
								keyboards/levinson/keymaps/hexwire/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								keyboards/levinson/keymaps/hexwire/README.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,108 @@
 | 
			
		|||
Hexwire's Let's Split Layout
 | 
			
		||||
============================
 | 
			
		||||
 | 
			
		||||
### Changes from default layout
 | 
			
		||||
 | 
			
		||||
- Main layer
 | 
			
		||||
    - The right space bar key has been changed to backspace, as I only hit space with my left thumb
 | 
			
		||||
    - Backtick is at the lower right and also serves goes to the 3rd function layer when held
 | 
			
		||||
    - Enter key acts as shift when held
 | 
			
		||||
    - Escape key acts as control when held
 | 
			
		||||
    - Minus key at upper right
 | 
			
		||||
- Lower layer
 | 
			
		||||
    - Numbers are on the lower layer, to make it easier to use a numpad on the right hand
 | 
			
		||||
    - Arrow keys
 | 
			
		||||
    - Straight and curly brackets in the middle two columns
 | 
			
		||||
    - Screenshot keys for MacOS
 | 
			
		||||
- Upper layer
 | 
			
		||||
    - Symbols are on the upper layer
 | 
			
		||||
    - Media keys
 | 
			
		||||
    - Page Up/Down, Home/End
 | 
			
		||||
- 3rd function layer
 | 
			
		||||
    - Function keys
 | 
			
		||||
 | 
			
		||||
## Layouts
 | 
			
		||||
 | 
			
		||||
### Qwerty
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
,----+----+----+----+----+----.    ,----+----+----+----+----+----.
 | 
			
		||||
 TAB , Q  , W  , E  , R  , T  ,      Y  , U  , I  , O  , P  ,MINS,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
  X0 , A  , S  , D  , F  , G  ,      H  , J  , K  , L  ,SCLN,QUOT,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
 LSFT, Z  , X  , C  , V  , B  ,      N  , M  ,COMM,DOT ,SLSH, X4 ,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
  X3 ,LCTL,LALT,LGUI, X1 ,SPC ,     BSPC, X2 ,LEFT,DOWN, UP ,RGHT
 | 
			
		||||
`----+----+----+----+----+----'    `----+----+----+----+----+----'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Colemak
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
,----+----+----+----+----+----.    ,----+----+----+----+----+----.
 | 
			
		||||
 TAB , Q  , W  , F  , P  , G  ,      J  , L  , U  , Y  ,SCLN,MINS,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
  X0 , A  , R  , S  , T  , D  ,      H  , N  , E  , I  , O  ,QUOT,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
 LSFT, Z  , X  , C  , V  , B  ,      K  , M  ,COMM,DOT ,SLSH, X4 ,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
  X3 ,LCTL,LALT,LGUI, X1 ,SPC ,     BSPC, X2 ,LEFT,DOWN, UP ,RGHT
 | 
			
		||||
`----+----+----+----+----+----'    `----+----+----+----+----+----'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Dvorak
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
,----+----+----+----+----+----.    ,----+----+----+----+----+----.
 | 
			
		||||
 TAB ,QUOT,COMM,DOT , P  , Y  ,      F  , G  , C  , R  , L  ,MINS,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
  X0 , A  , O  , E  , U  , I  ,      D  , H  , R  , N  , S  ,SLSH,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
 LSFT,SCLN, Q  , J  , K  , X  ,      B  , M  , W  , V  , Z  , X4 ,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
  X3 ,LCTL,LALT,LGUI, X1 ,SPC ,     BSPC, X2 ,LEFT,DOWN, UP ,RGHT
 | 
			
		||||
`----+----+----+----+----+----'    `----+----+----+----+----+----'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Lower
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
,----+----+----+----+----+----.    ,----+----+----+----+----+----.
 | 
			
		||||
     , 1  , 2  , 3  , 4  , 5  ,      6  , 7  , 8  , 9  , 0  ,    ,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
 DEL ,CAPP,LEFT,RGHT, UP ,LBRC,     RBRC, P4 , P5 , P6 ,PLUS,PIPE,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
     ,CPYP,    ,    ,DOWN,LCBR,     RCBR, P1 , P2 , P3 ,MINS,    ,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
     ,    ,    ,    ,    ,    ,     DEL ,    , P0 ,PDOT,    ,
 | 
			
		||||
`----+----+----+----+----+----'    `----+----+----+----+----+----'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Raise
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
,----+----+----+----+----+----.    ,----+----+----+----+----+----.
 | 
			
		||||
     ,EXLM, AT ,HASH,DLR ,PERC,     CIRC,AMPR,ASTR,LPRN,RPRN,    ,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
 DEL ,MPRV,MNXT,VOLU,PGUP,UNDS,     EQL ,HOME,    ,    ,    ,BSLS,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
 MUTE,MSTP,MPLY,VOLD,PGDN,MINS,     PLUS,END ,    ,    ,    ,    ,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
     ,    ,    ,    ,    ,    ,         ,    ,    ,    ,    ,    
 | 
			
		||||
`----+----+----+----+----+----'    `----+----+----+----+----+----'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### 3rd function layer
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
,----+----+----+----+----+----.    ,----+----+----+----+----+----.
 | 
			
		||||
 F12 , F1 , F2 , F3 , F4 , F5 ,      F6 , F7 , F8 , F9 ,F10 ,F11 ,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
     ,    ,    ,    ,    ,    ,         ,    ,    ,    ,    ,    ,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
     ,    ,    ,    ,    ,    ,         ,    ,    ,    ,    ,    ,
 | 
			
		||||
|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
     ,    ,    ,    ,    ,    ,         ,    ,    ,    ,    ,   
 | 
			
		||||
`----+----+----+----+----+----'    `----+----+----+----+----+----'
 | 
			
		||||
```
 | 
			
		||||
							
								
								
									
										26
									
								
								keyboards/levinson/keymaps/hexwire/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								keyboards/levinson/keymaps/hexwire/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,26 @@
 | 
			
		|||
#ifndef CONFIG_USER_H
 | 
			
		||||
#define CONFIG_USER_H
 | 
			
		||||
 | 
			
		||||
#include "../../config.h"
 | 
			
		||||
 | 
			
		||||
/* Use I2C or Serial, not both */
 | 
			
		||||
 | 
			
		||||
#define USE_SERIAL
 | 
			
		||||
// #define USE_I2C
 | 
			
		||||
 | 
			
		||||
/* Select hand configuration */
 | 
			
		||||
 | 
			
		||||
#define MASTER_LEFT
 | 
			
		||||
// #define _MASTER_RIGHT
 | 
			
		||||
// #define EE_HANDS
 | 
			
		||||
 | 
			
		||||
#define TAPPING_TERM 150
 | 
			
		||||
 | 
			
		||||
#undef RGBLED_NUM
 | 
			
		||||
#define RGBLIGHT_ANIMATIONS
 | 
			
		||||
#define RGBLED_NUM 8
 | 
			
		||||
#define RGBLIGHT_HUE_STEP 8
 | 
			
		||||
#define RGBLIGHT_SAT_STEP 8
 | 
			
		||||
#define RGBLIGHT_VAL_STEP 8
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										206
									
								
								keyboards/levinson/keymaps/hexwire/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										206
									
								
								keyboards/levinson/keymaps/hexwire/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,206 @@
 | 
			
		|||
#include "levinson.h"
 | 
			
		||||
#include "action_layer.h"
 | 
			
		||||
#include "eeconfig.h"
 | 
			
		||||
 | 
			
		||||
extern keymap_config_t keymap_config;
 | 
			
		||||
 | 
			
		||||
#define _QWERTY 0
 | 
			
		||||
#define _COLEMAK 1
 | 
			
		||||
#define _DVORAK 2
 | 
			
		||||
#define _LOWER 3
 | 
			
		||||
#define _RAISE 4
 | 
			
		||||
#define _FN3 5
 | 
			
		||||
#define _FN4 6
 | 
			
		||||
#define _ADJUST 16
 | 
			
		||||
 | 
			
		||||
enum custom_keycodes {
 | 
			
		||||
  QWERTY = SAFE_RANGE,
 | 
			
		||||
  COLEMAK,
 | 
			
		||||
  DVORAK,
 | 
			
		||||
  LOWER,
 | 
			
		||||
  RAISE,
 | 
			
		||||
  FN3,
 | 
			
		||||
  FN4,
 | 
			
		||||
  ADJUST,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define KC_ KC_TRNS
 | 
			
		||||
#define _______ KC_TRNS
 | 
			
		||||
 | 
			
		||||
#define KC_CAPW LGUI(LSFT(KC_3))        // Capture whole screen
 | 
			
		||||
#define KC_CPYW LGUI(LSFT(LCTL(KC_3)))  // Copy whole screen
 | 
			
		||||
#define KC_CAPP LGUI(LSFT(KC_4))        // Capture portion of screen
 | 
			
		||||
#define KC_CPYP LGUI(LSFT(LCTL(KC_4)))  // Copy portion of screen
 | 
			
		||||
#define KC_X0 MT(MOD_LCTL, KC_ESC)
 | 
			
		||||
#define KC_X1 LOWER
 | 
			
		||||
#define KC_X2 RAISE
 | 
			
		||||
#define KC_X3 LT(_FN3, KC_GRV)
 | 
			
		||||
#define KC_X4 MT(MOD_LSFT, KC_ENT)
 | 
			
		||||
#define KC_X5 BL_STEP
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
  [_QWERTY] = KC_KEYMAP(
 | 
			
		||||
  //,----+----+----+----+----+----.    ,----+----+----+----+----+----.
 | 
			
		||||
     TAB , Q  , W  , E  , R  , T  ,      Y  , U  , I  , O  , P  ,MINS,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
      X0 , A  , S  , D  , F  , G  ,      H  , J  , K  , L  ,SCLN,QUOT,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
     LSFT, Z  , X  , C  , V  , B  ,      N  , M  ,COMM,DOT ,SLSH, X4 ,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
      X5 ,LCTL,LALT,LGUI, X1 ,SPC ,     BSPC, X2 ,LEFT,DOWN, UP ,RGHT
 | 
			
		||||
  //`----+----+----+----+----+----'    `----+----+----+----+----+----'
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_COLEMAK] = KC_KEYMAP(
 | 
			
		||||
  //,----+----+----+----+----+----.    ,----+----+----+----+----+----.
 | 
			
		||||
     TAB , Q  , W  , F  , P  , G  ,      J  , L  , U  , Y  ,SCLN,MINS,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
      X0 , A  , R  , S  , T  , D  ,      H  , N  , E  , I  , O  ,QUOT,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
     LSFT, Z  , X  , C  , V  , B  ,      K  , M  ,COMM,DOT ,SLSH, X4 ,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
      X3 ,LCTL,LALT,LGUI, X1 ,SPC ,     BSPC, X2 ,LEFT,DOWN, UP ,RGHT
 | 
			
		||||
  //`----+----+----+----+----+----'    `----+----+----+----+----+----'
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_DVORAK] = KC_KEYMAP(
 | 
			
		||||
  //,----+----+----+----+----+----.    ,----+----+----+----+----+----.
 | 
			
		||||
     TAB ,QUOT,COMM,DOT , P  , Y  ,      F  , G  , C  , R  , L  ,MINS,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
      X0 , A  , O  , E  , U  , I  ,      D  , H  , T  , N  , S  ,SLSH,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
     LSFT,SCLN, Q  , J  , K  , X  ,      B  , M  , W  , V  , Z  , X4 ,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
      X3 ,LCTL,LALT,LGUI, X1 ,SPC ,     BSPC, X2 ,LEFT,DOWN, UP ,RGHT
 | 
			
		||||
  //`----+----+----+----+----+----'    `----+----+----+----+----+----'
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_LOWER] = KC_KEYMAP(
 | 
			
		||||
  //,----+----+----+----+----+----.    ,----+----+----+----+----+----.
 | 
			
		||||
         , 1  , 2  , 3  , 4  , 5  ,      6  , 7  , 8  , 9  , 0  ,    ,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
     DEL ,CAPP,LEFT,RGHT, UP ,LBRC,     RBRC, P4 , P5 , P6 ,PLUS,PIPE,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
         ,CPYP,    ,    ,DOWN,LCBR,     RCBR, P1 , P2 , P3 ,MINS,    ,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
         ,    ,    ,    ,    ,    ,     DEL ,    , P0 ,PDOT,    ,
 | 
			
		||||
  //`----+----+----+----+----+----'    `----+----+----+----+----+----'
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_RAISE] = KC_KEYMAP(
 | 
			
		||||
  //,----+----+----+----+----+----.    ,----+----+----+----+----+----.
 | 
			
		||||
         ,EXLM, AT ,HASH,DLR ,PERC,     CIRC,AMPR,ASTR,LPRN,RPRN,    ,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
     DEL ,MPRV,MNXT,VOLU,PGUP,UNDS,     EQL ,HOME,    ,    ,    ,BSLS,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
     MUTE,MSTP,MPLY,VOLD,PGDN,MINS,     PLUS,END ,    ,    ,    ,    ,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
         ,    ,    ,    ,    ,    ,         ,    ,    ,    ,    ,
 | 
			
		||||
  //`----+----+----+----+----+----'    `----+----+----+----+----+----'
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_FN3] = KC_KEYMAP(
 | 
			
		||||
  //,----+----+----+----+----+----.    ,----+----+----+----+----+----.
 | 
			
		||||
     F12 , F1 , F2 , F3 , F4 , F5 ,      F6 , F7 , F8 , F9 ,F10 ,F11 ,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
         ,    ,    ,    ,    ,    ,         ,    ,    ,    ,    ,    ,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
         ,    ,    ,    ,    ,    ,         ,    ,    ,    ,    ,    ,
 | 
			
		||||
  //|----+----+----+----+----+----|    |----+----+----+----+----+----|
 | 
			
		||||
         ,    ,    ,    ,    ,    ,         ,    ,    ,    ,    ,
 | 
			
		||||
  //`----+----+----+----+----+----'    `----+----+----+----+----+----'
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
/* Adjust (Lower + Raise)
 | 
			
		||||
 * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
 * |      | Reset|RGB Tg|RGB Md|Hue Up|Hue Dn|Sat Up|Sat Dn|Val Up|Val Dn|      |      |
 | 
			
		||||
 * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
 * |      |      |      |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|      |      |
 | 
			
		||||
 * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
 * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
			
		||||
 * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
 * |      |      |      |      |      |             |      |      |      |      |      |
 | 
			
		||||
 * `-----------------------------------------------------------------------------------'
 | 
			
		||||
 */
 | 
			
		||||
  [_ADJUST] = KEYMAP( \
 | 
			
		||||
    _______, RESET  , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, \
 | 
			
		||||
    _______, _______, _______, AU_ON,   AU_OFF,  AG_NORM, AG_SWAP, QWERTY,  COLEMAK, DVORAK,  _______, _______, \
 | 
			
		||||
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
 | 
			
		||||
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
float tone_qwerty[][2]     = SONG(QWERTY_SOUND);
 | 
			
		||||
float tone_dvorak[][2]     = SONG(DVORAK_SOUND);
 | 
			
		||||
float tone_colemak[][2]    = SONG(COLEMAK_SOUND);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void persistent_default_layer_set(uint16_t default_layer) {
 | 
			
		||||
  eeconfig_update_default_layer(default_layer);
 | 
			
		||||
  default_layer_set(default_layer);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
  switch (keycode) {
 | 
			
		||||
    case QWERTY:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        #ifdef AUDIO_ENABLE
 | 
			
		||||
          PLAY_SONG(tone_qwerty);
 | 
			
		||||
        #endif
 | 
			
		||||
        persistent_default_layer_set(1UL<<_QWERTY);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
      break;
 | 
			
		||||
    case COLEMAK:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        #ifdef AUDIO_ENABLE
 | 
			
		||||
          PLAY_SONG(tone_colemak);
 | 
			
		||||
        #endif
 | 
			
		||||
        persistent_default_layer_set(1UL<<_COLEMAK);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
      break;
 | 
			
		||||
    case DVORAK:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        #ifdef AUDIO_ENABLE
 | 
			
		||||
          PLAY_SONG(tone_dvorak);
 | 
			
		||||
        #endif
 | 
			
		||||
        persistent_default_layer_set(1UL<<_DVORAK);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
      break;
 | 
			
		||||
    case LOWER:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        layer_on(_LOWER);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      } else {
 | 
			
		||||
        layer_off(_LOWER);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
      break;
 | 
			
		||||
    case RAISE:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        layer_on(_RAISE);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      } else {
 | 
			
		||||
        layer_off(_RAISE);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
      break;
 | 
			
		||||
    case ADJUST:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        layer_on(_ADJUST);
 | 
			
		||||
      } else {
 | 
			
		||||
        layer_off(_ADJUST);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
      break;
 | 
			
		||||
  }
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										5
									
								
								keyboards/levinson/keymaps/hexwire/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								keyboards/levinson/keymaps/hexwire/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
RGBLIGHT_ENABLE = yes
 | 
			
		||||
 | 
			
		||||
ifndef QUANTUM_DIR
 | 
			
		||||
	include ../../../../Makefile
 | 
			
		||||
endif
 | 
			
		||||
| 
						 | 
				
			
			@ -3,7 +3,11 @@
 | 
			
		|||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#include "rev1.h"
 | 
			
		||||
#ifdef KEYBOARD_levinson_rev1
 | 
			
		||||
    #include "rev1.h"
 | 
			
		||||
#else
 | 
			
		||||
    #include "rev2.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// Used to create a keymap using only KC_ prefixed keys
 | 
			
		||||
#define KC_KEYMAP( \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,12 +9,12 @@ Hardware Availability: [Keebio](https://keeb.io)
 | 
			
		|||
 | 
			
		||||
Make example for this keyboard (after setting up your build environment):
 | 
			
		||||
 | 
			
		||||
    make levinson/rev1:default
 | 
			
		||||
    make levinson/rev2:default
 | 
			
		||||
 | 
			
		||||
Example of flashing this keyboard:
 | 
			
		||||
 | 
			
		||||
    make levinson/rev1:default:avrdude
 | 
			
		||||
    make levinson/rev2:default:avrdude
 | 
			
		||||
 | 
			
		||||
See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
 | 
			
		||||
 | 
			
		||||
A build guide for this keyboard can be found here: [Nyquist Build Guide](https://docs.keeb.io)
 | 
			
		||||
A build guide for this keyboard can be found here: [Levinson Build Guide](https://docs.keeb.io)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -66,6 +66,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#define ws2812_PORTREG  PORTD
 | 
			
		||||
#define ws2812_DDRREG   DDRD
 | 
			
		||||
 | 
			
		||||
/* Backlight LEDs */
 | 
			
		||||
#define BACKLIGHT_PIN B6
 | 
			
		||||
#define BACKLIGHT_LEVELS 7
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Feature disable options
 | 
			
		||||
 *  These options are also useful to firmware size reduction.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										93
									
								
								keyboards/levinson/rev2/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								keyboards/levinson/rev2/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,93 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
 | 
			
		||||
Copyright 2015 Jack Humbert
 | 
			
		||||
 | 
			
		||||
This program is free software: you can redistribute it and/or modify
 | 
			
		||||
it under the terms of the GNU General Public License as published by
 | 
			
		||||
the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
(at your option) any later version.
 | 
			
		||||
 | 
			
		||||
This program is distributed in the hope that it will be useful,
 | 
			
		||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
You should have received a copy of the GNU General Public License
 | 
			
		||||
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef REV1_CONFIG_H
 | 
			
		||||
#define REV1_CONFIG_H
 | 
			
		||||
 | 
			
		||||
#include "../config.h"
 | 
			
		||||
 | 
			
		||||
/* USB Device descriptor parameter */
 | 
			
		||||
#define VENDOR_ID       0xCEEB
 | 
			
		||||
#define PRODUCT_ID      0x1146
 | 
			
		||||
#define DEVICE_VER      0x0200
 | 
			
		||||
#define MANUFACTURER    Keebio
 | 
			
		||||
#define PRODUCT         Levinson
 | 
			
		||||
#define DESCRIPTION     Split 40 percent ortholinear keyboard
 | 
			
		||||
 | 
			
		||||
/* key matrix size */
 | 
			
		||||
// Rows are doubled-up
 | 
			
		||||
#define MATRIX_ROWS 8
 | 
			
		||||
#define MATRIX_COLS 6
 | 
			
		||||
 | 
			
		||||
// wiring of each half
 | 
			
		||||
#define MATRIX_ROW_PINS { D4, D7, E6, B4 }
 | 
			
		||||
#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define CATERINA_BOOTLOADER
 | 
			
		||||
 | 
			
		||||
/* define if matrix has ghost */
 | 
			
		||||
//#define MATRIX_HAS_GHOST
 | 
			
		||||
 | 
			
		||||
/* number of backlight levels */
 | 
			
		||||
#define BACKLIGHT_LEVELS 7
 | 
			
		||||
 | 
			
		||||
/* Set 0 if debouncing isn't needed */
 | 
			
		||||
#define DEBOUNCING_DELAY 5
 | 
			
		||||
 | 
			
		||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 | 
			
		||||
#define LOCKING_SUPPORT_ENABLE
 | 
			
		||||
/* Locking resynchronize hack */
 | 
			
		||||
#define LOCKING_RESYNC_ENABLE
 | 
			
		||||
 | 
			
		||||
/* key combination for command */
 | 
			
		||||
#define IS_COMMAND() ( \
 | 
			
		||||
    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
/* ws2812 RGB LED */
 | 
			
		||||
#define RGB_DI_PIN D3
 | 
			
		||||
#define RGBLIGHT_TIMER
 | 
			
		||||
#define RGBLED_NUM 12    // Number of LEDs
 | 
			
		||||
#define ws2812_PORTREG  PORTD
 | 
			
		||||
#define ws2812_DDRREG   DDRD
 | 
			
		||||
 | 
			
		||||
/* Backlight LEDs */
 | 
			
		||||
#define BACKLIGHT_PIN B5
 | 
			
		||||
#define BACKLIGHT_LEVELS 7
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Feature disable options
 | 
			
		||||
 *  These options are also useful to firmware size reduction.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* disable debug print */
 | 
			
		||||
// #define NO_DEBUG
 | 
			
		||||
 | 
			
		||||
/* disable print */
 | 
			
		||||
// #define NO_PRINT
 | 
			
		||||
 | 
			
		||||
/* disable action features */
 | 
			
		||||
//#define NO_ACTION_LAYER
 | 
			
		||||
//#define NO_ACTION_TAPPING
 | 
			
		||||
//#define NO_ACTION_ONESHOT
 | 
			
		||||
//#define NO_ACTION_MACRO
 | 
			
		||||
//#define NO_ACTION_FUNCTION
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										39
									
								
								keyboards/levinson/rev2/rev2.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								keyboards/levinson/rev2/rev2.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,39 @@
 | 
			
		|||
#include "levinson.h"
 | 
			
		||||
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
    float tone_startup[][2] = SONG(STARTUP_SOUND);
 | 
			
		||||
    float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef SSD1306OLED
 | 
			
		||||
void led_set_kb(uint8_t usb_led) {
 | 
			
		||||
    // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 | 
			
		||||
    led_set_user(usb_led);
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void matrix_init_kb(void) {
 | 
			
		||||
 | 
			
		||||
    #ifdef AUDIO_ENABLE
 | 
			
		||||
        _delay_ms(20); // gets rid of tick
 | 
			
		||||
        PLAY_SONG(tone_startup);
 | 
			
		||||
    #endif
 | 
			
		||||
 | 
			
		||||
    // // green led on
 | 
			
		||||
    // DDRD |= (1<<5);
 | 
			
		||||
    // PORTD &= ~(1<<5);
 | 
			
		||||
 | 
			
		||||
    // // orange led on
 | 
			
		||||
    // DDRB |= (1<<0);
 | 
			
		||||
    // PORTB &= ~(1<<0);
 | 
			
		||||
 | 
			
		||||
	matrix_init_user();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void shutdown_user(void) {
 | 
			
		||||
    #ifdef AUDIO_ENABLE
 | 
			
		||||
        PLAY_SONG(tone_goodbye);
 | 
			
		||||
	_delay_ms(150);
 | 
			
		||||
	stop_all_notes();
 | 
			
		||||
    #endif
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										60
									
								
								keyboards/levinson/rev2/rev2.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								keyboards/levinson/rev2/rev2.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,60 @@
 | 
			
		|||
#ifndef REV2_H
 | 
			
		||||
#define REV2_H
 | 
			
		||||
 | 
			
		||||
#include "../levinson.h"
 | 
			
		||||
 | 
			
		||||
//void promicro_bootloader_jmp(bool program);
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef USE_I2C
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#ifdef __AVR__
 | 
			
		||||
	#include <avr/io.h>
 | 
			
		||||
	#include <avr/interrupt.h>
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
//void promicro_bootloader_jmp(bool program);
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
// Standard Keymap
 | 
			
		||||
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
 | 
			
		||||
#define KEYMAP( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
		{ R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
		{ R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
		{ R35, R34, R33, R32, R31, R30 } \
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
// Keymap with right side flipped
 | 
			
		||||
// (TRRS jack on both halves are to the right)
 | 
			
		||||
#define KEYMAP( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ R00, R01, R02, R03, R04, R05 }, \
 | 
			
		||||
		{ R10, R11, R12, R13, R14, R15 }, \
 | 
			
		||||
		{ R20, R21, R22, R23, R24, R25 }, \
 | 
			
		||||
		{ R30, R31, R32, R33, R34, R35 } \
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										1
									
								
								keyboards/levinson/rev2/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/levinson/rev2/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
BACKLIGHT_ENABLE = yes
 | 
			
		||||
| 
						 | 
				
			
			@ -77,4 +77,4 @@ CUSTOM_MATRIX = yes
 | 
			
		|||
 | 
			
		||||
LAYOUTS = ortho_4x12
 | 
			
		||||
 | 
			
		||||
DEFAULT_FOLDER = levinson/rev1
 | 
			
		||||
DEFAULT_FOLDER = levinson/rev2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue