Merge remote-tracking branch 'refs/remotes/jackhumbert/master'
This commit is contained in:
		
						commit
						c20540984e
					
				
					 10 changed files with 443 additions and 22 deletions
				
			
		|  | @ -148,6 +148,11 @@ ifeq ($(strip $(AUDIO_ENABLE)), yes) | |||
| 	SRC += $(QUANTUM_DIR)/audio/luts.c | ||||
| endif | ||||
| 
 | ||||
| ifeq ($(strip $(UCIS_ENABLE)), yes) | ||||
| 	OPT_DEFS += -DUCIS_ENABLE | ||||
| 	UNICODE_ENABLE = yes | ||||
| endif | ||||
| 
 | ||||
| ifeq ($(strip $(UNICODE_ENABLE)), yes) | ||||
|     OPT_DEFS += -DUNICODE_ENABLE | ||||
| 	SRC += $(QUANTUM_DIR)/process_keycode/process_unicode.c | ||||
|  |  | |||
							
								
								
									
										7
									
								
								keyboards/planck/keymaps/bone2planck/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								keyboards/planck/keymaps/bone2planck/config.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | |||
| #ifndef CONFIG_USER_H | ||||
| #define CONFIG_USER_H | ||||
| #endif | ||||
| 
 | ||||
| #include "../../config.h" | ||||
| 
 | ||||
| #define PREVENT_STUCK_MODIFIERS | ||||
|  | @ -4,6 +4,13 @@ | |||
| #endif | ||||
| #include "keymap_german.h" | ||||
| 
 | ||||
| // for intellisense, has to be commented for building
 | ||||
| /*
 | ||||
| #include "..\..\..\..\quantum\keymap_extras\keymap_german.h" | ||||
| #include "..\..\..\..\quantum\keymap_common.h" | ||||
| #include "..\..\..\..\tmk_core\common\keycode.h" | ||||
| */ | ||||
| 
 | ||||
| #define _______ KC_TRNS | ||||
| 
 | ||||
| /* This Layout tries to emulate the Bone2 Variant of Neo2, and is intended to be used with a German QWERTZ Softwarelayout.
 | ||||
|  | @ -24,14 +31,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||
| * | Shift|   F  |   V  |   Ü  |   Ä  |   Ö  |   Y  |   Z  |   ,  |   .  |   K  |Shift | | ||||
| * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||
| * | GUI  | Ctrl | Alt  |  M4  |  M2  |    Space    |  M2  |  M4  |      | Ctrl | Esc  | | ||||
| * | Ctrl | GUI  | Alt  |  M4  |  M2  |    Space    |  M2  |  M4  | Alt  | Esc  | Ctrl | | ||||
| * `-----------------------------------------------------------------------------------' | ||||
| */ | ||||
| [0] = { | ||||
| 	{ DE_Q,         DE_J,    DE_D,    DE_U,  DE_A,  DE_X,   DE_P,   DE_H,  DE_L,    DE_M,   DE_W,    DE_SS        }, | ||||
| 	{ LT(1,KC_TAB), DE_C,    DE_T,    DE_I,  DE_E,  DE_O,   DE_B,   DE_N,  DE_R,    DE_S,   DE_G,    LT(1,KC_ENT) }, | ||||
| 	{ KC_LSFT,      DE_F,    DE_V,    DE_UE, DE_AE, DE_OE,  DE_Y,   DE_Z,  DE_COMM, DE_DOT, DE_K,    KC_LSFT      }, | ||||
| 	{ KC_LGUI,      KC_LCTL, KC_LALT, MO(4), MO(2), KC_SPC, KC_SPC, MO(2), MO(4),   KC_NO,  KC_RCTL, KC_ESC       } | ||||
| 	{ DE_Q,         DE_J,    DE_D,    DE_U,  DE_A,  DE_X,   DE_P,   DE_H,  DE_L,    DE_M,    DE_W,    DE_SS        }, | ||||
| 	{ LT(1,KC_TAB), DE_C,    DE_T,    DE_I,  DE_E,  DE_O,   DE_B,   DE_N,  DE_R,    DE_S,    DE_G,    LT(1,KC_ENT) }, | ||||
| 	{ KC_LSFT,      DE_F,    DE_V,    DE_UE, DE_AE, DE_OE,  DE_Y,   DE_Z,  DE_COMM, DE_DOT,  DE_K,    KC_LSFT      }, | ||||
| 	{ KC_LCTL,      KC_RGUI, KC_LALT, MO(4), MO(2), KC_SPC, KC_SPC, MO(2), MO(4),   KC_RALT, KC_ESC,  KC_RCTL      } | ||||
| }, | ||||
| 
 | ||||
| /* M1 Special Characters
 | ||||
|  | @ -43,7 +50,7 @@ very ergonomic placement for coding | |||
| * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||
| * | Shift|   #  |   $  |   |  |   ~  |   €  |   +  |   %  |   "  |   '  |   ;  |Shift | | ||||
| * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||
| * | GUI  | Ctrl | Alt  |  M4  |  M2  |    Space    |  M2  |  M4  |      | Ctrl | Esc  | | ||||
| * | Ctrl | GUI  | Alt  |  M4  |  M2  |    Space    |  M2  |  M4  | Alt  | Esc  | Ctrl | | ||||
| * `-----------------------------------------------------------------------------------' | ||||
| */ | ||||
| [1] = { | ||||
|  | @ -56,37 +63,37 @@ very ergonomic placement for coding | |||
| /* Navigation & Number Blocks
 | ||||
| very easy to get used to & intuituve placement | ||||
| * ,-----------------------------------------------------------------------------------. | ||||
| * |      | PgUp | Bksp |  Up  |  DEL | PgDn |      |   7  |   8  |   9  |      |      | | ||||
| * |      | PgUp | Bksp |  Up  |  DEL | PgDn |      |   7  |   8  |   9  |      | Ins  | | ||||
| * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||
| * |  Tab | Home |  Lft | Down | Right| End  |   .  |   4  |   5  |   6  |   ,  | Enter| | ||||
| * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||
| * | Shift|      |  Tab | Ins  | Enter|      |   0  |   1  |   2  |   3  |   ;  |Shift | | ||||
| * | Shift|      |  Tab |      | Enter|      |   0  |   1  |   2  |   3  |   ;  |Shift | | ||||
| * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||
| * | GUI  | Ctrl | Alt  |  M3  |  M2  |    Space    |  M2  |  M3  |      | Ctrl | Esc  | | ||||
| * | Ctrl | GUI  | Alt  |  M3  |  M2  |    Space    |  M2  |  M3  | Alt  | Esc  | Ctrl | | ||||
| * `-----------------------------------------------------------------------------------' | ||||
| */ | ||||
| [2] = { | ||||
| 	{ KC_NO,   KC_PGUP, KC_BSPC, KC_UP,   KC_DEL,  KC_PGDN, KC_NO,   DE_7,    DE_8,  DE_9,    KC_NO,   KC_NO   }, | ||||
| 	{ KC_NO,   KC_PGUP, KC_BSPC, KC_UP,   KC_DEL,  KC_PGDN, KC_NO,   DE_7,    DE_8,  DE_9,    KC_NO,   KC_INS  }, | ||||
| 	{ KC_TAB,  KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END,  DE_DOT,  DE_4,    DE_5,  DE_6,    DE_COMM, KC_ENT  }, | ||||
| 	{ _______, KC_NO,   KC_TAB,  KC_INS,  KC_ENT,  KC_NO,   DE_0,    DE_1,    DE_2,  DE_3,    DE_SCLN, _______ }, | ||||
| 	{ _______, KC_NO,   KC_TAB,  KC_NO,   KC_ENT,  KC_NO,   DE_0,    DE_1,    DE_2,  DE_3,    DE_SCLN, _______ }, | ||||
| 	{ _______, _______, _______, MO(3),   _______, _______, _______, _______, MO(3), _______, _______, _______ } | ||||
| }, | ||||
| 
 | ||||
| /* Flipped Navigation & Number Blocks for one handed use
 | ||||
| accessed by sliding from M2 to M3 with thumb | ||||
| * ,-----------------------------------------------------------------------------------. | ||||
| * |      |      |  7   |  8   |  9   |      | PgUp | Bksp |  Up  |  DEL | PgDn |      | | ||||
| * | Ins  |      |  7   |  8   |  9   |      | PgUp | Bksp |  Up  |  DEL | PgDn |      | | ||||
| * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||
| * |  Tab |  .   |  4   |  5   |  6   |   ,  | Home | Left | Down | Right| End  | Enter| | ||||
| * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||
| * | Shift|  0   |  1   |  2   |  3   |   ;  |      | Tab  |  Ins | Enter|      |Shift | | ||||
| * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||
| * | GUI  | Ctrl | Alt  |  M3  |      |    Space    |      |  M3  |      | Ctrl | Esc  | | ||||
| * | Ctrl | GUI  | Alt  |  M3  |      |    Space    |      |  M3  | Alt  | Esc  | Ctrl | | ||||
| * `-----------------------------------------------------------------------------------' | ||||
| */ | ||||
| 
 | ||||
| [3] = { | ||||
| 	{ KC_NO,   KC_NO,   DE_7,    DE_8,    DE_9,  KC_NO,   KC_PGUP, KC_BSPC, KC_UP,   KC_DEL,  KC_PGDN, KC_NO   }, | ||||
| 	{ KC_INS,   KC_NO,   DE_7,    DE_8,    DE_9,  KC_NO,   KC_PGUP, KC_BSPC, KC_UP,   KC_DEL,  KC_PGDN, KC_NO   }, | ||||
| 	{ _______, DE_DOT,  DE_4,    DE_5,    DE_6,  DE_COMM, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END,  _______ }, | ||||
| 	{ _______, DE_0,    DE_1,    DE_2,    DE_3,  DE_SCLN, KC_NO,   KC_TAB,  KC_INS,  KC_ENT,  KC_NO,   _______ }, | ||||
| 	{ _______, _______, _______, _______, KC_NO, _______, _______, KC_NO,   _______, _______, _______, _______ } | ||||
|  | @ -102,7 +109,7 @@ slide from m4 to m5 to access flipped version | |||
| * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||
| * | Shift|      | Prev | Play | Next |      |   ²  |  F1  |  F2  |  F3  |  F10 |Shift | | ||||
| * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||
| * | GUI  | Ctrl | Alt  |  M4  |  M5  |    Space    |  M5  |  M4  |      | Ctrl | Esc  | | ||||
| * | Ctrl | GUI  | Alt  |  M4  |  M5  |    Space    |  M5  |  M4  | Alt  | Esc  | Ctrl | | ||||
| * `-----------------------------------------------------------------------------------' | ||||
| */ | ||||
| [4] = { | ||||
|  | @ -115,19 +122,19 @@ slide from m4 to m5 to access flipped version | |||
| 
 | ||||
| /* flipped Function & Media Keys
 | ||||
| * ,-----------------------------------------------------------------------------------. | ||||
| * |      |      |  F7  |  F8  |  F9  |      |      | Print|Scroll| Pause|      |      | | ||||
| * |      |      |  F7  |  F8  |  F9  |  F12 |      | Print|Scroll| Pause|      |      | | ||||
| * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||
| * |      |  ³   |  F4  |  F5  |  F6  |      |      | Mute | Vol- | Vol+ |      |      | | ||||
| * |      |  ³   |  F4  |  F5  |  F6  |  F11 |      | Mute | Vol- | Vol+ |      |      | | ||||
| * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||
| * | Shift|  ²   |  F1  |  F2  |  F3  |      |      | Prev | Play | Next |      |Shift | | ||||
| * | Shift|  ²   |  F1  |  F2  |  F3  |  F10 |      | Prev | Play | Next |      |Shift | | ||||
| * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||
| * | GUI  | Ctrl | Alt  |      |  M5  |    Space    |  M5  |      |      | Ctrl | Esc  | | ||||
| * | Ctrl | GUI  | Alt  |      |  M5  |    Space    |  M5  |      | Alt  | Esc  | Ctrl | | ||||
| * `-----------------------------------------------------------------------------------' | ||||
| */ | ||||
| [5] = { | ||||
| 	{ KC_NO,   KC_NO,   KC_F7,   KC_F8, KC_F9,   KC_NO,   KC_NO,   KC_PSCR, KC_SLCK, KC_PAUS, KC_NO,   KC_NO   }, | ||||
| 	{ KC_NO,   DE_SQ3,  KC_F4,   KC_F5, KC_F6,   KC_NO,   KC_NO,   KC_MUTE, KC_VOLD, KC_VOLU, KC_NO,   KC_NO   }, | ||||
| 	{ _______, DE_SQ2,  KC_F1,   KC_F2, KC_F3,   KC_NO,   KC_NO,   KC_MPRV, KC_MPLY, KC_MNXT, KC_NO,   _______ }, | ||||
| 	{ KC_NO,   KC_NO,   KC_F7,   KC_F8, KC_F9,   KC_F12,  KC_NO,   KC_PSCR, KC_SLCK, KC_PAUS, KC_NO,   KC_NO   }, | ||||
| 	{ KC_NO,   DE_SQ3,  KC_F4,   KC_F5, KC_F6,   KC_F11,  KC_NO,   KC_MUTE, KC_VOLD, KC_VOLU, KC_NO,   KC_NO   }, | ||||
| 	{ _______, DE_SQ2,  KC_F1,   KC_F2, KC_F3,   KC_F10,  KC_NO,   KC_MPRV, KC_MPLY, KC_MNXT, KC_NO,   _______ }, | ||||
| 	{ _______, _______, _______, KC_NO, _______, _______, _______, _______, KC_NO,   _______, _______, _______ } | ||||
| } | ||||
| }; | ||||
|  |  | |||
							
								
								
									
										8
									
								
								keyboards/planck/keymaps/bone2planck/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								keyboards/planck/keymaps/bone2planck/readme.md
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | |||
| check keymap.c to the layers | ||||
| 
 | ||||
| This Layout tries to emulate the Bone2 Variant of Neo2, and is intended to be used with a German QWERTZ Softwarelayout. | ||||
| It has "üäöß" as it is optimized for a mix of German & English. | ||||
| My favourite features are the placement of the special characters often used for programming right on the home row | ||||
| and the number & navigation block combo, so you never have to move your hands from their home position. | ||||
| 
 | ||||
| Bone2 wiki page: http://wiki.neo-layout.org/wiki/Bone | ||||
							
								
								
									
										25
									
								
								keyboards/planck/keymaps/jhenahan/Makefile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								keyboards/planck/keymaps/jhenahan/Makefile
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,25 @@ | |||
| 
 | ||||
| 
 | ||||
| # Build Options
 | ||||
| #   change to "no" to disable the options, or define them in the Makefile in 
 | ||||
| #   the appropriate keymap folder that will get included automatically
 | ||||
| #
 | ||||
| BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration(+1000) | ||||
| MOUSEKEY_ENABLE = yes       # Mouse keys(+4700) | ||||
| EXTRAKEY_ENABLE = yes       # Audio control and System control(+450) | ||||
| CONSOLE_ENABLE = no         # Console for debug(+400) | ||||
| COMMAND_ENABLE = yes        # Commands for debug and configuration | ||||
| NKRO_ENABLE = yes            # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||||
| BACKLIGHT_ENABLE = no      # Enable keyboard backlight functionality | ||||
| MIDI_ENABLE = no            # MIDI controls | ||||
| AUDIO_ENABLE = yes           # Audio output on port C6 | ||||
| UNICODE_ENABLE = no         # Unicode | ||||
| BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID | ||||
| RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time. | ||||
| 
 | ||||
| # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | ||||
| SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend | ||||
| 
 | ||||
| ifndef QUANTUM_DIR | ||||
| 	include ../../../../Makefile | ||||
| endif | ||||
							
								
								
									
										9
									
								
								keyboards/planck/keymaps/jhenahan/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								keyboards/planck/keymaps/jhenahan/config.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,9 @@ | |||
| #ifndef CONFIG_USER_H | ||||
| #define CONFIG_USER_H | ||||
| 
 | ||||
| #include "../../config.h" | ||||
| 
 | ||||
| #define FORCE_NKRO | ||||
| #define WORKMAN_SOUND COLEMAK_SOUND | ||||
| 
 | ||||
| #endif | ||||
							
								
								
									
										314
									
								
								keyboards/planck/keymaps/jhenahan/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										314
									
								
								keyboards/planck/keymaps/jhenahan/keymap.c
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,314 @@ | |||
| // This is the canonical layout file for the Quantum project. If you want to add another keyboard,
 | ||||
| // this is the style you want to emulate.
 | ||||
| 
 | ||||
| #include "planck.h" | ||||
| #include "action_layer.h" | ||||
| #ifdef AUDIO_ENABLE | ||||
|   #include "audio.h" | ||||
| #endif | ||||
| #include "eeconfig.h" | ||||
| 
 | ||||
| extern keymap_config_t keymap_config; | ||||
| 
 | ||||
| // Each layer gets a name for readability, which is then used in the keymap matrix below.
 | ||||
| // The underscores don't mean anything - you can have a layer called STUFF or any other name.
 | ||||
| // Layer names don't all need to be of the same length, obviously, and you can also skip them
 | ||||
| // entirely and just use numbers.
 | ||||
| #define _WORKMAN 0 | ||||
| #define _DEAD 1 | ||||
| #define _QWERTY 2 | ||||
| #define _LOWER 3 | ||||
| #define _RAISE 4 | ||||
| #define _PLOVER 5 | ||||
| #define _ADJUST 16 | ||||
| 
 | ||||
| enum planck_keycodes { | ||||
|   WORKMAN = SAFE_RANGE, | ||||
|   DEAD, | ||||
|   QWERTY, | ||||
|   LOWER, | ||||
|   RAISE, | ||||
|   PLOVER, | ||||
|   EXT_PLV, | ||||
|   TOG_PLV | ||||
| }; | ||||
| 
 | ||||
| // Fillers to make layering more clear
 | ||||
| #define _______ KC_TRNS | ||||
| #define XXXXXXX KC_NO | ||||
| 
 | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
| 
 | ||||
| 
 | ||||
| /* Workman
 | ||||
|  * ,-----------------------------------------------------------------------------------. | ||||
|  * | Tab  |   Q  |   D  |   R  |   W  |   B  |   J  |   F  |   U  |   P  |   ;  | Bksp | | ||||
|  * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||
|  * | Esc  |   A  |   S  |   H  |   T  |   G  |   Y  |   N  |   E  |   O  |   I  |  "   | | ||||
|  * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||
|  * | Shift|   Z  |   X  |   M  |   C  |   V  |   K  |   L  | Dead |   .  |   /  |Enter | | ||||
|  * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||
|  * | Ctrl | RAlt | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right | | ||||
|  * `-----------------------------------------------------------------------------------' | ||||
|  */ | ||||
| [_WORKMAN] = { | ||||
|   {KC_TAB,              KC_Q,    KC_D,    KC_R,    KC_W,    KC_B,    KC_J,    KC_F,    KC_U,    KC_P,    KC_SCLN, KC_BSPC}, | ||||
|   {MT(MOD_LCTL,KC_ESC), KC_A,    KC_S,    KC_H,    KC_T,    KC_G,    KC_Y,    KC_N,    KC_E,    KC_O,    KC_I,    KC_QUOT}, | ||||
|   {KC_LSFT,             KC_Z,    KC_X,    KC_M,    KC_C,    KC_V,    KC_K,    KC_L,    DEAD,    KC_DOT,  KC_SLSH, KC_ENT}, | ||||
|   {KC_LCTL,             KC_RALT, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT} | ||||
| }, | ||||
| 
 | ||||
| /* Workman Dead Layer
 | ||||
|  * ,-----------------------------------------------------------------------------------. | ||||
|  * |      |   %  |   &  |   ?  |   +  |   @  |   $  |   _  |   [  |   ]  |   !  |      | | ||||
|  * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||
|  * |      |   /  |   (  |   =  |   0  |   {  |   }  |   1  |   *  |   )  |   -  |  "   | | ||||
|  * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||
|  * |      |   6  |   7  |   8  |   9  |   |  |   \  |   2  |   3  |   4  |   5  |      | | ||||
|  * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||
|  * |      |      |   <  |   ~  |   `  |      ,      |   #  |   ^  |   >  |      |      | | ||||
|  * `-----------------------------------------------------------------------------------' | ||||
|  */ | ||||
| [_DEAD] = { | ||||
|   {XXXXXXX,  KC_PERC, KC_AMPR, KC_QUES, KC_PLUS, KC_AT,   KC_DLR,  KC_UNDS, KC_LBRC, KC_RBRC,  KC_EXLM, XXXXXXX}, | ||||
|   {XXXXXXX,  KC_SLSH, KC_LPRN, KC_EQL,  KC_0,    KC_LCBR, KC_RCBR, KC_1,    KC_ASTR, KC_RPRN,  KC_MINS, XXXXXXX}, | ||||
|   {XXXXXXX,  KC_6,    KC_7,    KC_8,    KC_9,    KC_PIPE, KC_BSLS, KC_2,    KC_3,    KC_4,     KC_5,    XXXXXXX}, | ||||
|   {XXXXXXX,  XXXXXXX, KC_LT,   KC_TILD, KC_GRV,  KC_COMM, KC_COMM, KC_HASH, KC_CIRC, KC_GT,    XXXXXXX, XXXXXXX} | ||||
| }, | ||||
| 
 | ||||
| /* Qwerty
 | ||||
|  * ,-----------------------------------------------------------------------------------. | ||||
|  * | Tab  |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | Bksp | | ||||
|  * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||
|  * | Esc  |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  |  "   | | ||||
|  * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||
|  * | Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |Enter | | ||||
|  * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||
|  * | Ctrl | RAlt | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right | | ||||
|  * `-----------------------------------------------------------------------------------' | ||||
|  */ | ||||
| [_QWERTY] = { | ||||
|   {KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC}, | ||||
|   {KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT}, | ||||
|   {KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT }, | ||||
|   {KC_LCTL, KC_RALT, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT} | ||||
| }, | ||||
| 
 | ||||
| /* Lower
 | ||||
|  * ,-----------------------------------------------------------------------------------. | ||||
|  * |   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Bksp | | ||||
|  * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||
|  * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   +  |   {  |   }  |  |   | | ||||
|  * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||
|  * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |ISO ~ |ISO | |      | Vol+ |Enter | | ||||
|  * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||
|  * |      |      |      |      |      |             |      | Prev | Next | Vol- | Play | | ||||
|  * `-----------------------------------------------------------------------------------' | ||||
|  */ | ||||
| [_LOWER] = { | ||||
|   {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), _______, KC_VOLU, _______}, | ||||
|   {_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV,    KC_MNXT, KC_VOLD, KC_MPLY} | ||||
| }, | ||||
| 
 | ||||
| /* Raise - KWM Interaction
 | ||||
|  * ,-----------------------------------------------------------------------------------. | ||||
|  * |Restrt|      |TgSplt|Flotng|Parent|FlScrn|InsMrk| InsW | InsS | InsN | InsE |      | | ||||
|  * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||
|  * |      | Mark |Rotate|Prefix| Term | BSP  |SwpMrk|SwapW |SwapS |SwapN |SwapE |      | | ||||
|  * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||
|  * |      |MarkW |MarkS |MarkN |MarkE |Monocl|Float |FocusW|FocusS|FocusN|FocusE|      | | ||||
|  * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||
|  * |      |      |      |      |      |             |      |      |      |      |      | | ||||
|  * `-----------------------------------------------------------------------------------' | ||||
|  */ | ||||
| [_RAISE] = { | ||||
|   {LCAG(KC_Q), XXXXXXX,    LCAG(KC_S),       LCAG(KC_W),   LCAG(KC_D), LCAG(KC_F),        LCTL(S(KC_X)),    LCTL(S(KC_H)),    LCTL(S(KC_J)),     LCTL(S(KC_K)),    LCTL(S(KC_L)),    XXXXXXX}, | ||||
|   {XXXXXXX,    LCAG(KC_M), LGUI(LCTL(KC_R)), LCAG(KC_DOT), LCAG(KC_T), LGUI(LCTL(KC_A)),  LCTL(LALT(KC_M)), LCTL(LALT(KC_H)), LCTL(LALT(KC_J)),  LCTL(LALT(KC_K)), LCTL(LALT(KC_L)), XXXXXXX}, | ||||
|   {_______,    LCAG(KC_H), LCAG(KC_J),       LCAG(KC_K),   LCAG(KC_L), LGUI(LCTL(KC_S)),  LGUI(LCTL(KC_D)), LGUI(LALT(KC_H)), LGUI(LALT(KC_J)),  LGUI(LALT(KC_K)), LGUI(LALT(KC_L)), _______}, | ||||
|   {_______,    _______,    _______,          _______,      _______,    _______,           _______,          _______,          _______,           _______,          _______,          _______} | ||||
| }, | ||||
| 
 | ||||
| /* Plover layer (http://opensteno.org)
 | ||||
|  * ,-----------------------------------------------------------------------------------. | ||||
|  * |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  | | ||||
|  * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||
|  * |      |   S  |   T  |   P  |   H  |   *  |   *  |   F  |   P  |   L  |   T  |   D  | | ||||
|  * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||
|  * |TogOut|   S  |   K  |   W  |   R  |   *  |   *  |   R  |   B  |   G  |   S  |   Z  | | ||||
|  * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||
|  * | Exit |      |      |   A  |   O  |             |   E  |   U  |      |      |      | | ||||
|  * `-----------------------------------------------------------------------------------' | ||||
|  */ | ||||
| 
 | ||||
| [_PLOVER] = { | ||||
|   {KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1   }, | ||||
|   {XXXXXXX, KC_Q,    KC_D,    KC_R,    KC_W,    KC_B,    KC_J,    KC_F,    KC_U,    KC_P,    KC_SCLN, KC_BSPC}, | ||||
|   {TOG_PLV, KC_A,    KC_S,    KC_H,    KC_T,    KC_G,    KC_Y,    KC_N,    KC_E,    KC_O,    KC_I,    KC_QUOT}, | ||||
|   {EXT_PLV, XXXXXXX, XXXXXXX, KC_M,    KC_C,    XXXXXXX, XXXXXXX, KC_L,    KC_COMM, XXXXXXX, XXXXXXX, XXXXXXX} | ||||
| }, | ||||
| 
 | ||||
| /* Adjust (Lower + Raise)
 | ||||
|  * ,-----------------------------------------------------------------------------------. | ||||
|  * |      | Reset|      |      |      |      |      |      |      |      |      |  Del | | ||||
|  * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||
|  * |      |      |      |Aud on|Audoff|AGnorm|AGswap|Qwerty|Workmn|Plover|      |      | | ||||
|  * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||
|  * |      |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|      |      |      |      |      | | ||||
|  * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||
|  * |      |      |      |      |      |             |      |      |      |      |      | | ||||
|  * `-----------------------------------------------------------------------------------' | ||||
|  */ | ||||
| [_ADJUST] = { | ||||
|   {_______, RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL}, | ||||
|   {_______, _______, _______, AU_ON,   AU_OFF,  AG_NORM, AG_SWAP, QWERTY,  WORKMAN, PLOVER,  _______, _______}, | ||||
|   {_______, MUV_DE,  MUV_IN,  MU_ON,   MU_OFF,  MI_ON,   MI_OFF,  _______, _______, _______, _______, _______}, | ||||
|   {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| }; | ||||
| 
 | ||||
| #ifdef AUDIO_ENABLE | ||||
| 
 | ||||
| float tone_startup[][2]    = SONG(STARTUP_SOUND); | ||||
| float tone_qwerty[][2]     = SONG(QWERTY_SOUND); | ||||
| float tone_workman[][2]    = SONG(WORKMAN_SOUND); | ||||
| float tone_plover[][2]     = SONG(PLOVER_SOUND); | ||||
| float tone_plover_gb[][2]  = SONG(PLOVER_GOODBYE_SOUND); | ||||
| float music_scale[][2]     = SONG(MUSIC_SCALE_SOUND); | ||||
| 
 | ||||
| float tone_goodbye[][2] = SONG(GOODBYE_SOUND); | ||||
| #endif | ||||
| 
 | ||||
| 
 | ||||
| void persistant_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 WORKMAN: | ||||
|       if (record->event.pressed) { | ||||
|         #ifdef AUDIO_ENABLE | ||||
|           PLAY_NOTE_ARRAY(tone_workman, false, 0); | ||||
|         #endif | ||||
|         persistant_default_layer_set(1UL<<_WORKMAN); | ||||
|       } | ||||
|       return false; | ||||
|       break; | ||||
|     case DEAD: | ||||
|       if (record->event.pressed) { | ||||
|         layer_on(_DEAD); | ||||
|         set_oneshot_layer(_DEAD, ONESHOT_START); | ||||
|         clear_oneshot_layer_state(ONESHOT_PRESSED); | ||||
|       } | ||||
|       return false; | ||||
|       break; | ||||
|     case QWERTY: | ||||
|       if (record->event.pressed) { | ||||
|         #ifdef AUDIO_ENABLE | ||||
|           PLAY_NOTE_ARRAY(tone_qwerty, false, 0); | ||||
|         #endif | ||||
|         persistant_default_layer_set(1UL<<_QWERTY); | ||||
|       } | ||||
|       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 PLOVER: | ||||
|       if (record->event.pressed) { | ||||
|         #ifdef AUDIO_ENABLE | ||||
|           stop_all_notes(); | ||||
|           PLAY_NOTE_ARRAY(tone_plover, false, 0); | ||||
|         #endif | ||||
|         layer_off(_RAISE); | ||||
|         layer_off(_LOWER); | ||||
|         layer_off(_ADJUST); | ||||
|         layer_on(_PLOVER); | ||||
|         if (!eeconfig_is_enabled()) { | ||||
|             eeconfig_init(); | ||||
|         } | ||||
|         keymap_config.raw = eeconfig_read_keymap(); | ||||
|         keymap_config.nkro = 1; | ||||
|         eeconfig_update_keymap(keymap_config.raw); | ||||
|       } | ||||
|       return false; | ||||
|       break; | ||||
|     case EXT_PLV: | ||||
|       if (record->event.pressed) { | ||||
|         #ifdef AUDIO_ENABLE | ||||
|           PLAY_NOTE_ARRAY(tone_plover_gb, false, 0); | ||||
|         #endif | ||||
|         layer_off(_PLOVER); | ||||
|       } | ||||
|       return false; | ||||
|       break; | ||||
|   case TOG_PLV: | ||||
|     if (record->event.pressed) { | ||||
|       register_code(KC_R); | ||||
|       register_code(KC_W); | ||||
|       register_code(KC_T); | ||||
|       register_code(KC_C); | ||||
|       register_code(KC_P); | ||||
|       register_code(KC_O); | ||||
|       clear_keyboard(); | ||||
|     } | ||||
|     return false; | ||||
|     break; | ||||
|   } | ||||
|   return true; | ||||
| } | ||||
| 
 | ||||
| void matrix_init_user(void) { | ||||
|     #ifdef AUDIO_ENABLE | ||||
|         startup_user(); | ||||
|     #endif | ||||
| } | ||||
| 
 | ||||
| #ifdef AUDIO_ENABLE | ||||
| 
 | ||||
| void startup_user() | ||||
| { | ||||
|     _delay_ms(20); // gets rid of tick
 | ||||
|     PLAY_NOTE_ARRAY(tone_startup, false, 0); | ||||
| } | ||||
| 
 | ||||
| void shutdown_user() | ||||
| { | ||||
|     PLAY_NOTE_ARRAY(tone_goodbye, false, 0); | ||||
|     _delay_ms(150); | ||||
|     stop_all_notes(); | ||||
| } | ||||
| 
 | ||||
| void music_on_user(void) | ||||
| { | ||||
|     music_scale_user(); | ||||
| } | ||||
| 
 | ||||
| void music_scale_user(void) | ||||
| { | ||||
|     PLAY_NOTE_ARRAY(music_scale, false, 0); | ||||
| } | ||||
| 
 | ||||
| #endif | ||||
							
								
								
									
										41
									
								
								keyboards/planck/keymaps/jhenahan/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								keyboards/planck/keymaps/jhenahan/readme.md
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,41 @@ | |||
| # jhenahan's layout | ||||
| 
 | ||||
| ## Layout | ||||
| 
 | ||||
| The base layer is based on the | ||||
| [Workman Dead](https://github.com/ojbucao/Workman/tree/master/mac) layout. The | ||||
| primary interaction layer is a slightly modified Workman layout with a 'dead' | ||||
| key on the third row under the middle finger. The dead key activates a layer of | ||||
| special characters. | ||||
| 
 | ||||
| ## [Layers](http://www.keyboard-layout-editor.com/#/gists/2b875f7d5d76fe4408c0a5b3bd76ddae) | ||||
| ### Function Layer | ||||
| 
 | ||||
| This is very slightly modified from the default, mainly just to rearrange the media keys. | ||||
| 
 | ||||
| ### [KWM](https://github.com/koekeishiya/kwm) Interaction Layer | ||||
| 
 | ||||
| `kwm` is a tiling window manager for OS X. The keys defined in my keymap | ||||
| correspond to the settings I use in | ||||
| [my `kwmrc` file](https://github.com/jhenahan/dotfiles/blob/master/kwm/kwmrc). | ||||
| 
 | ||||
| ### QWERTY | ||||
| 
 | ||||
| Just in case. | ||||
| 
 | ||||
| ### [Plover](http://www.openstenoproject.org/plover/) | ||||
| 
 | ||||
| This layout functions exactly as a Workman layout unless you're running the Plover | ||||
| application. Includes a key for toggling Plover while it's running. | ||||
| 
 | ||||
| Add this in the appropriate section of your `plover.cfg` to allow this altered layout: | ||||
| 
 | ||||
| ``` ini | ||||
| [System: English Stenotype] | ||||
| keymap[keyboard] = [["#", ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "="]], ["S-", ["q", "a"]], ["T-", ["d"]], ["K-", ["s"]], ["P-", ["r"]], ["W-", ["h"]], ["H-", ["w"]], ["R-", ["t"]], ["A-", ["m"]], ["O-", ["c"]], ["*", ["y", "g", "j", "b"]], ["-E", ["l"]], ["-U", [","]], ["-F", ["f"]], ["-R", ["n"]], ["-P", ["u"]], ["-B", ["e"]], ["-L", ["p"]], ["-G", ["o"]], ["-T", [";"]], ["-S", ["i"]], ["-D", ["BackSpace"]], ["-Z", ["'"]], ["no-op", ["\\", "]", "x", ".", "/"]], ["arpeggiate", ["space"]]] | ||||
| ``` | ||||
| 
 | ||||
| ### Adjust Layer | ||||
| 
 | ||||
| This layer is only slightly modified from the default to remove Dvorak and | ||||
| Colemak and replace them with Workman. | ||||
|  | @ -18,6 +18,10 @@ void set_unicode_input_mode(uint8_t os_target) | |||
|   input_mode = os_target; | ||||
| } | ||||
| 
 | ||||
| uint8_t get_unicode_input_mode(void) { | ||||
|   return input_mode; | ||||
| } | ||||
| 
 | ||||
| __attribute__((weak)) | ||||
| void unicode_input_start (void) { | ||||
|   switch(input_mode) { | ||||
|  |  | |||
|  | @ -13,6 +13,7 @@ | |||
| #endif | ||||
| 
 | ||||
| void set_unicode_input_mode(uint8_t os_target); | ||||
| uint8_t get_unicode_input_mode(void); | ||||
| void unicode_input_start(void); | ||||
| void unicode_input_finish(void); | ||||
| void register_hex(uint16_t hex); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 IBNobody
						IBNobody