diff --git a/src/keyboard/ergodox/layout/colemak-symbol-mod.c b/src/keyboard/ergodox/layout/colemak-symbol-mod.c index 23b2f2c..a0aed3b 100755 --- a/src/keyboard/ergodox/layout/colemak-symbol-mod.c +++ b/src/keyboard/ergodox/layout/colemak-symbol-mod.c @@ -21,101 +21,101 @@ // ---------------------------------------------------------------------------- const uint8_t PROGMEM _kb_layout[KB_LAYERS][KB_ROWS][KB_COLUMNS] = { - // LAYOUT L0: COLEMAK - KB_MATRIX_LAYER( 0, - // left hand - _equal, _1, _2, _3, _4, _5, 2, - _tab, _Q, _W, _F, _P, _G, _esc, - _ctrlL, _A, _R, _S, _T, _D, - _shiftL, _Z, _X, _C, _V, _B, 2, - _guiL, _grave, _backslash, _altL, 1, - - _ctrlL, _altL, - 0, 0, _home, - _space, _enter, _end, - - // right hand - 3, _6, _7, _8, _9, _0, _dash, - _esc, _J, _L, _U, _Y, _semicolon, _backslash, - _H, _N, _E, _I, _O, _quote, - 3, _K, _M, _comma, _period, _slash, _shiftR, - 1, _arrowL, _arrowD, _arrowU, _arrowR, - - _altR, _ctrlR, - _pageU, 0, 0, - _pageD, _del, _bs ), - + // LAYOUT L0: COLEMAK + KB_MATRIX_LAYER( 0, + // left hand + _equal, _1, _2, _3, _4, _5, 2, + _tab, _Q, _W, _F, _P, _G, _esc, + _ctrlL, _A, _R, _S, _T, _D, + _shiftL, _Z, _X, _C, _V, _B, 2, + _guiL, _grave, _backslash, _altL, 1, + + _ctrlL, _altL, + 0, 0, _home, + _space, _enter, _end, - // LAYOUT L1: function and symbol keys - KB_MATRIX_LAYER( 0, - // left hand - 0, _F1, _F2, _F3, _F4, _F5, _F11, - 0, _bracketL, _bracketR, _bracketL, _bracketR, _semicolon, 0, - 0, _backslash, _slash, _9, _0, _semicolon, - 0, _1, _2, _3, _4, _5, 0, - 0, 0, 0, 0, 0, - - 0, 0, - 0, 0, 0, - 0, 0, 0, - // right hand - _F12, _F6, _F7, _F8, _F9, _F10, _power, - 0, 0, _equal, _equal, _dash, _dash, 0, - _arrowL, _arrowD, _arrowU, _arrowR, 0, 0, - 0, _6, _7, _8, _9, _0, _mute, - 0, 0, 0, 0, 0, - - 0, 0, - 0, 0, 0, - 0, 0, 0 ), + // right hand + 3, _6, _7, _8, _9, _0, _dash, + _esc, _J, _L, _U, _Y, _semicolon, _backslash, + _H, _N, _E, _I, _O, _quote, + 3, _K, _M, _comma, _period, _slash, _shiftR, + 1, _arrowL, _arrowD, _arrowU, _arrowR, + + _altR, _ctrlR, + _pageU, 0, 0, + _pageD, _del, _bs ), - // LAYOUT L2: QWERTY alphanum - KB_MATRIX_LAYER( 0, - // left hand - 0, _1, _2, _3, _4, _5, 0, - 0, _Q, _W, _E, _R, _T, 0, - 0, _A, _S, _D, _F, _G, - 0, _Z, _X, _C, _V, _B, 0, - 0, 0, 0, 0, 0, - - 0, 0, - 0, 0, 0, - 0, 0, 0, - // right hand - 0, _6, _7, _8, _9, _0, 0, - 0, _Y, _U, _I, _O, _P, 0, - _H, _J, _K, _L, _semicolon, 0, - 0, _N, _M, _comma, _period, _slash, 0, - 0, 0, 0, 0, 0, - - 0, 0, - 0, 0, 0, - 0, 0, 0 ), + // LAYOUT L1: function and symbol keys + KB_MATRIX_LAYER( 0, + // left hand + 0, _F1, _F2, _F3, _F4, _F5, _F11, + 0, _bracketL, _bracketR, _bracketL, _bracketR, _semicolon, 0, + 0, _backslash, _slash, _9, _0, _semicolon, + 0, _1, _2, _3, _4, _5, 0, + 0, 0, 0, 0, 0, - - // LAYOUT L3: numpad - KB_MATRIX_LAYER( 0, - // left hand - 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, - 0, _insert, 0, 0, 0, - - 0, 0, - 0, 0, 0, - 0, 0, 0, - // right hand - 3, 0, 3, _equal_kp, _div_kp, _mul_kp, 0, - 0, 0, _7_kp, _8_kp, _9_kp, _sub_kp, 0, - 0, _4_kp, _5_kp, _6_kp, _add_kp, 0, - 0, 0, _1_kp, _2_kp, _3_kp, _enter_kp, 0, - 0, 0, _dec_kp, _enter_kp, 0, - - 0, 0, - 0, 0, 0, - 0, 0, _0_kp ), + 0, 0, + 0, 0, 0, + 0, 0, 0, + // right hand + _F12, _F6, _F7, _F8, _F9, _F10, _power, + 0, 0, _equal, _equal, _dash, _dash, 0, + _arrowL, _arrowD, _arrowU, _arrowR, 0, 0, + 0, _6, _7, _8, _9, _0, _mute, + 0, 0, 0, 0, 0, + + 0, 0, + 0, 0, 0, + 0, 0, 0 ), + + + // LAYOUT L2: QWERTY alphanum + KB_MATRIX_LAYER( 0, + // left hand + 0, _1, _2, _3, _4, _5, 0, + 0, _Q, _W, _E, _R, _T, 0, + 0, _A, _S, _D, _F, _G, + 0, _Z, _X, _C, _V, _B, 0, + 0, 0, 0, 0, 0, + + 0, 0, + 0, 0, 0, + 0, 0, 0, + // right hand + 0, _6, _7, _8, _9, _0, 0, + 0, _Y, _U, _I, _O, _P, 0, + _H, _J, _K, _L, _semicolon, 0, + 0, _N, _M, _comma, _period, _slash, 0, + 0, 0, 0, 0, 0, + + 0, 0, + 0, 0, 0, + 0, 0, 0 ), + + + // LAYOUT L3: numpad + KB_MATRIX_LAYER( 0, + // left hand + 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, + 0, _insert, 0, 0, 0, + + 0, 0, + 0, 0, 0, + 0, 0, 0, + // right hand + 3, 0, 3, _equal_kp, _div_kp, _mul_kp, 0, + 0, 0, _7_kp, _8_kp, _9_kp, _sub_kp, 0, + 0, _4_kp, _5_kp, _6_kp, _add_kp, 0, + 0, 0, _1_kp, _2_kp, _3_kp, _enter_kp, 0, + 0, 0, _dec_kp, _enter_kp, 0, + + 0, 0, + 0, 0, 0, + 0, 0, _0_kp ), }; @@ -165,100 +165,100 @@ const uint8_t PROGMEM _kb_layout[KB_LAYERS][KB_ROWS][KB_COLUMNS] = { const void_funptr_t PROGMEM _kb_layout_press[KB_LAYERS][KB_ROWS][KB_COLUMNS] = { - // PRESS L0: COLEMAK - KB_MATRIX_LAYER( NULL, - // left hand - kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, lpush2, - kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, - kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, - s2kcap, kprrel, kprrel, kprrel, kprrel, kprrel, lpush2, - kprrel, kprrel, kprrel, kprrel, lpush1, - - kprrel, kprrel, - kprrel, NULL, NULL, - kprrel, kprrel, kprrel, - // right hand - slpunum, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, - kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, - kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, - slpunum, kprrel, kprrel, kprrel, kprrel, kprrel, s2kcap, - lpush1, kprrel, kprrel, kprrel, kprrel, - - kprrel, kprrel, - kprrel, NULL, NULL, - kprrel, kprrel, kprrel ), - + // PRESS L0: COLEMAK + KB_MATRIX_LAYER( NULL, + // left hand + kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, lpush2, + kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, + kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, + s2kcap, kprrel, kprrel, kprrel, kprrel, kprrel, lpush2, + kprrel, kprrel, kprrel, kprrel, lpush1, + + kprrel, kprrel, + kprrel, NULL, NULL, + kprrel, kprrel, kprrel, + // right hand + slpunum, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, + kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, + kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, + slpunum, kprrel, kprrel, kprrel, kprrel, kprrel, s2kcap, + lpush1, kprrel, kprrel, kprrel, kprrel, - // PRESS L1: function and symbol keys - KB_MATRIX_LAYER( NULL, - // left hand - NULL, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, - ktrans, sshprre, sshprre, kprrel, kprrel, sshprre, ktrans, - ktrans, kprrel, kprrel, sshprre, sshprre, kprrel, - ktrans, sshprre, sshprre, sshprre, sshprre, sshprre, ktrans, - ktrans, ktrans, ktrans, ktrans, ktrans, - - ktrans, ktrans, - ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans, - // right hand - kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, - ktrans, kprrel, kprrel, sshprre, kprrel, sshprre, kprrel, - kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, - ktrans, sshprre, sshprre, sshprre, sshprre, sshprre, ktrans, - ktrans, ktrans, ktrans, ktrans, ktrans, - - ktrans, ktrans, - ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans ), + kprrel, kprrel, + kprrel, NULL, NULL, + kprrel, kprrel, kprrel ), + - - // PRESS L2: QWERTY - KB_MATRIX_LAYER( NULL, - // left hand - ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, lpop2, - ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, - ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, - ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, - ktrans, ktrans, ktrans, ktrans, ktrans, - - ktrans, ktrans, - ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans, - // right hand - ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, - ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, - kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, - ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, - ktrans, ktrans, ktrans, ktrans, ktrans, - - ktrans, ktrans, - ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans ), + // PRESS L1: function and symbol keys + KB_MATRIX_LAYER( NULL, + // left hand + NULL, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, + ktrans, sshprre, sshprre, kprrel, kprrel, sshprre, ktrans, + ktrans, kprrel, kprrel, sshprre, sshprre, kprrel, + ktrans, sshprre, sshprre, sshprre, sshprre, sshprre, ktrans, + ktrans, ktrans, ktrans, ktrans, ktrans, - - // PRESS L3: numpad - KB_MATRIX_LAYER( NULL, - // left hand - ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, - ktrans, kprrel, ktrans, ktrans, ktrans, - - ktrans, ktrans, - ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans, - // right hand - slponum, ktrans, slponum, kprrel, kprrel, kprrel, ktrans, - ktrans, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans, - ktrans, kprrel, kprrel, kprrel, kprrel, ktrans, - ktrans, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans, - ktrans, ktrans, kprrel, kprrel, ktrans, - - ktrans, kprrel, - ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans ), + ktrans, ktrans, + ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans, + // right hand + kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, + ktrans, kprrel, kprrel, sshprre, kprrel, sshprre, kprrel, + kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, + ktrans, sshprre, sshprre, sshprre, sshprre, sshprre, ktrans, + ktrans, ktrans, ktrans, ktrans, ktrans, + + ktrans, ktrans, + ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans ), + + + // PRESS L2: QWERTY + KB_MATRIX_LAYER( NULL, + // left hand + ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, lpop2, + ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, + ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, + ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, + ktrans, ktrans, ktrans, ktrans, ktrans, + + ktrans, ktrans, + ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans, + // right hand + ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, + ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, + kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, + ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, + ktrans, ktrans, ktrans, ktrans, ktrans, + + ktrans, ktrans, + ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans ), + + + // PRESS L3: numpad + KB_MATRIX_LAYER( NULL, + // left hand + ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, + ktrans, kprrel, ktrans, ktrans, ktrans, + + ktrans, ktrans, + ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans, + // right hand + slponum, ktrans, slponum, kprrel, kprrel, kprrel, ktrans, + ktrans, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans, + ktrans, kprrel, kprrel, kprrel, kprrel, ktrans, + ktrans, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans, + ktrans, ktrans, kprrel, kprrel, ktrans, + + ktrans, kprrel, + ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans ), }; @@ -267,116 +267,116 @@ const void_funptr_t PROGMEM _kb_layout_press[KB_LAYERS][KB_ROWS][KB_COLUMNS] = { const void_funptr_t PROGMEM _kb_layout_release[KB_LAYERS][KB_ROWS][KB_COLUMNS] = { - // RELEASE L0: COLEMAK - KB_MATRIX_LAYER( NULL, - // left hand - kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, NULL, - kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, - kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, - s2kcap, kprrel, kprrel, kprrel, kprrel, kprrel, lpop2, - kprrel, kprrel, kprrel, kprrel, lpop1, - - kprrel, kprrel, - kprrel, NULL, NULL, - kprrel, kprrel, kprrel, - // right hand - NULL, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, - kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, - kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, - slponum, kprrel, kprrel, kprrel, kprrel, kprrel, s2kcap, - lpop1, kprrel, kprrel, kprrel, kprrel, - - kprrel, kprrel, - kprrel, NULL, NULL, - kprrel, kprrel, kprrel ), - - - // RELEASE L1: function and symbol keys - KB_MATRIX_LAYER( NULL, - // left hand - NULL, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, - ktrans, sshprre, sshprre, kprrel, kprrel, sshprre, ktrans, - ktrans, kprrel, kprrel, sshprre, sshprre, kprrel, - ktrans, sshprre, sshprre, sshprre, sshprre, sshprre, ktrans, - ktrans, ktrans, ktrans, ktrans, ktrans, - - ktrans, ktrans, - ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans, - // right hand - kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, - ktrans, kprrel, kprrel, sshprre, kprrel, sshprre, kprrel, - kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, - ktrans, sshprre, sshprre, sshprre, sshprre, sshprre, ktrans, - ktrans, ktrans, ktrans, ktrans, ktrans, - - ktrans, ktrans, - ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans ), - + // RELEASE L0: COLEMAK + KB_MATRIX_LAYER( NULL, + // left hand + kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, NULL, + kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, + kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, + s2kcap, kprrel, kprrel, kprrel, kprrel, kprrel, lpop2, + kprrel, kprrel, kprrel, kprrel, lpop1, - // RELEASE L2: QWERTY - KB_MATRIX_LAYER( NULL, - // left hand - ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, NULL, - ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, - ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, - ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, - ktrans, ktrans, ktrans, ktrans, ktrans, - - ktrans, ktrans, - ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans, - // right hand - ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, - ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, - kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, - ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, - ktrans, ktrans, ktrans, ktrans, ktrans, - - ktrans, ktrans, - ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans ), + kprrel, kprrel, + kprrel, NULL, NULL, + kprrel, kprrel, kprrel, + // right hand + NULL, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, + kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, + kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, + slponum, kprrel, kprrel, kprrel, kprrel, kprrel, s2kcap, + lpop1, kprrel, kprrel, kprrel, kprrel, - - // RELEASE L3: numpad - KB_MATRIX_LAYER( NULL, - // left hand - ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, - ktrans, kprrel, ktrans, ktrans, ktrans, - - ktrans, ktrans, - ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans, - // right hand - NULL, ktrans, NULL, kprrel, kprrel, kprrel, ktrans, - ktrans, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans, - ktrans, kprrel, kprrel, kprrel, kprrel, ktrans, - lpop3, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans, - ktrans, ktrans, kprrel, kprrel, ktrans, - - ktrans, kprrel, - ktrans, ktrans, ktrans, - ktrans, ktrans, ktrans ), + kprrel, kprrel, + kprrel, NULL, NULL, + kprrel, kprrel, kprrel ), - - // RELEASE L3: nothing (just making sure unused - // functions don't get compiled out) - KB_MATRIX_LAYER( NULL, - // other - kprrel, lpush8, lpop8, NULL, NULL, NULL, NULL, NULL, - ktog, lpush9, lpop9, NULL, NULL, NULL, NULL, NULL, - ktrans, lpush10,lpop10, NULL, NULL, NULL, NULL, NULL, - lpush1, lpop1, NULL, NULL, NULL, NULL, NULL, NULL, - lpush2, lpop2, dbtldr, NULL, NULL, NULL, NULL, NULL, - lpush3, lpop3, NULL, NULL, NULL, NULL, NULL, NULL, - lpush4, lpop4, s2kcap, NULL, NULL, NULL, NULL, NULL, - lpush5, lpop5, slpunum,NULL, NULL, NULL, NULL, NULL, - lpush6, lpop6, slponum,NULL, NULL, NULL, NULL, NULL, - lpush7, lpop7, NULL, NULL, NULL, NULL, NULL, NULL ) + + // RELEASE L1: function and symbol keys + KB_MATRIX_LAYER( NULL, + // left hand + NULL, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, + ktrans, sshprre, sshprre, kprrel, kprrel, sshprre, ktrans, + ktrans, kprrel, kprrel, sshprre, sshprre, kprrel, + ktrans, sshprre, sshprre, sshprre, sshprre, sshprre, ktrans, + ktrans, ktrans, ktrans, ktrans, ktrans, + + ktrans, ktrans, + ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans, + // right hand + kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, + ktrans, kprrel, kprrel, sshprre, kprrel, sshprre, kprrel, + kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, + ktrans, sshprre, sshprre, sshprre, sshprre, sshprre, ktrans, + ktrans, ktrans, ktrans, ktrans, ktrans, + + ktrans, ktrans, + ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans ), + + + // RELEASE L2: QWERTY + KB_MATRIX_LAYER( NULL, + // left hand + ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, NULL, + ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, + ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, + ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, + ktrans, ktrans, ktrans, ktrans, ktrans, + + ktrans, ktrans, + ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans, + // right hand + ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, + ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, + kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, + ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans, + ktrans, ktrans, ktrans, ktrans, ktrans, + + ktrans, ktrans, + ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans ), + + + // RELEASE L3: numpad + KB_MATRIX_LAYER( NULL, + // left hand + ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, + ktrans, kprrel, ktrans, ktrans, ktrans, + + ktrans, ktrans, + ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans, + // right hand + NULL, ktrans, NULL, kprrel, kprrel, kprrel, ktrans, + ktrans, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans, + ktrans, kprrel, kprrel, kprrel, kprrel, ktrans, + lpop3, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans, + ktrans, ktrans, kprrel, kprrel, ktrans, + + ktrans, kprrel, + ktrans, ktrans, ktrans, + ktrans, ktrans, ktrans ), + + + // RELEASE L3: nothing (just making sure unused + // functions don't get compiled out) + KB_MATRIX_LAYER( NULL, + // other + kprrel, lpush8, lpop8, NULL, NULL, NULL, NULL, NULL, + ktog, lpush9, lpop9, NULL, NULL, NULL, NULL, NULL, + ktrans, lpush10,lpop10, NULL, NULL, NULL, NULL, NULL, + lpush1, lpop1, NULL, NULL, NULL, NULL, NULL, NULL, + lpush2, lpop2, dbtldr, NULL, NULL, NULL, NULL, NULL, + lpush3, lpop3, NULL, NULL, NULL, NULL, NULL, NULL, + lpush4, lpop4, s2kcap, NULL, NULL, NULL, NULL, NULL, + lpush5, lpop5, slpunum,NULL, NULL, NULL, NULL, NULL, + lpush6, lpop6, slponum,NULL, NULL, NULL, NULL, NULL, + lpush7, lpop7, NULL, NULL, NULL, NULL, NULL, NULL ) };