mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-31 13:22:31 +01:00 
			
		
		
		
	Add Twey's keymap
This commit is contained in:
		
							parent
							
								
									7ccfaf750d
								
							
						
					
					
						commit
						5713083e91
					
				
							
								
								
									
										225
									
								
								keyboard/ergodox_ez/keymaps/twey/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										225
									
								
								keyboard/ergodox_ez/keymaps/twey/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,225 @@ | |||||||
|  | #include "ergodox_ez.h" | ||||||
|  | #include "debug.h" | ||||||
|  | #include "action_layer.h" | ||||||
|  | #include "keymap_plover.h" | ||||||
|  | 
 | ||||||
|  | #define BASE 0 // default layer
 | ||||||
|  | #define SYMB 1 // symbols
 | ||||||
|  | #define MDIA 2 // media keys
 | ||||||
|  | #define STEN 3 // steno
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|  | /* Keymap 0: Basic layer
 | ||||||
|  |  * | ||||||
|  |  * ,---------------------------------------------------.           ,---------------------------------------------------. | ||||||
|  |  * |   =    |   1  |   2  |   3  |   4   |   5  | STEN |           | NONE  |   6  |   7  |   8  |   9  |   0  |   \    | | ||||||
|  |  * |--------+------+------+------+-------+-------------|           |-------+------+------+------+------+------+--------| | ||||||
|  |  * | Del    |   '  |   ,  |   .  |   P   |   Y  |  Esc |           | Caps  |   F  |   G  |   C  |   R  |   L  |   /    | | ||||||
|  |  * |--------+------+------+------+-------+------|      |           |       |------+------+------+------+------+--------| | ||||||
|  |  * | BkSp   |   A  |   O  |   E  |   U   |   I  |------|           |-------|   D  |   H  |   T  |   N  |S / L2|- / Cmd | | ||||||
|  |  * |--------+------+------+------+-------+------|  Tab |           | Enter |------+------+------+------+------+--------| | ||||||
|  |  * | LShift |   ;  |   Q  |   J  |   K   |   X  |      |           |       |   B  |   M  |   W  |   V  |   Z  | RShift | | ||||||
|  |  * `--------+------+------+------+-------+-------------'           `--------------+------+------+------+------+--------' | ||||||
|  |  *   |Grv/L1|  '"  |AltShf| Left | Right |                                        |  Up  | Down |   [  |   ]  | ~L1  | | ||||||
|  |  *   `-----------------------------------'                                        `----------------------------------' | ||||||
|  |  *                                        ,-------------.         ,---------------. | ||||||
|  |  *                                        | PgUp | PgDn |         | Home  |  End  | | ||||||
|  |  *                                 ,------|------|------|         |-------+-------+------. | ||||||
|  |  *                                 |      |      | NONE |         | NONE  |       |      | | ||||||
|  |  *                                 | Alt  | NONE |------|         |-------| Space | Ctrl | | ||||||
|  |  *                                 |      |      | Supr |         | AltGr |       |      | | ||||||
|  |  *                                 `--------------------'         `----------------------' | ||||||
|  |  */ | ||||||
|  | // If it accepts an argument (i.e, is a function), it doesn't need KC_.
 | ||||||
|  | // Otherwise, it needs KC_*
 | ||||||
|  | [BASE] = KEYMAP(  // layer 0 : default
 | ||||||
|  |         // left hand
 | ||||||
|  |         KC_EQL,         KC_1,         KC_2,   KC_3,   KC_4,   KC_5,   M(0), | ||||||
|  |         KC_DELT,        KC_QUOT,      KC_COMM,KC_DOT, KC_P,   KC_Y,   KC_ESC, | ||||||
|  |         KC_BSPC,        KC_A,         KC_O,   KC_E,   KC_U,   KC_I, | ||||||
|  |         KC_LSFT,        KC_SCLN,      KC_Q,   KC_J,   KC_K,   KC_X,   KC_TAB, | ||||||
|  |         LT(SYMB,KC_GRV),KC_QUOT,      LALT(KC_LSFT),  KC_LEFT,KC_RGHT, | ||||||
|  |                                                       KC_PGUP,KC_PGDN, | ||||||
|  |                                                               KC_NO, | ||||||
|  |                                               KC_LALT,KC_ENT ,KC_LGUI, | ||||||
|  |         // right hand
 | ||||||
|  |              KC_NO,       KC_6,   KC_7,   KC_8,   KC_9,   KC_0,             KC_BSLS, | ||||||
|  |              KC_CAPS,     KC_F,   KC_G,   KC_C,   KC_R,   KC_L,             KC_SLSH, | ||||||
|  |                           KC_D,   KC_H,   KC_T,   KC_N,   LT(MDIA, KC_S),   GUI_T(KC_MINS), | ||||||
|  |              KC_ENT,      KC_B,   KC_M,   KC_W,   KC_V,   KC_Z   ,          KC_RSFT, | ||||||
|  |                                   KC_UP,  KC_DOWN,KC_LBRC,KC_RBRC,          KC_FN1, | ||||||
|  |              KC_HOME,KC_END, | ||||||
|  |              KC_NO, | ||||||
|  |              KC_RALT,KC_SPC,KC_RCTL | ||||||
|  |     ), | ||||||
|  | /* Keymap 1: Symbol Layer
 | ||||||
|  |  * | ||||||
|  |  * ,--------------------------------------------------.           ,--------------------------------------------------. | ||||||
|  |  * |        |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  | | ||||||
|  |  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------| | ||||||
|  |  * |        |   !  |   @  |   {  |   }  |   |  |      |           |      |   Up |   7  |   8  |   9  |   *  |   F12  | | ||||||
|  |  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------| | ||||||
|  |  * |        |   #  |   $  |   (  |   )  |   `  |------|           |------| Down |   4  |   5  |   6  |   +  |        | | ||||||
|  |  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------| | ||||||
|  |  * |        |   %  |   ^  |   [  |   ]  |   ~  |      |           |      |   &  |   1  |   2  |   3  |   \  |        | | ||||||
|  |  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------' | ||||||
|  |  *   |      |      |      |      |      |                                       |      |    . |   0  |   =  |      | | ||||||
|  |  *   `----------------------------------'                                       `----------------------------------' | ||||||
|  |  *                                        ,-------------.       ,-------------. | ||||||
|  |  *                                        |      |      |       |      |      | | ||||||
|  |  *                                 ,------|------|------|       |------+------+------. | ||||||
|  |  *                                 |      |      |      |       |      |      |      | | ||||||
|  |  *                                 |      |      |------|       |------|      |      | | ||||||
|  |  *                                 |      |      |      |       |      |      |      | | ||||||
|  |  *                                 `--------------------'       `--------------------' | ||||||
|  |  */ | ||||||
|  | // SYMBOLS
 | ||||||
|  | [SYMB] = KEYMAP( | ||||||
|  |        // left hand
 | ||||||
|  |        KC_TRNS,KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_TRNS, | ||||||
|  |        KC_TRNS,KC_EXLM,KC_AT,  KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, | ||||||
|  |        KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, | ||||||
|  |        KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, | ||||||
|  |        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | ||||||
|  |                                        KC_TRNS,KC_TRNS, | ||||||
|  |                                                KC_TRNS, | ||||||
|  |                                KC_TRNS,KC_TRNS,KC_TRNS, | ||||||
|  |        // right hand
 | ||||||
|  |        KC_TRNS, KC_F6,   KC_F7,  KC_F8,   KC_F9,   KC_F10,  KC_F11, | ||||||
|  |        KC_TRNS, KC_UP,   KC_7,   KC_8,    KC_9,    KC_ASTR, KC_F12, | ||||||
|  |                 KC_DOWN, KC_4,   KC_5,    KC_6,    KC_PLUS, KC_TRNS, | ||||||
|  |        KC_TRNS, KC_AMPR, KC_1,   KC_2,    KC_3,    KC_BSLS, KC_TRNS, | ||||||
|  |                          KC_TRNS,KC_DOT,  KC_0,    KC_EQL,  KC_TRNS, | ||||||
|  |        KC_TRNS, KC_TRNS, | ||||||
|  |        KC_TRNS, | ||||||
|  |        KC_TRNS, KC_TRNS, KC_TRNS | ||||||
|  | ), | ||||||
|  | /* Keymap 2: Media and mouse keys
 | ||||||
|  |  * | ||||||
|  |  * ,--------------------------------------------------.           ,--------------------------------------------------. | ||||||
|  |  * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        | | ||||||
|  |  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------| | ||||||
|  |  * |        |      |      | MsUp |      |      |      |           |      |      |      |      |      |      |        | | ||||||
|  |  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------| | ||||||
|  |  * |        |      |MsLeft|MsDown|MsRght|      |------|           |------|      |      |      |      |      |  Play  | | ||||||
|  |  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------| | ||||||
|  |  * |        |      |      |      |      |      |      |           |      |      |      | Prev | Next |      |        | | ||||||
|  |  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------' | ||||||
|  |  *   |      |      |      | Lclk | Rclk |                                       |VolUp |VolDn | Mute |      |      | | ||||||
|  |  *   `----------------------------------'                                       `----------------------------------' | ||||||
|  |  *                                        ,-------------.       ,-------------. | ||||||
|  |  *                                        |      |      |       |      |      | | ||||||
|  |  *                                 ,------|------|------|       |------+------+------. | ||||||
|  |  *                                 |      |      |      |       |      |      |Brwser| | ||||||
|  |  *                                 |      |      |------|       |------|      |Back  | | ||||||
|  |  *                                 |      |      |      |       |      |      |      | | ||||||
|  |  *                                 `--------------------'       `--------------------' | ||||||
|  |  */ | ||||||
|  | // MEDIA AND MOUSE
 | ||||||
|  | [MDIA] = KEYMAP( | ||||||
|  |        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||||||
|  |        KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, | ||||||
|  |        KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, | ||||||
|  |        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||||||
|  |        KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, | ||||||
|  |                                            KC_TRNS, KC_TRNS, | ||||||
|  |                                                     KC_TRNS, | ||||||
|  |                                   KC_TRNS, KC_TRNS, KC_TRNS, | ||||||
|  |     // right hand
 | ||||||
|  |        KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||||||
|  |        KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||||||
|  |                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, | ||||||
|  |        KC_TRNS,  KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, | ||||||
|  |                           KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, | ||||||
|  |        KC_TRNS, KC_TRNS, | ||||||
|  |        KC_TRNS, | ||||||
|  |        KC_TRNS, KC_TRNS, KC_WBAK | ||||||
|  | ), | ||||||
|  | 
 | ||||||
|  | [STEN] = KEYMAP(  // layout: layer 4: Steno for Plover
 | ||||||
|  |         // left hand
 | ||||||
|  |         KC_NO,  KC_NO,  KC_NO,  KC_NO,   KC_NO,  KC_NO,   KC_TRNS, | ||||||
|  |         KC_NO,  PV_NUM, PV_NUM, PV_NUM,  PV_NUM, PV_NUM,  PV_STAR, | ||||||
|  |         KC_NO,  PV_LS,  PV_LT,  PV_LP,   PV_LH,  PV_STAR, | ||||||
|  |         KC_NO,  PV_LS,  PV_LK,  PV_LW,   PV_LR,  PV_STAR, PV_STAR, | ||||||
|  |         KC_NO,  KC_NO,  KC_NO,  KC_TRNS, KC_TRNS, | ||||||
|  |                                           KC_NO, KC_NO, | ||||||
|  |                                                  KC_NO, | ||||||
|  |                                    PV_A,  PV_O,  KC_NO, | ||||||
|  |         // right hand
 | ||||||
|  |           KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO, | ||||||
|  |         PV_STAR,  PV_NUM,  PV_NUM,  PV_NUM,  PV_NUM,  PV_NUM,  PV_NUM, | ||||||
|  |                  PV_STAR,   PV_RF,   PV_RP,   PV_RL,   PV_RT,   PV_RD, | ||||||
|  |         PV_STAR, PV_STAR,   PV_RR,   PV_RB,   PV_RG,   PV_RS,   PV_RZ, | ||||||
|  |                           KC_TRNS, KC_TRNS,   KC_NO,   KC_NO,   KC_NO, | ||||||
|  |         KC_NO, KC_NO, | ||||||
|  |         KC_NO, | ||||||
|  |         KC_NO, PV_E,    PV_U | ||||||
|  | ), | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | const uint16_t PROGMEM fn_actions[] = { | ||||||
|  |     [1] = ACTION_LAYER_TAP_TOGGLE(SYMB)                // FN1 - Momentary Layer 1 (Symbols)
 | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | void toggle_steno(int pressed) | ||||||
|  | { | ||||||
|  |   uint8_t layer = biton32(layer_state); | ||||||
|  |    | ||||||
|  |   if (pressed) { | ||||||
|  |     if (layer != STEN) layer_on(STEN); else layer_off(STEN); | ||||||
|  | 
 | ||||||
|  |     register_code(PV_LS); | ||||||
|  |     register_code(PV_LH); | ||||||
|  |     register_code(PV_RF); | ||||||
|  |     register_code(PV_RT); | ||||||
|  |   } else { | ||||||
|  |     unregister_code(PV_LS); | ||||||
|  |     unregister_code(PV_LH); | ||||||
|  |     unregister_code(PV_RF); | ||||||
|  |     unregister_code(PV_RT); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | ||||||
|  | { | ||||||
|  |   // MACRODOWN only works in this function
 | ||||||
|  |       switch(id) { | ||||||
|  |         case 0: | ||||||
|  |         toggle_steno(record->event.pressed); | ||||||
|  |         break; | ||||||
|  |       } | ||||||
|  |     return MACRO_NONE; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | // Runs just one time when the keyboard initializes.
 | ||||||
|  | void matrix_init_user(void) { | ||||||
|  | 
 | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | // Runs constantly in the background, in a loop.
 | ||||||
|  | void matrix_scan_user(void) { | ||||||
|  |     uint8_t layer = biton32(layer_state); | ||||||
|  | 
 | ||||||
|  |     ergodox_board_led_off(); | ||||||
|  |     ergodox_right_led_1_off(); | ||||||
|  |     ergodox_right_led_2_off(); | ||||||
|  |     ergodox_right_led_3_off(); | ||||||
|  |     switch (layer) { | ||||||
|  |       // TODO: Make this relevant to the ErgoDox EZ.
 | ||||||
|  |         case 1: | ||||||
|  |             ergodox_right_led_1_on(); | ||||||
|  |             break; | ||||||
|  |         case 2: | ||||||
|  |             ergodox_right_led_2_on(); | ||||||
|  |             break; | ||||||
|  |         case 3: | ||||||
|  |             ergodox_right_led_3_on(); | ||||||
|  |             break; | ||||||
|  |         default: | ||||||
|  |             // none
 | ||||||
|  |             break; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | }; | ||||||
							
								
								
									
										19
									
								
								keyboard/ergodox_ez/keymaps/twey/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								keyboard/ergodox_ez/keymaps/twey/readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | |||||||
|  | # Twey's Home Configuration | ||||||
|  | ## Layers | ||||||
|  | - Layer 0: Non-ANSI Dvorak layout, with modified modifiers — all | ||||||
|  |   modifiers on thumb keys, as well as return and space. | ||||||
|  | - Layer 1: Default symbol layout. | ||||||
|  | - Layer 2: Default media/mouse layout. | ||||||
|  | - Layer 3: Plover-oriented stenography layer. | ||||||
|  | 
 | ||||||
|  | ## Unusual features | ||||||
|  | The Plover key (top right key on the left half) also sends my Plover | ||||||
|  | ‘toggle’ chord (SH-FT) when pressed, as well as toggling the steno | ||||||
|  | layer, so you can toggle between steno and typing modes with a single | ||||||
|  | keypress. | ||||||
|  | 
 | ||||||
|  | If you want to use this feature, you'll need to add: | ||||||
|  | 
 | ||||||
|  |     "SH-FT": "{PLOVER:TOGGLE}" | ||||||
|  | 
 | ||||||
|  | to your Plover dictionary. | ||||||
							
								
								
									
										
											BIN
										
									
								
								keyboard/ergodox_ez/keymaps/twey/twey.hex
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								keyboard/ergodox_ez/keymaps/twey/twey.hex
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 James ‘Twey’ Kay
						James ‘Twey’ Kay