/* ---------------------------------------------------------------------------- * ergoDOX layout : QWERTY * * TODO: This is a temporary version. It will be replaced later. * ---------------------------------------------------------------------------- * Copyright (c) 2012 Ben Blazak * Released under The MIT License (MIT) (see "license.md") * Project located at * ------------------------------------------------------------------------- */ #include #include #include #include "../../../lib/data-types/misc.h" #include "../../../lib/usb/usage-page/keyboard--short-names.h" #include "../../../lib/key-functions/public.h" #include "../matrix.h" #include "../layout.h" // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // aliases // --- basic #define f_prrel &kbfun_press_release #define f_toggl &kbfun_toggle #define f_l_inc &kbfun_layer_inc #define f_l_dec &kbfun_layer_dec // --- device #define f_btldr &kbfun_jump_to_bootloader // --- numpad #define f_np_to &kbfun_layermask_numpad_toggle #define f_np_on &kbfun_layermask_numpad_on #define f_np_of &kbfun_layermask_numpad_off // --- special #define f_l_iex &kbfun_layer_inc_exec #define f_l_dex &kbfun_layer_dec_exec #define f_2kcap &kbfun_2_keys_capslock_press_release // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- const uint8_t PROGMEM _kb_layout[KB_LAYERS][KB_ROWS][KB_COLUMNS] = { // -------------------------------------------------------------------- KB_MATRIX_LAYER( // layout: layer 0: default // unused 0, // left hand _grave, _1, _2, _3, _4, _5, _equal, _bracketL, _Q, _W, _E, _R, _T, _esc, _tab, _A, _S, _D, _F, _G, _shiftL, _Z, _X, _C, _V, _B, 1, _guiL, _arrowL, _arrowU, _arrowD, _arrowR, _bs, 0, _del, 0, _ctrlL, _end, _home, _altL, // right hand _backslash, _6, _7, _8, _9, _0, _dash, _bracketL, _Y, _U, _I, _O, _P, _bracketR, _H, _J, _K, _L, _semicolon, _quote, 1, _N, _M, _comma, _period, _slash, _shiftR, _arrowL, _arrowD, _arrowU, _arrowR, _guiR, 0, _space, _ctrlR, 0, _enter, _altR, _pageU, _pageD ), // -------------------------------------------------------------------- KB_MATRIX_LAYER( // layout: layer 1: function and symbol keys // unused 0, // left hand -1, _F1, _F2, _F3, _F4, _F5, _F11, 0, _braceL_kp, _braceR_kp, _bracketL, _bracketR, 0, _esc, 0, _semicolon, _slash, _dash, 0, _colon_kp, 2, 0, 0, 0, 0, 0, 0, 0, _arrowL, _arrowU, _arrowD, _arrowR, _bs, 0, _del, 0, _ctrlL, _end, _home, _altL, // right hand _F12, _F6, _F7, _F8, _F9, _F10, 0, 2, 0, _dash, _lt_kp, _gt_kp, _currencyUnit, 0, _backslash, 0, _parenL_kp, _parenR_kp, _equal, 0, 0, _mul_kp, 0, 0, 0, 0, 0, _arrowL, _arrowD, _arrowU, _arrowR, 0, 0, _space, _ctrlR, 0, _enter, _altR, _pageU, _pageD ), // -------------------------------------------------------------------- KB_MATRIX_LAYER( // layout: layer 2: numpad // unused 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // right hand 0, 0, _7_kp, _8_kp, _9_kp, _div_kp, 0, 0, 0, _4_kp, _5_kp, _6_kp, _mul_kp, 0, 0, _1_kp, _2_kp, _3_kp, _sub_kp, 0, 0, 0, _0_kp, _period, 0, _add_kp, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ) // -------------------------------------------------------------------- }; // ---------------------------------------------------------------------------- const void_funptr_t PROGMEM _kb_layout_press[KB_LAYERS][KB_ROWS][KB_COLUMNS] = { // -------------------------------------------------------------------- KB_MATRIX_LAYER( // press: layer 0: default // unused NULL, // left hand f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_2kcap,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_l_inc, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel, NULL, f_prrel, NULL,f_prrel, f_prrel,f_prrel,f_prrel, // right hand f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_l_inc,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_2kcap, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, NULL,f_prrel, f_prrel, NULL,f_prrel, f_prrel,f_prrel,f_prrel ), // -------------------------------------------------------------------- KB_MATRIX_LAYER( // press: layer 1: function and symbol keys // unused NULL, // left hand f_btldr,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_np_on,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, NULL, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel, NULL, f_prrel, NULL,f_prrel, f_prrel,f_prrel,f_prrel, // right hand f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_np_to,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, NULL,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, NULL,f_prrel, f_prrel, NULL,f_prrel, f_prrel,f_prrel,f_prrel ), // -------------------------------------------------------------------- KB_MATRIX_LAYER( // press: layer 2: numpad // unused NULL, // left hand NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, // right hand NULL, NULL,f_prrel,f_prrel,f_prrel,f_prrel, NULL, NULL, NULL,f_prrel,f_prrel,f_prrel,f_prrel, NULL, NULL,f_prrel,f_prrel,f_prrel,f_prrel, NULL, NULL, NULL,f_prrel,f_prrel,f_prrel,f_prrel, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) // -------------------------------------------------------------------- }; // ---------------------------------------------------------------------------- const void_funptr_t PROGMEM _kb_layout_release[KB_LAYERS][KB_ROWS][KB_COLUMNS] = { // -------------------------------------------------------------------- KB_MATRIX_LAYER( // release: layer 0: default // unused NULL, // left hand f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_2kcap,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_l_dec, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel, NULL, f_prrel, NULL,f_prrel, f_prrel,f_prrel,f_prrel, // right hand f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_l_dec,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_2kcap, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, NULL,f_prrel, f_prrel, NULL,f_prrel, f_prrel,f_prrel,f_prrel ), // -------------------------------------------------------------------- KB_MATRIX_LAYER( // release: layer 1: function and symbol keys // unused NULL, // left hand NULL,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_np_of,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, NULL, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel, NULL, f_prrel, NULL,f_prrel, f_prrel,f_prrel,f_prrel, // right hand f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, NULL,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, NULL,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, f_prrel,f_prrel,f_prrel,f_prrel,f_prrel, NULL,f_prrel, f_prrel, NULL,f_prrel, f_prrel,f_prrel,f_prrel ), // -------------------------------------------------------------------- KB_MATRIX_LAYER( // release: layer 2: numpad // unused NULL, // left hand NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, // right hand NULL, NULL,f_prrel,f_prrel,f_prrel,f_prrel, NULL, NULL, NULL,f_prrel,f_prrel,f_prrel,f_prrel, NULL, NULL,f_prrel,f_prrel,f_prrel,f_prrel, NULL, NULL, NULL,f_prrel,f_prrel,f_prrel,f_prrel, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ), // -------------------------------------------------------------------- KB_MATRIX_LAYER( // release: layer 3: nothing (just making sure unused // functions don't get compiled // out) // unused NULL, // other f_prrel,f_btldr, NULL, NULL, NULL, NULL, NULL, NULL, f_toggl, NULL, NULL, NULL, NULL, NULL, NULL, NULL, f_l_inc, NULL, NULL, NULL, NULL, NULL, NULL, NULL, f_l_dec, NULL, NULL, NULL, NULL, NULL, NULL, NULL, f_l_iex, NULL, NULL, NULL, NULL, NULL, NULL, NULL, f_l_dex, NULL, NULL, NULL, NULL, NULL, NULL, NULL, f_2kcap, NULL, NULL, NULL, NULL, NULL, NULL, NULL, f_np_to, NULL, NULL, NULL, NULL, NULL, NULL, NULL, f_np_on, NULL, NULL, NULL, NULL, NULL, NULL, NULL, f_np_of, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) // -------------------------------------------------------------------- };