Keymap: Updated my(194h) keymap to make it more clean and useful (#4236)
* Added my(194h) atreus62 keymap * Fixed what noroadsleft remarked in my pull request, hopefully got it all. * Followed drashna's suggestion. * Removed unused functionality from my keymap, added tap dance æøå and changed Layer 1 and Layer 2 * Removed unused functionality from my keymap, added tap dance æøå and changed Layer 1 and Layer 2
This commit is contained in:
		
							parent
							
								
									a5b10e5da2
								
							
						
					
					
						commit
						ffb2557a3a
					
				| @ -39,6 +39,7 @@ | |||||||
| //Norwegian layout - dependant on previous definitions
 | //Norwegian layout - dependant on previous definitions
 | ||||||
| #define  NO_UNDS  LSFT(NO_MINS)  //  _
 | #define  NO_UNDS  LSFT(NO_MINS)  //  _
 | ||||||
| #define  NO_QUES  LSFT(NO_PLUS)  //  ?
 | #define  NO_QUES  LSFT(NO_PLUS)  //  ?
 | ||||||
|  | #define  NO_ACUT  RALT(NO_BSLS)  //  Acute
 | ||||||
| #define  NO_GRAV  LSFT(NO_BSLS)  //  `
 | #define  NO_GRAV  LSFT(NO_BSLS)  //  `
 | ||||||
| #define  NO_GT    LSFT(NO_LT)    //  >
 | #define  NO_GT    LSFT(NO_LT)    //  >
 | ||||||
| #define  NO_HALF  RALT(NO_LT)    //  ½
 | #define  NO_HALF  RALT(NO_LT)    //  ½
 | ||||||
| @ -56,6 +57,9 @@ | |||||||
| #define OSM_RSFT OSM(MOD_RSFT) | #define OSM_RSFT OSM(MOD_RSFT) | ||||||
| #define OSM_RGUI OSM(MOD_RGUI) | #define OSM_RGUI OSM(MOD_RGUI) | ||||||
| 
 | 
 | ||||||
|  | //CTRL on hold, ESC on tap
 | ||||||
|  | #define CTL_ESC CTL_T(KC_ESC) | ||||||
|  | 
 | ||||||
| //Layers
 | //Layers
 | ||||||
| #define L1 0 | #define L1 0 | ||||||
| #define L2 1 | #define L2 1 | ||||||
| @ -63,23 +67,51 @@ | |||||||
| #define L4 3 | #define L4 3 | ||||||
| #define L5 4 | #define L5 4 | ||||||
| 
 | 
 | ||||||
|  | // Momentary switch to layer 
 | ||||||
|  | #define MO_L2 MO(L2) | ||||||
|  | #define MO_L4 MO(L4) | ||||||
|  | #define MO_L5 MO(L5) | ||||||
| // Momentary switch to layer - One Shot Layer
 | // Momentary switch to layer - One Shot Layer
 | ||||||
|  | #define OSL_L2 OSL(L2) | ||||||
| #define OSL_L3 OSL(L3) | #define OSL_L3 OSL(L3) | ||||||
| #define OSL_L4 OSL(L4) | #define OSL_L4 OSL(L4) | ||||||
| 
 | 
 | ||||||
|  | //Tap Dance Declarations
 | ||||||
|  | enum { | ||||||
|  |   SCLN_OE = 0, | ||||||
|  |   QUOT_AE, | ||||||
|  |   DQT_AO | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | //Tap Dance Definitions
 | ||||||
|  | qk_tap_dance_action_t tap_dance_actions[] = { | ||||||
|  |   //Tap once for semicolon, twice for ø
 | ||||||
|  |   [SCLN_OE] = ACTION_TAP_DANCE_DOUBLE(NO_SCLN, NO_OE), | ||||||
|  |   //Tap once for single quote, twice for æ
 | ||||||
|  |   [QUOT_AE] = ACTION_TAP_DANCE_DOUBLE(NO_QUOT, NO_AE), | ||||||
|  |   //Tap once for double quote, twice for å
 | ||||||
|  |   [DQT_AO] = ACTION_TAP_DANCE_DOUBLE(NO_DQT, NO_AO), | ||||||
|  | // Other declarations would go here, separated by commas, if you have them
 | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | //Tap Dance keys
 | ||||||
|  | #define TD_SCLN_OE TD(SCLN_OE) | ||||||
|  | #define TD_QUOT_AE TD(QUOT_AE) | ||||||
|  | #define TD_DQT_AO TD(DQT_AO) | ||||||
|  | 
 | ||||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
| 
 | 
 | ||||||
|   [L1] = LAYOUT( |   [L1] = LAYOUT( | ||||||
| 	KC_LGUI,       KC_1,         KC_2,         KC_3,         KC_4,         KC_5,                                     KC_6,         KC_7,         KC_8,         KC_9,         KC_0,         KC_RGUI, | 	KC_LGUI,       KC_1,         KC_2,         KC_3,         KC_4,         KC_5,                                     KC_6,         KC_7,         KC_8,         KC_9,         KC_0,         KC_RGUI, | ||||||
| 	KC_TAB,        KC_Q,         KC_W,         KC_E,         KC_R,         KC_T,                                     KC_Y,         KC_U,         KC_I,         KC_O,         KC_P,         NO_DQT, | 	KC_TAB,        KC_Q,         KC_W,         KC_E,         KC_R,         KC_T,                                     KC_Y,         KC_U,         KC_I,         KC_O,         KC_P,         TD_DQT_AO, | ||||||
| 	KC_BSPC,       KC_A,         KC_S,         KC_D,         KC_F,         KC_G,                                     KC_H,         KC_J,         KC_K,         KC_L,         NO_SCLN,      NO_QUOT, | 	KC_BSPC,       KC_A,         KC_S,         KC_D,         KC_F,         KC_G,                                     KC_H,         KC_J,         KC_K,         KC_L,         TD_SCLN_OE,   TD_QUOT_AE, | ||||||
| 	OSM_LSFT,      KC_Z,         KC_X,         KC_C,         KC_V,         KC_B,                                     KC_N,         KC_M,         KC_COMM,      KC_DOT,       NO_MINS,      OSM_RSFT, | 	OSM_LSFT,      KC_Z,         KC_X,         KC_C,         KC_V,         KC_B,                                     KC_N,         KC_M,         KC_COMM,      KC_DOT,       NO_MINS,      OSM_RSFT, | ||||||
| 	CTL_T(KC_ESC), MO(L5),       KC_LEAD,      OSM_LALT,     MO(L4),       OSL_L3,       KC_SPC,       KC_ENT,       OSL_L3,       MO(L4),       OSM_RALT,     NO_EQL,       NO_PLUS,      KC_RCTL | 	CTL_ESC,       MO_L5,        KC_TAB,       OSM_LALT,     MO_L4,        OSL_L3,       KC_SPC,       KC_ENT,       OSL_L3,       MO_L4,        OSM_LALT,     NO_EQL,       NO_PLUS,      KC_RCTL | ||||||
|   ), |   ), | ||||||
|   [L2] = LAYOUT( |   [L2] = LAYOUT( | ||||||
| 	_______,       _______,      _______,      _______,      _______,      _______,                                  _______,      _______,      _______,      _______,      _______,      _______, | 	_______,       _______,      _______,      _______,      _______,      _______,                                  _______,      _______,      _______,      _______,      _______,      _______, | ||||||
| 	_______,       _______,      _______,      _______,      _______,      _______,                                  _______,      _______,      _______,      _______,      _______,      NO_AO, | 	_______,       _______,      _______,      _______,      _______,      _______,                                  _______,      _______,      _______,      _______,      _______,      NO_DQT, | ||||||
| 	_______,       _______,      _______,      _______,      _______,      _______,                                  _______,      _______,      _______,      _______,      NO_OE,        NO_AE, | 	_______,       _______,      _______,      _______,      _______,      _______,                                  _______,      _______,      _______,      _______,      NO_SCLN,      NO_QUOT, | ||||||
| 	_______,       _______,      _______,      _______,      _______,      _______,                                  _______,      _______,      _______,      _______,      _______,      _______, | 	_______,       _______,      _______,      _______,      _______,      _______,                                  _______,      _______,      _______,      _______,      _______,      _______, | ||||||
| 	_______,       _______,      _______,      _______,      _______,      _______,      _______,      _______,      _______,      _______,      _______,      _______,      _______,      _______        | 	_______,       _______,      _______,      _______,      _______,      _______,      _______,      _______,      _______,      _______,      _______,      _______,      _______,      _______        | ||||||
|   ), |   ), | ||||||
| @ -95,66 +127,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||||||
| 	XXXXXXX,       KC_F6,        KC_F7,        KC_F8,        KC_F9,        KC_F10,                                   KC_HOME,      KC_PGDN,      KC_PGUP,      KC_END,       XXXXXXX,      XXXXXXX, | 	XXXXXXX,       KC_F6,        KC_F7,        KC_F8,        KC_F9,        KC_F10,                                   KC_HOME,      KC_PGDN,      KC_PGUP,      KC_END,       XXXXXXX,      XXXXXXX, | ||||||
| 	_______,       KC_F11,       KC_F12,       KC_F13,       KC_F14,       KC_F15,                                   KC_LEFT,      KC_DOWN,      KC_UP,        KC_RIGHT,     XXXXXXX,      KC_DEL, | 	_______,       KC_F11,       KC_F12,       KC_F13,       KC_F14,       KC_F15,                                   KC_LEFT,      KC_DOWN,      KC_UP,        KC_RIGHT,     XXXXXXX,      KC_DEL, | ||||||
| 	XXXXXXX,       KC_F16,       KC_F17,       KC_F18,       KC_F19,       KC_F20,                                   XXXXXXX,      KC_APP,       XXXXXXX,      XXXXXXX,      KC_VOLD,      XXXXXXX, | 	XXXXXXX,       KC_F16,       KC_F17,       KC_F18,       KC_F19,       KC_F20,                                   XXXXXXX,      KC_APP,       XXXXXXX,      XXXXXXX,      KC_VOLD,      XXXXXXX, | ||||||
| 	OSM_LCTL,      _______,      XXXXXXX,      _______,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      KC_MUTE,      KC_VOLU,      OSM_RCTL | 	OSM_LCTL,      _______,      XXXXXXX,      _______,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      OSM_RALT,     KC_MUTE,      KC_VOLU,      OSM_RCTL | ||||||
|   ), |   ), | ||||||
|   [L5] = LAYOUT( |   [L5] = LAYOUT( | ||||||
| 	XXXXXXX,       TO(L1),       TO(L2),       TO(L3),       TO(L4),       XXXXXXX,                                  XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX, | 	XXXXXXX,       TO(L1),       TO(L2),       TO(L3),       TO(L4),       XXXXXXX,                                  XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX, | ||||||
| 	XXXXXXX,       XXXXXXX,      XXXXXXX,      XXXXXXX,      RESET,        XXXXXXX,                                  XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      NO_AO,   | 	XXXXXXX,       XXXXXXX,      XXXXXXX,      XXXXXXX,      RESET,        XXXXXXX,                                  XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX, | ||||||
| 	XXXXXXX,       XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,                                  XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      NO_OE,        NO_AE,   | 	XXXXXXX,       XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,                                  XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX, | ||||||
| 	XXXXXXX,       XXXXXXX,      XXXXXXX,      KC_CAPS,      XXXXXXX,      XXXXXXX,                                  XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX, | 	XXXXXXX,       XXXXXXX,      XXXXXXX,      KC_CAPS,      XXXXXXX,      XXXXXXX,                                  XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX, | ||||||
| 	XXXXXXX,       _______,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX | 	XXXXXXX,       _______,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX | ||||||
|   ) |   ) | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | //TODO: Is there productivity gain in the use of unicode?
 | ||||||
| // Unicode Linux
 | //	- Won't work in xterm.
 | ||||||
| void matrix_init_user(void) { | //	Create a layer for macros and/or unicode?
 | ||||||
|   set_unicode_input_mode(UC_LNX); | //	Are macros useful?
 | ||||||
| }; | //	- Found no gain in having sendstring for commands.
 | ||||||
| 
 | //	- Find repeated tasks that cannot be done easily on the OS.
 | ||||||
| 
 | //	- Most other keymaps have macros for game/fun stuff, hard to find "serious" onces.
 | ||||||
| #define TAP_ONCE(code)  \ | //	Screw Norwegian layout, switch to US with unicode æøå or US/English International?
 | ||||||
|   register_code (code); \ | //	- Will be different from laptop keyboard, requiring a switch on the OS side when only using the laptop.
 | ||||||
|   unregister_code (code) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| LEADER_EXTERNS(); |  | ||||||
| 
 |  | ||||||
| // Runs constantly in the background, in a loop. Only supports basic keycodes.
 |  | ||||||
| void matrix_scan_user(void) { |  | ||||||
|   LEADER_DICTIONARY() { |  | ||||||
|     leading = false; |  | ||||||
|     leader_end(); |  | ||||||
| 
 |  | ||||||
|     //probably useless in practice, but cool
 |  | ||||||
|     SEQ_ONE_KEY (KC_P) { |  | ||||||
|       tap_random_base64(); |  | ||||||
|       tap_random_base64(); |  | ||||||
|       tap_random_base64(); |  | ||||||
|       tap_random_base64(); |  | ||||||
|       tap_random_base64(); |  | ||||||
|       tap_random_base64(); |  | ||||||
|       tap_random_base64(); |  | ||||||
|       tap_random_base64(); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     SEQ_ONE_KEY (KC_G) { |  | ||||||
|       SEND_STRING("grep something !"); |  | ||||||
|       register_code(KC_RALT); |  | ||||||
|       TAP_ONCE(KC_4); |  | ||||||
|       unregister_code(KC_RALT); |  | ||||||
|     } |  | ||||||
|     SEQ_ONE_KEY (KC_T) { |  | ||||||
|       SEND_STRING("tail ");  |  | ||||||
|       TAP_ONCE(KC_SLSH); |  | ||||||
|       SEND_STRING("f !"); |  | ||||||
|       register_code(KC_RALT); |  | ||||||
|       TAP_ONCE(KC_4); |  | ||||||
|       unregister_code(KC_RALT); |  | ||||||
|     } |  | ||||||
|     SEQ_ONE_KEY (KC_S) { |  | ||||||
|       SEND_STRING("sudo !!"); |  | ||||||
|       TAP_ONCE(KC_ENT); |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|  | |||||||
| @ -1,8 +1,7 @@ | |||||||
| TAP_DANCE_ENABLE = no | TAP_DANCE_ENABLE = yes | ||||||
| NKRO_ENABLE = true | NKRO_ENABLE = true | ||||||
| MOUSEKEY_ENABLE = no | MOUSEKEY_ENABLE = no | ||||||
| EXTRAKEY_ENABLE = yes | EXTRAKEY_ENABLE = yes | ||||||
| CONSOLE_ENABLE = no | CONSOLE_ENABLE = no | ||||||
| KEY_LOCK_ENABLE = no  | KEY_LOCK_ENABLE = no  | ||||||
| AUTO_SHIFT_ENABLE = no | LEADER_ENABLE = no | ||||||
| LEADER_ENABLE = yes |  | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user