Added compatibility for the Infinity ErgoDox to my Ergodox keymap.

Updated readme.md to reflect this change.
This commit is contained in:
Xyverz 2016-08-18 22:43:31 -07:00
parent aa37a57e0f
commit ed1291bfbd
2 changed files with 178 additions and 53 deletions

View file

@ -1,7 +1,7 @@
/*
* PLEASE NOTE: This keymap will NOT work with the Infinity ErgoDox due to the fact that the mappings are
* based on the Matrix Layout in the ez.h file. If you want to use this for the infinity, you'll need to
* figure out where the keys are in the matrix and redo the layout arrays below.
* PLEASE NOTE: This keymap has been updated to work with the Infinity ErgoDox. To build for the Infinity,
* simply append `SUBPROJECT=infinity` to the end of your `make` statement. This keymap file is untested
* on the Infinity ErgoDox.
*
* About this keymap:
*
@ -38,6 +38,11 @@ extern keymap_config_t keymap_config;
#define QWERTY M(_QW)
#define COLEMAK M(_CM)
// Fillers to make layering more clear
#define _______ KC_TRNS
#define XXXXXXX KC_NO
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_DV] = { // layer 0 : Dvorak
@ -62,24 +67,48 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `--------------------' `--------------------'
*
*/
#ifdef SUBPROJECT_infinity // Infinity Ergodox
// left hand
{XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, KC_HOME},
{XXXXXXX, XXXXXXX, XXXXXXX, KC_LCTL, KC_END },
{KC_6, MO(_KP), XXXXXXX, MO(_MD), KC_DEL },
{KC_5, KC_Y, KC_I, KC_X, KC_BSPC},
{KC_4, KC_P, KC_U, KC_K, KC_RGHT},
{KC_3, KC_DOT, KC_E, KC_J, KC_LEFT},
{KC_2, KC_COMM, KC_O, KC_Q, KC_INS },
{KC_1, KC_QUOT, KC_A, KC_SCLN, KC_GRV },
{KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI},
//Right Hand
{XXXXXXX, XXXXXXX, XXXXXXX, KC_RALT, KC_PGUP},
{XXXXXXX, XXXXXXX, XXXXXXX, KC_RCTL, KC_PGDN},
{KC_ESC, MO(_MD), XXXXXXX, MO(_KP), KC_ENT },
{KC_6, KC_F, KC_D, KC_B, KC_SPC },
{KC_7, KC_G, KC_H, KC_M, KC_UP },
{KC_8, KC_C, KC_T, KC_W, KC_DOWN},
{KC_9, KC_R, KC_N, KC_V, KC_SLSH},
{KC_0, KC_L, KC_S, KC_Z, KC_EQL },
{KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI}
#else // Ergodox and Ergodox EZ
// left hand
{KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, KC_NO },
{KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, XXXXXXX},
{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},
{KC_5, KC_Y, KC_I, KC_X, XXXXXXX, KC_LCTL},
{KC_ESC, XXXXXXX, XXXXXXX, MO(_MD), XXXXXXX, 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_ESC, XXXXXXX, XXXXXXX, MO(_KP), XXXXXXX, KC_RALT},
{KC_6, KC_F, KC_D, KC_B, XXXXXXX, 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 }
},
{KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI, XXXXXXX}
#endif
},
[_QW] = { // layer 1 : QWERTY
@ -103,23 +132,47 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | End | | PgDn | | |
* `--------------------' `--------------------'
*/
#ifdef SUBPROJECT_infinity // Infinity Ergodox
// left hand
{XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, KC_HOME},
{XXXXXXX, XXXXXXX, XXXXXXX, KC_LCTL, KC_END },
{KC_6, MO(_KP), XXXXXXX, MO(_MD), KC_DEL },
{KC_5, KC_Y, KC_I, KC_X, KC_BSPC},
{KC_4, KC_P, KC_U, KC_K, KC_RGHT},
{KC_3, KC_DOT, KC_E, KC_J, KC_LEFT},
{KC_2, KC_COMM, KC_O, KC_Q, KC_INS },
{KC_1, KC_QUOT, KC_A, KC_SCLN, KC_GRV },
{KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI},
//Right Hand
{XXXXXXX, XXXXXXX, XXXXXXX, KC_RALT, KC_PGUP},
{XXXXXXX, XXXXXXX, XXXXXXX, KC_RCTL, KC_PGDN},
{KC_ESC, MO(_MD), XXXXXXX, MO(_KP), KC_ENT },
{KC_6, KC_F, KC_D, KC_B, KC_SPC },
{KC_7, KC_G, KC_H, KC_M, KC_UP },
{KC_8, KC_C, KC_T, KC_W, KC_DOWN},
{KC_9, KC_R, KC_N, KC_V, KC_SLSH},
{KC_0, KC_L, KC_S, KC_Z, KC_EQL },
{KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI}
#else // Ergodox and Ergodox EZ
// left hand
{KC_EQL, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, KC_NO },
{KC_EQL, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, XXXXXXX},
{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},
{KC_5, KC_T, KC_G, KC_B, XXXXXXX, KC_LCTL},
{KC_ESC, XXXXXXX, XXXXXXX, MO(_MD), XXXXXXX, 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_ESC, XXXXXXX, XXXXXXX, MO(_KP), XXXXXXX, KC_RALT},
{KC_6, KC_Y, KC_H, KC_N, XXXXXXX, 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 }
{KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, XXXXXXX}
#endif
},
@ -144,23 +197,47 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | End | | PgDn | | |
* `--------------------' `--------------------'
*/
#ifdef SUBPROJECT_infinity // Infinity Ergodox
// left hand
{XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, KC_HOME},
{XXXXXXX, XXXXXXX, XXXXXXX, KC_LCTL, KC_END },
{KC_6, MO(_KP), XXXXXXX, MO(_MD), KC_DEL },
{KC_5, KC_Y, KC_I, KC_X, KC_BSPC},
{KC_4, KC_P, KC_U, KC_K, KC_RGHT},
{KC_3, KC_DOT, KC_E, KC_J, KC_LEFT},
{KC_2, KC_COMM, KC_O, KC_Q, KC_INS },
{KC_1, KC_QUOT, KC_A, KC_SCLN, KC_GRV },
{KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI},
//Right Hand
{XXXXXXX, XXXXXXX, XXXXXXX, KC_RALT, KC_PGUP},
{XXXXXXX, XXXXXXX, XXXXXXX, KC_RCTL, KC_PGDN},
{KC_ESC, MO(_MD), XXXXXXX, MO(_KP), KC_ENT },
{KC_6, KC_F, KC_D, KC_B, KC_SPC },
{KC_7, KC_G, KC_H, KC_M, KC_UP },
{KC_8, KC_C, KC_T, KC_W, KC_DOWN},
{KC_9, KC_R, KC_N, KC_V, KC_SLSH},
{KC_0, KC_L, KC_S, KC_Z, KC_EQL },
{KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI}
#else // Ergodox and Ergodox EZ
// left hand
{KC_EQL, KC_TAB, KC_BSPC, KC_LSFT, KC_LGUI, KC_NO },
{KC_EQL, KC_TAB, KC_BSPC, KC_LSFT, KC_LGUI, XXXXXXX},
{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},
{KC_5, KC_G, KC_D, KC_B, XXXXXXX, KC_LCTL},
{KC_ESC, XXXXXXX, XXXXXXX, MO(_MD), XXXXXXX, 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_ESC, XXXXXXX, XXXXXXX, MO(_KP), XXXXXXX, KC_RALT},
{KC_6, KC_J, KC_H, KC_K, XXXXXXX, 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 }
{KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, XXXXXXX}
#endif
},
@ -185,23 +262,47 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | |
* `--------------------' `--------------------'
*/
#ifdef SUBPROJECT_infinity // Infinity Ergodox
// left hand
{XXXXXXX, XXXXXXX, XXXXXXX, _______, _______},
{XXXXXXX, XXXXXXX, XXXXXXX, _______, _______},
{KC_F11, _______, XXXXXXX, _______, _______},
{KC_F5, _______, _______, _______, _______},
{KC_F4, KC_PAUS, _______, COLEMAK, _______},
{KC_F3, KC_SLCK, _______, QWERTY, _______},
{KC_F2, KC_PSCR, _______, DVORAK, _______},
{KC_F1, _______, _______, _______, _______},
{RESET, _______, _______, _______, _______},
//Right Hand
{XXXXXXX, XXXXXXX, XXXXXXX, _______, _______},
{XXXXXXX, XXXXXXX, XXXXXXX, _______, _______},
{KC_F12, _______, XXXXXXX, _______, _______},
{KC_F6, _______, KC_MSTP, _______, _______},
{KC_F7, KC_VOLU, KC_MPRV, _______, _______},
{KC_F8, KC_VOLD, KC_MPLY, _______, _______},
{KC_F9, KC_MUTE, KC_MNXT, _______, _______},
{KC_F10, _______, KC_MSEL, _______, _______},
{_______, _______, _______, _______, _______},
#else // Ergodox and Ergodox EZ
// 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},
{RESET, _______, _______, _______, _______, XXXXXXX},
{KC_F1, _______, _______, _______, _______, _______},
{KC_F2, KC_PSCR, _______, DVORAK, _______, _______},
{KC_F3, KC_SLCK, _______, QWERTY, _______, _______},
{KC_F4, KC_PAUS, _______, COLEMAK, _______, _______},
{KC_F5, _______, _______, _______, XXXXXXX, _______},
{KC_F11, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______},
// 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 }
{KC_F12, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______},
{KC_F6, _______, KC_MSTP, _______, XXXXXXX, _______},
{KC_F7, KC_MUTE, KC_MPRV, _______, _______, _______},
{KC_F8, KC_VOLD, KC_MPLY, _______, _______, _______},
{KC_F9, KC_VOLU, KC_MNXT, _______, _______, _______},
{KC_F10, _______, KC_MSEL, _______, _______, _______},
{_______, _______, _______, _______, _______, XXXXXXX}
#endif
},
@ -226,23 +327,47 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | |
* `--------------------' `--------------------'
*/
#ifdef SUBPROJECT_infinity // Infinity Ergodox
// left hand
{XXXXXXX, XXXXXXX, XXXXXXX, _______, _______},
{XXXXXXX, XXXXXXX, XXXXXXX, _______, _______},
{_______, _______, XXXXXXX, _______, _______},
{_______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______},
{KC_PWR, KC_SLEP, KC_WAKE, _______, _______},
//Right Hand
{XXXXXXX, XXXXXXX, XXXXXXX, _______, _______},
{XXXXXXX, XXXXXXX, XXXXXXX, _______, _______},
{_______, _______, XXXXXXX, _______, _______},
{_______, _______, KC_MSTP, _______, _______},
{KC_NLCK, KC_P7, KC_P4, KC_P1, KC_P0 },
{KC_PSLS, KC_P8, KC_P5, KC_P2, _______},
{KC_PAST, KC_P9, KC_P6, KC_P3, KC_PDOT},
{KC_PMNS, KC_PPLS, KC_PPLS, KC_PENT, KC_PENT},
{_______, _______, _______, _______, _______},
#else // Ergodox and Ergodox EZ
// 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},
{KC_PWR, KC_SLEP, KC_WAKE, _______, _______, XXXXXXX},
{_______, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, XXXXXXX, _______},
{_______, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______},
// 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 }
{_______, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______},
{_______, _______, _______, _______, XXXXXXX, _______},
{KC_NLCK, KC_P7, KC_P4, KC_P1, KC_P0, _______},
{KC_PSLS, KC_P8, KC_P5, KC_P2, XXXXXXX, _______},
{KC_PAST, KC_P9, KC_P6, KC_P3, KC_PDOT, _______},
{KC_PMNS, KC_PPLS, KC_PPLS, KC_PENT, KC_PENT, _______},
{_______, _______, _______, _______, XXXXXXX, XXXXXXX}
#endif
},

View file

@ -2,7 +2,7 @@
## Please Note:
This keymap will probably **not** work with the Infinity ErgoDox. It will need **substantial** modification in order to work on the Infinity. This is due to the fact that the mappings are based on the matrix positions in the keymap definition in the ez.h file. If you want to use this for the infinity, you'll need to figure out where the keys are in the matrix and redo the layout arrays below.
This keymap has been updated to work with the Infinity ErgoDox. To build for the Infinity, simply append `SUBPROJECT=infinity` to the end of your `make` statement. This keymap file builds cleanly as is but as of this writing has not been tested on the Infinity ErgoDox. YMMV.
## About this keymap:
@ -12,7 +12,7 @@ The QWERTY layout shown here is based entirely on the Kinesis Advantage layout,
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.
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, or in ../../infinity/infinity.h beginning at line 72.
### Layer 0: Dvorak layer
@ -119,4 +119,4 @@ For a better explanation of the layout matrices shown below, take a look at ../.
| | | || | | |
| | |------||------| | |
| | | || | | |
`--------------------'`--------------------'
`--------------------'`--------------------'