Adding my own layouts for the Phantom and Ergodox. My Ergodox layout adds persistent layers
based on the Planck and Preonic setup. The layout arrays are pulled directly from the ergodox/ez/ez.h keymap definition starting at line 81.
This commit is contained in:
		
							parent
							
								
									78a6fae453
								
							
						
					
					
						commit
						6f700f1eb0
					
				
					 2 changed files with 378 additions and 0 deletions
				
			
		
							
								
								
									
										311
									
								
								keyboards/ergodox/keymaps/xyverz/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										311
									
								
								keyboards/ergodox/keymaps/xyverz/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,311 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * The Dvorak layout shown herestems from my early Kinesis years, using the Contour PS/2 with a Dvorak
 | 
				
			||||||
 | 
					 * software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the corner
 | 
				
			||||||
 | 
					 * keys. I've decided to continue using this layout with my ErgoDox.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * The QWERTY layout shown here is based entirely on the Kinesis Advantage layout, with the additional
 | 
				
			||||||
 | 
					 * keys as shown in the diagrams. The Colemak layout is merely an adaptation of that.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck
 | 
				
			||||||
 | 
					 * layouts.
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * For a better explanation of the layout matrices shown below, take a look at ../../ez/ez.h where the
 | 
				
			||||||
 | 
					 * keymap is defined, beginning on line 81.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "ergodox.h"
 | 
				
			||||||
 | 
					#include "debug.h"
 | 
				
			||||||
 | 
					#include "action_layer.h"
 | 
				
			||||||
 | 
					#include "eeconfig.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern keymap_config_t keymap_config;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define _DV 0 // Dvorak layer
 | 
				
			||||||
 | 
					#define _QW 1 // Qwerty layer
 | 
				
			||||||
 | 
					#define _CM 2 // Colemak layer
 | 
				
			||||||
 | 
					#define _MD 3 // Media Layer
 | 
				
			||||||
 | 
					#define _KP 4 // Keypad Layer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Macro name shortcuts
 | 
				
			||||||
 | 
					#define DVORAK M(_DV)
 | 
				
			||||||
 | 
					#define QWERTY M(_QW)
 | 
				
			||||||
 | 
					#define COLEMAK M(_CM)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					/* Keymap 0: Dvorak layer
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * ,--------------------------------------------------.           ,--------------------------------------------------.
 | 
				
			||||||
 | 
					 * |   ]    |   1  |   2  |   3  |   4  |   5  | ESC  |           | ESC  |   6  |   7  |   8  |   9  |   0  |   [    |
 | 
				
			||||||
 | 
					 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					 * | Tab    |   '  |   ,  |   .  |   Y  |   Y  |      |           |      |   F  |   G  |   C  |   R  |   L  |   \    |
 | 
				
			||||||
 | 
					 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					 * | CapsLk |   A  |   O  |   E  |   U  |   I  |------|           |------|   D  |   H  |   T  |   N  |   S  |   -    |
 | 
				
			||||||
 | 
					 * |--------+------+------+------+------+------| _MD  |           | _KP  |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					 * | LShift |   Z  |   X  |   C  |   V  |   X  |      |           |      |   B  |   M  |   W  |   V  |   Z  | RShift |
 | 
				
			||||||
 | 
					 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 | 
				
			||||||
 | 
					 *   | LGUI |   `  |  INS | Left | Rght |                                       |  Up  |  Dn  |   /  |   =  | RGUI |
 | 
				
			||||||
 | 
					 *   `----------------------------------'                                       `----------------------------------'
 | 
				
			||||||
 | 
					 *                                        ,-------------.       ,-------------.
 | 
				
			||||||
 | 
					 *                                        | LCtr | LAlt |       | Ralt | RCtr |
 | 
				
			||||||
 | 
					 *                                 ,------|------|------|       |------+------+------.
 | 
				
			||||||
 | 
					 *                                 |      |      | Home |       | PgUp |      |      |
 | 
				
			||||||
 | 
					 *                                 | BkSp | Del  |------|       |------| Enter| Space|
 | 
				
			||||||
 | 
					 *                                 |      |      | End  |       | PgDn |      |      |
 | 
				
			||||||
 | 
					 *                                 `--------------------'       `--------------------'
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					// If it accepts an argument (i.e, is a function), it doesn't need KC_.
 | 
				
			||||||
 | 
					// Otherwise, it needs KC_*
 | 
				
			||||||
 | 
					[_DV] = {  // layer 0 : Dvorak
 | 
				
			||||||
 | 
					        // left hand
 | 
				
			||||||
 | 
						{KC_RBRC, KC_TAB,  KC_CAPS, KC_LSFT, KC_LGUI, KC_NO  },
 | 
				
			||||||
 | 
						{KC_1,    KC_QUOT, KC_A,    KC_SCLN, KC_GRV,  KC_END },
 | 
				
			||||||
 | 
						{KC_2,    KC_COMM, KC_O,    KC_Q,    KC_INS,  KC_DEL },
 | 
				
			||||||
 | 
						{KC_3,    KC_DOT,  KC_E,    KC_J,    KC_LEFT, KC_BSPC},
 | 
				
			||||||
 | 
						{KC_4,    KC_P,    KC_U,    KC_K,    KC_RGHT, KC_HOME},
 | 
				
			||||||
 | 
						{KC_5,    KC_Y,    KC_I,    KC_X,    KC_NO,   KC_LCTL},
 | 
				
			||||||
 | 
						{KC_ESC,  KC_NO,   KC_NO,   MO(_MD), KC_NO,   KC_LALT},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// right hand
 | 
				
			||||||
 | 
						{KC_ESC,  KC_NO,   KC_NO,   MO(_KP), KC_NO,   KC_RALT},
 | 
				
			||||||
 | 
						{KC_6,    KC_F,    KC_D,    KC_B,    KC_NO,   KC_RCTL},
 | 
				
			||||||
 | 
						{KC_7,    KC_G,    KC_H,    KC_M,    KC_UP,   KC_PGUP},
 | 
				
			||||||
 | 
						{KC_8,    KC_C,    KC_T,    KC_W,    KC_DOWN, KC_SPC },
 | 
				
			||||||
 | 
						{KC_9,    KC_R,    KC_N,    KC_V,    KC_SLSH, KC_ENT },
 | 
				
			||||||
 | 
						{KC_0,    KC_L,    KC_S,    KC_Z,    KC_EQL,  KC_PGDN},
 | 
				
			||||||
 | 
						{KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI, KC_NO  }
 | 
				
			||||||
 | 
					},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Keymap 1: QWERTY layer
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * ,--------------------------------------------------.           ,--------------------------------------------------.
 | 
				
			||||||
 | 
					 * |   =    |   1  |   2  |   3  |   4  |   5  | ESC  |           | ESC  |   6  |   7  |   8  |   9  |   0  |   -    |
 | 
				
			||||||
 | 
					 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					 * | Tab    |   Q  |   W  |   E  |   R  |   T  |      |           |      |   Y  |   U  |   I  |   O  |   P  |   \    |
 | 
				
			||||||
 | 
					 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					 * | CapsLk |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |   ;  |   '    |
 | 
				
			||||||
 | 
					 * |--------+------+------+------+------+------| _MD  |           | _KP  |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					 * | LShift |   Z  |   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |   /  | RShift |
 | 
				
			||||||
 | 
					 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 | 
				
			||||||
 | 
					 *   | LGUI |   `  |  INS | Left | Rght |                                       |  Up  |  Dn  |   [  |   ]  | RGUI |
 | 
				
			||||||
 | 
					 *   `----------------------------------'                                       `----------------------------------'
 | 
				
			||||||
 | 
					 *                                        ,-------------.       ,-------------.
 | 
				
			||||||
 | 
					 *                                        | LCtr | LAlt |       | Ralt | RCtr |
 | 
				
			||||||
 | 
					 *                                 ,------|------|------|       |------+------+------.
 | 
				
			||||||
 | 
					 *                                 |      |      | Home |       | PgUp |      |      |
 | 
				
			||||||
 | 
					 *                                 | BkSp | Del  |------|       |------| Enter| Space|
 | 
				
			||||||
 | 
					 *                                 |      |      | End  |       | PgDn |      |      |
 | 
				
			||||||
 | 
					 *                                 `--------------------'       `--------------------'
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					// If it accepts an argument (i.e, is a function), it doesn't need KC_.
 | 
				
			||||||
 | 
					// Otherwise, it needs KC_*
 | 
				
			||||||
 | 
					[_QW] = {  // layer 1 : QWERTY
 | 
				
			||||||
 | 
					        // left hand
 | 
				
			||||||
 | 
						{KC_EQL,  KC_TAB,  KC_CAPS, KC_LSFT, KC_LGUI, KC_NO  },
 | 
				
			||||||
 | 
						{KC_1,    KC_Q,    KC_A,    KC_Z,    KC_GRV,  KC_END },
 | 
				
			||||||
 | 
						{KC_2,    KC_W,    KC_S,    KC_X,    KC_INS,  KC_DEL },
 | 
				
			||||||
 | 
						{KC_3,    KC_E,    KC_D,    KC_C,    KC_LEFT, KC_BSPC},
 | 
				
			||||||
 | 
						{KC_4,    KC_R,    KC_F,    KC_V,    KC_RGHT, KC_HOME},
 | 
				
			||||||
 | 
						{KC_5,    KC_T,    KC_G,    KC_B,    KC_NO,   KC_LCTL},
 | 
				
			||||||
 | 
						{KC_ESC,  KC_NO,   KC_NO,   MO(_MD), KC_NO,   KC_LALT},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// right hand
 | 
				
			||||||
 | 
						{KC_ESC,  KC_NO,   KC_NO,   MO(_KP), KC_NO,   KC_RALT},
 | 
				
			||||||
 | 
						{KC_6,    KC_Y,    KC_H,    KC_N,    KC_NO,   KC_RCTL},
 | 
				
			||||||
 | 
						{KC_7,    KC_U,    KC_J,    KC_M,    KC_UP,   KC_PGUP},
 | 
				
			||||||
 | 
						{KC_8,    KC_I,    KC_K,    KC_COMM, KC_DOWN, KC_SPC },
 | 
				
			||||||
 | 
						{KC_9,    KC_O,    KC_L,    KC_DOT,  KC_LBRC, KC_ENT },
 | 
				
			||||||
 | 
						{KC_0,    KC_P,    KC_SCLN, KC_SLSH, KC_RBRC, KC_PGDN},
 | 
				
			||||||
 | 
						{KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, KC_NO  }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Keymap 2: Colemak layer
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * ,--------------------------------------------------.           ,--------------------------------------------------.
 | 
				
			||||||
 | 
					 * |   =    |   1  |   2  |   3  |   4  |   5  | ESC  |           | ESC  |   6  |   7  |   8  |   9  |   0  |   -    |
 | 
				
			||||||
 | 
					 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					 * | Tab    |   Q  |   W  |   F  |   P  |   G  |      |           |      |   J  |   L  |   U  |   Y  |   ;  |   \    |
 | 
				
			||||||
 | 
					 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					 * | BkSpc  |   A  |   R  |   S  |   T  |   D  |------|           |------|   H  |   N  |   E  |   I  |   O  |   '    |
 | 
				
			||||||
 | 
					 * |--------+------+------+------+------+------| _MD  |           | _KP  |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					 * | LShift |   Z  |   X  |   C  |   V  |   B  |      |           |      |   K  |   M  |   ,  |   .  |   /  | RShift |
 | 
				
			||||||
 | 
					 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 | 
				
			||||||
 | 
					 *   | LGUI |   `  |  INS | Left | Rght |                                       |  Up  |  Dn  |   [  |   ]  | RGUI |
 | 
				
			||||||
 | 
					 *   `----------------------------------'                                       `----------------------------------'
 | 
				
			||||||
 | 
					 *                                        ,-------------.       ,-------------.
 | 
				
			||||||
 | 
					 *                                        | LCtr | LAlt |       | Ralt | RCtr |
 | 
				
			||||||
 | 
					 *                                 ,------|------|------|       |------+------+------.
 | 
				
			||||||
 | 
					 *                                 |      |      | Home |       | PgUp |      |      |
 | 
				
			||||||
 | 
					 *                                 | BkSp | Del  |------|       |------| Enter| Space|
 | 
				
			||||||
 | 
					 *                                 |      |      | End  |       | PgDn |      |      |
 | 
				
			||||||
 | 
					 *                                 `--------------------'       `--------------------'
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					// If it accepts an argument (i.e, is a function), it doesn't need KC_.
 | 
				
			||||||
 | 
					// Otherwise, it needs KC_*
 | 
				
			||||||
 | 
					[_CM] = {  // layer 2 : Colemak
 | 
				
			||||||
 | 
					        // left hand
 | 
				
			||||||
 | 
						{KC_EQL,  KC_TAB,  KC_BSPC, KC_LSFT, KC_LGUI, KC_NO  },
 | 
				
			||||||
 | 
						{KC_1,    KC_Q,    KC_A,    KC_Z,    KC_GRV,  KC_END },
 | 
				
			||||||
 | 
						{KC_2,    KC_W,    KC_R,    KC_X,    KC_INS,  KC_DEL },
 | 
				
			||||||
 | 
						{KC_3,    KC_F,    KC_S,    KC_C,    KC_LEFT, KC_BSPC},
 | 
				
			||||||
 | 
						{KC_4,    KC_P,    KC_T,    KC_V,    KC_RGHT, KC_HOME},
 | 
				
			||||||
 | 
						{KC_5,    KC_G,    KC_D,    KC_B,    KC_NO,   KC_LCTL},
 | 
				
			||||||
 | 
						{KC_ESC,  KC_NO,   KC_NO,   MO(_MD), KC_NO,   KC_LALT},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// right hand
 | 
				
			||||||
 | 
						{KC_ESC,  KC_NO,   KC_NO,   MO(_KP), KC_NO,   KC_RALT},
 | 
				
			||||||
 | 
						{KC_6,    KC_J,    KC_H,    KC_K,    KC_NO,   KC_RCTL},
 | 
				
			||||||
 | 
						{KC_7,    KC_L,    KC_N,    KC_M,    KC_UP,   KC_PGUP},
 | 
				
			||||||
 | 
						{KC_8,    KC_U,    KC_E,    KC_COMM, KC_DOWN, KC_SPC },
 | 
				
			||||||
 | 
						{KC_9,    KC_Y,    KC_I,    KC_DOT,  KC_LBRC, KC_ENT },
 | 
				
			||||||
 | 
						{KC_0,    KC_SCLN, KC_O,    KC_SLSH, KC_RBRC, KC_PGDN},
 | 
				
			||||||
 | 
						{KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, KC_NO  }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Keymap 3: Symbol Layer
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * ,--------------------------------------------------.           ,--------------------------------------------------.
 | 
				
			||||||
 | 
					 * | TEENSY |  F1  |  F2  |  F3  |  F4  |  F5  | F11  |           |  F12 |  F6  |  F7  |  F8  |  F9  |  F10 |        |
 | 
				
			||||||
 | 
					 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					 * |        |      | PrSc | ScLk | Paus |      | FN4  |           |  FN5 |      | Mute | Vol- | Vol+ |      |        |
 | 
				
			||||||
 | 
					 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					 * |        |      |      |      |      |      |------|           |------| Stop | Prev | Play | Next | Sel  |        |
 | 
				
			||||||
 | 
					 * |--------+------+------+------+------+------| FN4  |           |  FN5 |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					 * |        |      |Dvorak|Qwerty|Colemk|      |      |           |      |      |      |      |      |      |        |
 | 
				
			||||||
 | 
					 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 | 
				
			||||||
 | 
					 *   |      |      |      |      |      |                                       |      |      |      |      |      |
 | 
				
			||||||
 | 
					 *   `----------------------------------'                                       `----------------------------------'
 | 
				
			||||||
 | 
					 *                                        ,-------------.       ,-------------.
 | 
				
			||||||
 | 
					 *                                        |      |      |       |      |      |
 | 
				
			||||||
 | 
					 *                                 ,------|------|------|       |------+------+------.
 | 
				
			||||||
 | 
					 *                                 |      |      |      |       |      |      |      |
 | 
				
			||||||
 | 
					 *                                 |      |      |------|       |------|      |      |
 | 
				
			||||||
 | 
					 *                                 |      |      |      |       |      |      |      |
 | 
				
			||||||
 | 
					 *                                 `--------------------'       `--------------------'
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					// Media Layer
 | 
				
			||||||
 | 
					[_MD] = { // layer 3 : Media layer
 | 
				
			||||||
 | 
					        // left hand
 | 
				
			||||||
 | 
						{RESET,   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO  },
 | 
				
			||||||
 | 
						{KC_F1,   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
 | 
				
			||||||
 | 
						{KC_F2,   KC_PSCR, KC_TRNS, DVORAK,  KC_TRNS, KC_TRNS},
 | 
				
			||||||
 | 
						{KC_F3,   KC_SLCK, KC_TRNS, QWERTY,  KC_TRNS, KC_TRNS},
 | 
				
			||||||
 | 
						{KC_F4,   KC_PAUS, KC_TRNS, COLEMAK, KC_TRNS, KC_TRNS},
 | 
				
			||||||
 | 
						{KC_F5,   KC_TRNS, KC_TRNS, KC_TRNS, KC_NO,   KC_TRNS},
 | 
				
			||||||
 | 
						{KC_F11,  KC_NO,   KC_NO,   KC_TRNS, KC_NO,   KC_TRNS},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// right hand
 | 
				
			||||||
 | 
						{KC_F12,  KC_NO,   KC_NO,   KC_TRNS, KC_NO,   KC_TRNS},
 | 
				
			||||||
 | 
						{KC_F6,   KC_TRNS, KC_MSTP, KC_TRNS, KC_NO,   KC_TRNS},
 | 
				
			||||||
 | 
						{KC_F7,   KC_MUTE, KC_MPRV, KC_TRNS, KC_TRNS, KC_TRNS},
 | 
				
			||||||
 | 
						{KC_F8,   KC_VOLD, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS},
 | 
				
			||||||
 | 
						{KC_F9,   KC_VOLU, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS},
 | 
				
			||||||
 | 
						{KC_F10,  KC_TRNS, KC_MSEL, KC_TRNS, KC_TRNS, KC_TRNS},
 | 
				
			||||||
 | 
						{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO  }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Keymap 4: Keypad layer
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * ,--------------------------------------------------.           ,--------------------------------------------------.
 | 
				
			||||||
 | 
					 * | Power  |      |      |      |      |      |      |           |      |      | NmLk | KP / | KP * | KP - |        |
 | 
				
			||||||
 | 
					 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					 * | Sleep  |      |      |      |      |      | FN5  |           |  FN4 |      | KP 7 | KP 8 | KP 9 | KP + |        |
 | 
				
			||||||
 | 
					 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					 * | Wake   |      |      |      |      |      |------|           |------|      | KP 4 | KP 5 | KP 6 | KP + |        |
 | 
				
			||||||
 | 
					 * |--------+------+------+------+------+------| FN5  |           |  FN4 |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					 * |        |      |      |      |      |      |      |           |      |      | KP 1 | KP 2 | KP 3 |KP Ent|        |
 | 
				
			||||||
 | 
					 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 | 
				
			||||||
 | 
					 *   |      |      |      |      |      |                                       | KP 0 |      | KP . |KP Ent|      |
 | 
				
			||||||
 | 
					 *   `----------------------------------'                                       `----------------------------------'
 | 
				
			||||||
 | 
					 *                                        ,-------------.       ,-------------.
 | 
				
			||||||
 | 
					 *                                        |      |      |       |      |      |
 | 
				
			||||||
 | 
					 *                                 ,------|------|------|       |------+------+------.
 | 
				
			||||||
 | 
					 *                                 |      |      |      |       |      |      |      |
 | 
				
			||||||
 | 
					 *                                 |      |      |------|       |------|      |      |
 | 
				
			||||||
 | 
					 *                                 |      |      |      |       |      |      |      |
 | 
				
			||||||
 | 
					 *                                 `--------------------'       `--------------------'
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					// Keypad Layer
 | 
				
			||||||
 | 
					[_KP] = { // layer 4 : Keypad layer
 | 
				
			||||||
 | 
					        // left hand
 | 
				
			||||||
 | 
						{KC_PWR,  KC_SLEP, KC_WAKE, KC_TRNS, KC_TRNS, KC_NO  },
 | 
				
			||||||
 | 
						{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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
 | 
				
			||||||
 | 
						{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO,   KC_TRNS},
 | 
				
			||||||
 | 
						{KC_TRNS, KC_NO,   KC_NO,   KC_TRNS, KC_NO,   KC_TRNS},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// right hand
 | 
				
			||||||
 | 
						{KC_TRNS, KC_NO,   KC_NO,   KC_TRNS, KC_NO,   KC_TRNS},
 | 
				
			||||||
 | 
						{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO,   KC_TRNS},
 | 
				
			||||||
 | 
						{KC_NLCK, KC_P7,   KC_P4,   KC_P1,   KC_P0,   KC_TRNS},
 | 
				
			||||||
 | 
						{KC_PSLS, KC_P8,   KC_P5,   KC_P2,   KC_NO,   KC_TRNS},
 | 
				
			||||||
 | 
						{KC_PAST, KC_P9,   KC_P6,   KC_P3,   KC_PDOT, KC_TRNS},
 | 
				
			||||||
 | 
						{KC_PMNS, KC_PPLS, KC_PPLS, KC_PENT, KC_PENT, KC_TRNS},
 | 
				
			||||||
 | 
						{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO,   KC_NO  }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM fn_actions[] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void persistant_default_layer_set(uint16_t default_layer) {
 | 
				
			||||||
 | 
					  eeconfig_update_default_layer(default_layer);
 | 
				
			||||||
 | 
					  default_layer_set(default_layer);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					      switch(id) {
 | 
				
			||||||
 | 
					        case _DV:
 | 
				
			||||||
 | 
					          if (record->event.pressed) {
 | 
				
			||||||
 | 
					            persistant_default_layer_set(1UL<<_DV);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					        case _QW:
 | 
				
			||||||
 | 
					          if (record->event.pressed) {
 | 
				
			||||||
 | 
					            persistant_default_layer_set(1UL<<_QW);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					        case _CM:
 | 
				
			||||||
 | 
					          if (record->event.pressed) {
 | 
				
			||||||
 | 
					            persistant_default_layer_set(1UL<<_CM);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          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;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					            // none
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										67
									
								
								keyboards/phantom/keymaps/xyverz/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								keyboards/phantom/keymaps/xyverz/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,67 @@
 | 
				
			||||||
 | 
					#include "phantom.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 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 _BL 0
 | 
				
			||||||
 | 
					#define _FL 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					  /* Keymap _BL: (Base Layer) Default Layer
 | 
				
			||||||
 | 
					   * ,-----------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					   * |Esc  |f1| f2| f3| f4|  | f5| f6| f7| f8|   | f9|f10|f11|f12|	|Prnt|ScLk|Paus|
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|	|--------------|
 | 
				
			||||||
 | 
					   * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |  0| - | = |Backsp |	| Ins|Home|PgUp|
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|	|--------------|
 | 
				
			||||||
 | 
					   * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \|	| Del| End|PgDn|
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|	`--------------'
 | 
				
			||||||
 | 
					   * |CAPS   |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Return |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|		 ,----.
 | 
				
			||||||
 | 
					   * |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift     |		 | Up |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|	 ,-------------.
 | 
				
			||||||
 | 
					   * |Ctrl|Gui |Alt |      Space            |ALT |GUI |_FL |CTRL |	 |Lft| Dn |Rig |
 | 
				
			||||||
 | 
					   * `-----------------------------------------------------------'	 `-------------'
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					[_BL] = KEYMAP(
 | 
				
			||||||
 | 
					  KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \
 | 
				
			||||||
 | 
					  KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \
 | 
				
			||||||
 | 
					  KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_DELETE, KC_END, KC_PGDN, \
 | 
				
			||||||
 | 
					  KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT,  \
 | 
				
			||||||
 | 
					  KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, \
 | 
				
			||||||
 | 
					  KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* Keymap _FL: Function Layer
 | 
				
			||||||
 | 
					   * ,-----------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					   * |RESET|  |   |   |   |  |   |   |   |   |   |   |   |   |   |	|    |    |    |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|	|--------------|
 | 
				
			||||||
 | 
					   * |   |   |   |   |   |   |   |   |   |   |   |   |   |       |	|    |    |    |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|	|--------------|
 | 
				
			||||||
 | 
					   * |     |   |   |   |   |   |   |   |   |   |   |   |   |     |	|    |    |    |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|	`--------------'
 | 
				
			||||||
 | 
					   * |       |   |   |   |   |   |   |   |   |   |   |   |       |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|		 ,----.
 | 
				
			||||||
 | 
					   * |        | F1| F2| F3| F4| F5|F6 |F7 |F8 |   |   |          |		 |    |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|	 ,-------------.
 | 
				
			||||||
 | 
					   * |    |    |    |                       |    |    |    |     |	 |   |    |    |
 | 
				
			||||||
 | 
					   * `-----------------------------------------------------------'	 `-------------'
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					[_FL] = KEYMAP(
 | 
				
			||||||
 | 
					  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_SLEP, \
 | 
				
			||||||
 | 
					  RESET,  KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_MUTE,KC_VOLD,KC_VOLU,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_MSTP,KC_MPLY,KC_MPRV,KC_MNXT,KC_MSEL,	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_CALC,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,	  KC_CAPS,		KC_TRNS,      \
 | 
				
			||||||
 | 
					  KC_TRNS,KC_TRNS,KC_TRNS,			  KC_TRNS,			  KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,	KC_TRNS,KC_TRNS,KC_TRNS)
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum function_id {
 | 
				
			||||||
 | 
					    SHIFT_ESC,
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM fn_actions[] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue