remove old layouts
parent
f0da34b909
commit
d1c105848b
|
@ -1,298 +0,0 @@
|
|||
/* ----------------------------------------------------------------------------
|
||||
* ergoDOX layout : COLEMAK JC Sticky Keys Mod
|
||||
* created by Ryan Prince
|
||||
* Description: This layout is designed for programming with a focus on
|
||||
* minimizing/elimnating the need to take the hands out of home-row position
|
||||
* to reach other keys. Layer sticky keys are used to reduce the average
|
||||
* number of keystrokes required to access keys in other layers. Some
|
||||
* redundancy of navigation and spacing keys is added to the left hand to
|
||||
* allow for greater one-handed access when using a mouse with the right
|
||||
* hand.
|
||||
* The alpha key layout is COLEMAK with sticky layer keys on the thumb
|
||||
* switches for a symbol layer and a ten-key/function
|
||||
* layer.
|
||||
* Modifiers are symetric on each hand with the exception of the Alt
|
||||
* key because my primary machine is a Mac which utilizes command and ctrl
|
||||
* for chorded shortcuts more frequenty than ctrl and alt. The layer sticky
|
||||
* keys compliment standard modifier sticky keys (for shift, ctrl, command,
|
||||
* alt) to allow fast touch typing with minimal chording in favor of
|
||||
* sequential keying (preferably on alternate hands) for multi-key shortcuts
|
||||
* as chording introduces strain and fatigue and takes your hands out of
|
||||
* home row position increasing the likelihood of mistyping.
|
||||
* Sticky keys for standard modifiers are used as an operating system setting
|
||||
* for the benefit of key state visualization, though this can interfere
|
||||
* with the kbfun_shift_press_release() behavior which implicitly adds the
|
||||
* shift down modifier to output symbols that require it without knowledge
|
||||
* of the virtual sticky state maintained by the operating system.
|
||||
* The ErgoDox Layout Configurator layout that best approximates the layout
|
||||
* defined in this file is available here:
|
||||
* https://www.massdrop.com/ext/ergodox/?referer=EAZJPJ&hash=f26761358ba99e21ae937173da512849
|
||||
* The differences are mainly the use of layer toggles instead of sticky
|
||||
* layer keys and many of the symbols add the kbfun_shift_press_release()
|
||||
* which is not accessible for all keys in the cofigurator (as of
|
||||
* 2013-04-10).
|
||||
* -----------------------------------------------------------------------------
|
||||
* Copyright (c) 2012 Ben Blazak <benblazak.dev@gmail.com>,
|
||||
* 2013 Ryan Prince <judascleric@gmail.com>
|
||||
* Released under The MIT License (MIT) (see "license.md")
|
||||
* Project located at <https://github.com/benblazak/ergodox-firmware>
|
||||
* -------------------------------------------------------------------------- */
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <avr/pgmspace.h>
|
||||
#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"
|
||||
// FUNCTIONS ------------------------------------------------------------------
|
||||
void kbfun_layer_pop_all(void) {
|
||||
kbfun_layer_pop_1();
|
||||
kbfun_layer_pop_2();
|
||||
kbfun_layer_pop_3();
|
||||
kbfun_layer_pop_4();
|
||||
kbfun_layer_pop_5();
|
||||
kbfun_layer_pop_6();
|
||||
kbfun_layer_pop_7();
|
||||
kbfun_layer_pop_8();
|
||||
kbfun_layer_pop_9();
|
||||
kbfun_layer_pop_10();
|
||||
}
|
||||
|
||||
// DEFINITIONS ----------------------------------------------------------------
|
||||
#define kprrel &kbfun_press_release
|
||||
#define kprpst &kbfun_press_release_preserve_sticky
|
||||
#define mprrel &kbfun_mediakey_press_release
|
||||
#define ktrans &kbfun_transparent
|
||||
#define lpush1 &kbfun_layer_push_1
|
||||
#define lpush2 &kbfun_layer_push_2
|
||||
#define lsticky1 &kbfun_layer_sticky_1
|
||||
#define lsticky2 &kbfun_layer_sticky_2
|
||||
#define lpop &kbfun_layer_pop_all
|
||||
#define lpop1 &kbfun_layer_pop_1
|
||||
#define lpop2 &kbfun_layer_pop_2
|
||||
#define dbtldr &kbfun_jump_to_bootloader
|
||||
#define sshprre &kbfun_shift_press_release
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// LAYOUT ---------------------------------------------------------------------
|
||||
const uint8_t PROGMEM _kb_layout[KB_LAYERS][KB_ROWS][KB_COLUMNS] = {
|
||||
// LAYER 0
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
0,
|
||||
// left hand
|
||||
KEY_GraveAccent_Tilde, KEY_1_Exclamation, KEY_2_At, KEY_3_Pound, KEY_4_Dollar, KEY_5_Percent, KEY_LeftBracket_LeftBrace,
|
||||
KEY_LeftControl, KEY_q_Q, KEY_w_W, KEY_f_F, KEY_p_P, KEY_g_G, KEY_Equal_Plus,
|
||||
KEY_LeftShift, KEY_a_A, KEY_r_R, KEY_s_S, KEY_t_T, KEY_d_D,
|
||||
KEY_LeftGUI, KEY_z_Z, KEY_x_X, KEY_c_C, KEY_v_V, KEY_b_B, 0,
|
||||
KEY_Home, KEY_End, KEY_PageUp, KEY_PageDown, 1,
|
||||
KEY_Tab, KEY_Spacebar,
|
||||
0, 0, KEY_ReturnEnter,
|
||||
KEY_Escape, 2, KEY_LeftAlt,
|
||||
// right hand
|
||||
KEY_RightBracket_RightBrace, KEY_6_Caret, KEY_7_Ampersand, KEY_8_Asterisk, KEY_9_LeftParenthesis, KEY_0_RightParenthesis, KEY_Backslash_Pipe,
|
||||
KEY_Dash_Underscore, KEY_j_J, KEY_l_L, KEY_u_U, KEY_y_Y, KEY_Semicolon_Colon, KEY_RightControl,
|
||||
KEY_h_H, KEY_n_N, KEY_e_E, KEY_i_I, KEY_o_O, KEY_RightShift,
|
||||
2, KEY_k_K, KEY_m_M, KEY_Comma_LessThan, KEY_Period_GreaterThan, KEY_Slash_Question, KEY_RightGUI,
|
||||
1, KEY_DownArrow, KEY_UpArrow, KEY_LeftArrow, KEY_RightArrow,
|
||||
KEY_Insert, KEY_DeleteForward,
|
||||
0, 0, 0,
|
||||
KEY_DeleteBackspace, KEY_ReturnEnter, KEY_Spacebar
|
||||
),
|
||||
// LAYER 1
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
0,
|
||||
// left hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, KEY_1_Exclamation, KEY_2_At, KEY_3_Pound, KEY_4_Dollar, KEY_5_Percent, 0,
|
||||
0, KEY_SingleQuote_DoubleQuote, 0x34, 0x2F, 0x30, KEY_Equal_Plus,
|
||||
0, 0x31, KEY_Backslash_Pipe, KEY_Dash_Underscore, KEY_DeleteBackspace, KEY_Tab, 0,
|
||||
KEY_LeftArrow, KEY_RightArrow, KEY_UpArrow, KEY_DownArrow, 0,
|
||||
0, 0,
|
||||
0, 0, 0,
|
||||
0, 0, 0,
|
||||
// right hand
|
||||
0, 0, MEDIAKEY_PREV_TRACK, MEDIAKEY_PLAY_PAUSE, MEDIAKEY_NEXT_TRACK, 0, 0,
|
||||
0, KEY_6_Caret, KEY_7_Ampersand, KEYPAD_Asterisk, KEYPAD_Minus, KEY_GraveAccent_Tilde, 0,
|
||||
KEYPAD_Plus, KEY_9_LeftParenthesis, KEY_0_RightParenthesis, KEY_LeftBracket_LeftBrace, KEY_RightBracket_RightBrace, 0,
|
||||
0, KEY_GraveAccent_Tilde, KEY_DownArrow, KEY_UpArrow, KEY_LeftArrow, KEY_RightArrow, 0,
|
||||
0, 0, 0, 0, 0,
|
||||
0, 0,
|
||||
0, 0, 0,
|
||||
0, 0, 0
|
||||
),
|
||||
// LAYER 2
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
0,
|
||||
// left hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, KEY_F9, KEY_F10, KEY_F11, KEY_F12, KEY_VolumeUp, 0,
|
||||
0, KEY_F5, KEY_F6, KEY_F7, KEY_F8, KEY_VolumeDown,
|
||||
0, KEY_F1, KEY_F2, KEY_F3, KEY_F4, KEY_Mute, 0,
|
||||
0, 0, 0, 0, 0,
|
||||
0, 0,
|
||||
0, 0, 0,
|
||||
0, 0, 0,
|
||||
// right hand
|
||||
0, 0, KEYPAD_NumLock_Clear, KEYPAD_Asterisk, KEYPAD_Slash, KEY_5_Percent, 0,
|
||||
0, KEYPAD_Minus, KEYPAD_7_Home, KEYPAD_8_UpArrow, KEYPAD_9_PageUp, KEYPAD_Plus, 0,
|
||||
KEYPAD_Equal, KEYPAD_4_LeftArrow, KEYPAD_5, KEYPAD_6_RightArrow, KEYPAD_0_Insert, 0,
|
||||
0, KEY_Comma_LessThan, KEYPAD_1_End, KEYPAD_2_DownArrow, KEYPAD_3_PageDown, KEYPAD_Period_Delete, 0,
|
||||
0, 0, 0, 0, 0,
|
||||
0, 0,
|
||||
0, 0, 0,
|
||||
0, 0, 0
|
||||
),
|
||||
};
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// PRESS ----------------------------------------------------------------------
|
||||
const void_funptr_t PROGMEM _kb_layout_press[KB_LAYERS][KB_ROWS][KB_COLUMNS] = {
|
||||
// LAYER 0
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL,
|
||||
// left hand
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, lpop,
|
||||
kprrel, kprrel, kprrel, kprrel, lsticky1,
|
||||
kprrel, kprrel,
|
||||
NULL, NULL, kprrel,
|
||||
kprrel, lsticky2, kprrel,
|
||||
// right hand
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
lsticky2, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
lsticky1, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel,
|
||||
lpop, NULL, NULL,
|
||||
kprrel, kprrel, kprrel
|
||||
),
|
||||
// LAYER 1
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL,
|
||||
// left hand
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, sshprre, sshprre, sshprre, sshprre, sshprre, ktrans,
|
||||
ktrans, kprrel, sshprre, sshprre, sshprre, kprrel,
|
||||
ktrans, sshprre, kprrel, sshprre, kprrel, kprrel, ktrans,
|
||||
kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, ktrans,
|
||||
NULL, NULL, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
// right hand
|
||||
ktrans, ktrans, mprrel, mprrel, mprrel, ktrans, ktrans,
|
||||
ktrans, sshprre, sshprre, kprrel, kprrel, kprrel, ktrans,
|
||||
kprrel, sshprre, sshprre, kprrel, kprrel, ktrans,
|
||||
ktrans, sshprre, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans,
|
||||
ktrans, NULL, NULL,
|
||||
ktrans, ktrans, ktrans
|
||||
),
|
||||
// LAYER 2
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL,
|
||||
// left hand
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
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,
|
||||
NULL, NULL, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
// right hand
|
||||
dbtldr, kprrel, kprrel, kprrel, kprrel, sshprre, 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, NULL, NULL,
|
||||
ktrans, ktrans, ktrans
|
||||
),
|
||||
};
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// RELEASE --------------------------------------------------------------------
|
||||
const void_funptr_t PROGMEM _kb_layout_release[KB_LAYERS][KB_ROWS][KB_COLUMNS] = {
|
||||
// LAYER 0
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL,
|
||||
// left hand
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, NULL,
|
||||
kprrel, kprrel, kprrel, kprrel, lsticky1,
|
||||
kprrel, kprrel,
|
||||
NULL, NULL, kprrel,
|
||||
kprrel, lsticky2, kprrel,
|
||||
// right hand
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
lsticky2, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
lsticky1, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel,
|
||||
NULL, NULL, NULL,
|
||||
kprrel, kprrel, kprrel
|
||||
),
|
||||
// LAYER 1
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL,
|
||||
// left hand
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, sshprre, sshprre, sshprre, sshprre, sshprre, ktrans,
|
||||
ktrans, kprrel, sshprre, sshprre, sshprre, kprrel,
|
||||
kprrel, sshprre, kprrel, sshprre, kprrel, kprrel, ktrans,
|
||||
kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, ktrans,
|
||||
NULL, NULL, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
// right hand
|
||||
ktrans, ktrans, mprrel, mprrel, mprrel, ktrans, ktrans,
|
||||
ktrans, sshprre, sshprre, kprrel, kprrel, kprrel, ktrans,
|
||||
kprrel, sshprre, sshprre, kprrel, kprrel, ktrans,
|
||||
ktrans, sshprre, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans,
|
||||
ktrans, NULL, NULL,
|
||||
ktrans, ktrans, ktrans
|
||||
),
|
||||
// LAYER 2
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL,
|
||||
// left hand
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans,
|
||||
NULL, NULL, ktrans,
|
||||
kprrel, ktrans, ktrans,
|
||||
// right hand
|
||||
NULL, kprrel, kprrel, kprrel, kprrel, sshprre, ktrans,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans,
|
||||
ktrans, NULL, NULL,
|
||||
ktrans, ktrans, ktrans
|
||||
),
|
||||
};
|
||||
// ----------------------------------------------------------------------------
|
|
@ -1,30 +0,0 @@
|
|||
/* ----------------------------------------------------------------------------
|
||||
* ergoDOX : layout : DEFAULT : exports
|
||||
* ----------------------------------------------------------------------------
|
||||
* Copyright (c) 2012 Ben Blazak <benblazak.dev@gmail.com>
|
||||
* Released under The MIT License (MIT) (see "license.md")
|
||||
* Project located at <https://github.com/benblazak/ergodox-firmware>
|
||||
* ------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
#ifndef KEYBOARD__ERGODOX__LAYOUT__DEFAULT_h
|
||||
#define KEYBOARD__ERGODOX__LAYOUT__DEFAULT_h
|
||||
|
||||
#include "../controller.h"
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#define kb_led_num_on() _kb_led_1_on()
|
||||
#define kb_led_num_off() _kb_led_1_off()
|
||||
#define kb_led_caps_on() _kb_led_2_on()
|
||||
#define kb_led_caps_off() _kb_led_2_off()
|
||||
#define kb_led_scroll_on() _kb_led_3_on()
|
||||
#define kb_led_scroll_off() _kb_led_3_off()
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#include "./default--led-control.h"
|
||||
#include "./default--matrix-control.h"
|
||||
|
||||
#endif
|
||||
|
|
@ -1,383 +0,0 @@
|
|||
/* ----------------------------------------------------------------------------
|
||||
* ergoDOX layout : COLEMAK (modified from the Kinesis layout)
|
||||
*
|
||||
* Submitted by Jason Trill [jjt] (https://github.com/jjt)
|
||||
* ----------------------------------------------------------------------------
|
||||
* Copyright (c) 2012 Ben Blazak <benblazak.dev@gmail.com>
|
||||
* Released under The MIT License (MIT) (see "license.md")
|
||||
* Project located at <https://github.com/benblazak/ergodox-firmware>
|
||||
* ------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <avr/pgmspace.h>
|
||||
#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"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
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 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 ),
|
||||
|
||||
|
||||
// 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, _period, _enter_kp, 0,
|
||||
|
||||
0, 0,
|
||||
0, 0, 0,
|
||||
0, 0, _0_kp ),
|
||||
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// aliases
|
||||
|
||||
// basic
|
||||
#define kprrel &kbfun_press_release
|
||||
#define ktog &kbfun_toggle
|
||||
#define ktrans &kbfun_transparent
|
||||
// --- layer push/pop functions
|
||||
#define lpush1 &kbfun_layer_push_1
|
||||
#define lpush2 &kbfun_layer_push_2
|
||||
#define lpush3 &kbfun_layer_push_3
|
||||
#define lpush4 &kbfun_layer_push_4
|
||||
#define lpush5 &kbfun_layer_push_5
|
||||
#define lpush6 &kbfun_layer_push_6
|
||||
#define lpush7 &kbfun_layer_push_7
|
||||
#define lpush8 &kbfun_layer_push_8
|
||||
#define lpush9 &kbfun_layer_push_9
|
||||
#define lpush10 &kbfun_layer_push_10
|
||||
#define lpop1 &kbfun_layer_pop_1
|
||||
#define lpop2 &kbfun_layer_pop_2
|
||||
#define lpop3 &kbfun_layer_pop_3
|
||||
#define lpop4 &kbfun_layer_pop_4
|
||||
#define lpop5 &kbfun_layer_pop_5
|
||||
#define lpop6 &kbfun_layer_pop_6
|
||||
#define lpop7 &kbfun_layer_pop_7
|
||||
#define lpop8 &kbfun_layer_pop_8
|
||||
#define lpop9 &kbfun_layer_pop_9
|
||||
#define lpop10 &kbfun_layer_pop_10
|
||||
// ---
|
||||
|
||||
// device
|
||||
#define dbtldr &kbfun_jump_to_bootloader
|
||||
|
||||
// special
|
||||
#define sshprre &kbfun_shift_press_release
|
||||
#define s2kcap &kbfun_2_keys_capslock_press_release
|
||||
#define slpunum &kbfun_layer_push_numpad
|
||||
#define slponum &kbfun_layer_pop_numpad
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
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,
|
||||
NULL, NULL, kprrel,
|
||||
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 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 ),
|
||||
|
||||
|
||||
// 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, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, kprrel ),
|
||||
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
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,
|
||||
NULL, NULL, kprrel,
|
||||
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 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, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, 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 )
|
||||
|
||||
};
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
/* ----------------------------------------------------------------------------
|
||||
* ergoDOX : layout : COLEMAK : exports
|
||||
*
|
||||
* Submitted by Jason Trill [jjt] (https://github.com/jjt)
|
||||
* ----------------------------------------------------------------------------
|
||||
* Copyright (c) 2012 Ben Blazak <benblazak.dev@gmail.com>
|
||||
* Released under The MIT License (MIT) (see "license.md")
|
||||
* Project located at <https://github.com/benblazak/ergodox-firmware>
|
||||
* ------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
#ifndef KEYBOARD__ERGODOX__LAYOUT__COLEMAK_h
|
||||
#define KEYBOARD__ERGODOX__LAYOUT__COLEMAK_h
|
||||
|
||||
#include "../controller.h"
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#define kb_led_num_on() _kb_led_1_on()
|
||||
#define kb_led_num_off() _kb_led_1_off()
|
||||
#define kb_led_caps_on() _kb_led_2_on()
|
||||
#define kb_led_caps_off() _kb_led_2_off()
|
||||
#define kb_led_scroll_on() _kb_led_3_on()
|
||||
#define kb_led_scroll_off() _kb_led_3_off()
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#include "./default--led-control.h"
|
||||
#include "./default--matrix-control.h"
|
||||
|
||||
#endif
|
||||
|
|
@ -1,370 +0,0 @@
|
|||
/* ----------------------------------------------------------------------------
|
||||
* ergoDOX layout : Dvorak (modified from the Kinesis layout)
|
||||
* ----------------------------------------------------------------------------
|
||||
* Copyright (c) 2012 Ben Blazak <benblazak.dev@gmail.com>
|
||||
* Released under The MIT License (MIT) (see "license.md")
|
||||
* Project located at <https://github.com/benblazak/ergodox-firmware>
|
||||
* ------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <avr/pgmspace.h>
|
||||
#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"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
const uint8_t PROGMEM _kb_layout[KB_LAYERS][KB_ROWS][KB_COLUMNS] = {
|
||||
|
||||
KB_MATRIX_LAYER( // layout: layer 0: default
|
||||
// unused
|
||||
0,
|
||||
// left hand
|
||||
_equal, _1, _2, _3, _4, _5, _esc,
|
||||
_backslash, _quote, _comma, _period, _P, _Y, 1,
|
||||
_tab, _A, _O, _E, _U, _I,
|
||||
_shiftL, _semicolon, _Q, _J, _K, _X, 1,
|
||||
_guiL, _grave, _backslash, _arrowL, _arrowR,
|
||||
_ctrlL, _altL,
|
||||
0, 0, _home,
|
||||
_bs, _del, _end,
|
||||
// right hand
|
||||
3, _6, _7, _8, _9, _0, _dash,
|
||||
_bracketL, _F, _G, _C, _R, _L, _bracketR,
|
||||
_D, _H, _T, _N, _S, _slash,
|
||||
1, _B, _M, _W, _V, _Z, _shiftR,
|
||||
_arrowL, _arrowD, _arrowU, _arrowR, _guiR,
|
||||
_altR, _ctrlR,
|
||||
_pageU, 0, 0,
|
||||
_pageD, _enter, _space ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // layout: layer 1: function and symbol keys
|
||||
// unused
|
||||
0,
|
||||
// left hand
|
||||
0, _F1, _F2, _F3, _F4, _F5, _F11,
|
||||
0, _bracketL, _bracketR, _bracketL, _bracketR, 0, 1,
|
||||
0, _semicolon, _slash, _dash, _0_kp,_semicolon,
|
||||
0, _6_kp, _7_kp, _8_kp, _9_kp, _equal, 2,
|
||||
0, 0, 0, 0, 0,
|
||||
0, 0,
|
||||
0, 0, 0,
|
||||
0, 0, 0,
|
||||
// right hand
|
||||
_F12, _F6, _F7, _F8, _F9, _F10, _power,
|
||||
0, 0, _dash, _comma, _period,_currencyUnit, _volumeU,
|
||||
_backslash, _1_kp, _9, _0, _equal, _volumeD,
|
||||
2, _8, _2_kp, _3_kp, _4_kp, _5_kp, _mute,
|
||||
0, 0, 0, 0, 0,
|
||||
0, 0,
|
||||
0, 0, 0,
|
||||
0, 0, 0 ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // layout: layer 2: keyboard functions
|
||||
// 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, 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 ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // layout: layer 3: 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, _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, _period, _enter_kp, 0,
|
||||
0, 0,
|
||||
0, 0, 0,
|
||||
0, 0, _0_kp ),
|
||||
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// aliases
|
||||
|
||||
// basic
|
||||
#define kprrel &kbfun_press_release
|
||||
#define ktog &kbfun_toggle
|
||||
#define ktrans &kbfun_transparent
|
||||
// --- layer push/pop functions
|
||||
#define lpush1 &kbfun_layer_push_1
|
||||
#define lpush2 &kbfun_layer_push_2
|
||||
#define lpush3 &kbfun_layer_push_3
|
||||
#define lpush4 &kbfun_layer_push_4
|
||||
#define lpush5 &kbfun_layer_push_5
|
||||
#define lpush6 &kbfun_layer_push_6
|
||||
#define lpush7 &kbfun_layer_push_7
|
||||
#define lpush8 &kbfun_layer_push_8
|
||||
#define lpush9 &kbfun_layer_push_9
|
||||
#define lpush10 &kbfun_layer_push_10
|
||||
#define lpop1 &kbfun_layer_pop_1
|
||||
#define lpop2 &kbfun_layer_pop_2
|
||||
#define lpop3 &kbfun_layer_pop_3
|
||||
#define lpop4 &kbfun_layer_pop_4
|
||||
#define lpop5 &kbfun_layer_pop_5
|
||||
#define lpop6 &kbfun_layer_pop_6
|
||||
#define lpop7 &kbfun_layer_pop_7
|
||||
#define lpop8 &kbfun_layer_pop_8
|
||||
#define lpop9 &kbfun_layer_pop_9
|
||||
#define lpop10 &kbfun_layer_pop_10
|
||||
// ---
|
||||
|
||||
// device
|
||||
#define dbtldr &kbfun_jump_to_bootloader
|
||||
|
||||
// special
|
||||
#define sshprre &kbfun_shift_press_release
|
||||
#define s2kcap &kbfun_2_keys_capslock_press_release
|
||||
#define slpunum &kbfun_layer_push_numpad
|
||||
#define slponum &kbfun_layer_pop_numpad
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
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
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, lpush1,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
s2kcap, kprrel, kprrel, kprrel, kprrel, kprrel, lpush1,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel,
|
||||
NULL, NULL, kprrel,
|
||||
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,
|
||||
lpush1, kprrel, kprrel, kprrel, kprrel, kprrel, s2kcap,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel,
|
||||
kprrel, NULL, NULL,
|
||||
kprrel, kprrel, kprrel ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // press: layer 1: function and symbol keys
|
||||
// unused
|
||||
NULL,
|
||||
// left hand
|
||||
NULL, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans,sshprre,sshprre, kprrel, kprrel, NULL, lpop1,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel,sshprre,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel,sshprre, lpush2,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
// right hand
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans, NULL, kprrel,sshprre,sshprre, kprrel, kprrel,
|
||||
kprrel, kprrel,sshprre,sshprre,sshprre, kprrel,
|
||||
lpush2,sshprre, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // press: layer 2: keyboard functions
|
||||
// unused
|
||||
NULL,
|
||||
// left hand
|
||||
dbtldr, 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, 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 ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // press: layer 3: numpad
|
||||
// unused
|
||||
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, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, kprrel ),
|
||||
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
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
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, NULL,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
s2kcap, kprrel, kprrel, kprrel, kprrel, kprrel, lpop1,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel,
|
||||
NULL, NULL, kprrel,
|
||||
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,
|
||||
lpop1, kprrel, kprrel, kprrel, kprrel, kprrel, s2kcap,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel,
|
||||
kprrel, NULL, NULL,
|
||||
kprrel, kprrel, kprrel ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // release: layer 1: function and symbol keys
|
||||
// unused
|
||||
NULL,
|
||||
// left hand
|
||||
NULL, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans,sshprre,sshprre, kprrel, kprrel, NULL, NULL,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel,sshprre,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel,sshprre, lpop2,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
// right hand
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans, NULL, kprrel,sshprre,sshprre, kprrel, kprrel,
|
||||
kprrel, kprrel,sshprre,sshprre,sshprre, kprrel,
|
||||
lpop2,sshprre, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // release: layer 2: keyboard functions
|
||||
// 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, 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 ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // release: layer 3: numpad
|
||||
// unused
|
||||
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,
|
||||
ktrans, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, ktrans, kprrel, kprrel, ktrans,
|
||||
ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, kprrel ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // release: layer 3: nothing (just making sure unused
|
||||
// functions don't get compiled out)
|
||||
// unused
|
||||
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 )
|
||||
|
||||
};
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
/* ----------------------------------------------------------------------------
|
||||
* ergoDOX : layout : Dvorak : exports
|
||||
* ----------------------------------------------------------------------------
|
||||
* Copyright (c) 2012 Ben Blazak <benblazak.dev@gmail.com>
|
||||
* Released under The MIT License (MIT) (see "license.md")
|
||||
* Project located at <https://github.com/benblazak/ergodox-firmware>
|
||||
* ------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
#ifndef KEYBOARD__ERGODOX__LAYOUT__DVORAK_h
|
||||
#define KEYBOARD__ERGODOX__LAYOUT__DVORAK_h
|
||||
|
||||
#include "../controller.h"
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#define kb_led_num_on() _kb_led_1_on()
|
||||
#define kb_led_num_off() _kb_led_1_off()
|
||||
#define kb_led_caps_on() _kb_led_2_on()
|
||||
#define kb_led_caps_off() _kb_led_2_off()
|
||||
#define kb_led_scroll_on() _kb_led_3_on()
|
||||
#define kb_led_scroll_off() _kb_led_3_off()
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#include "./default--led-control.h"
|
||||
#include "./default--matrix-control.h"
|
||||
|
||||
#endif
|
||||
|
|
@ -1,370 +0,0 @@
|
|||
/* ----------------------------------------------------------------------------
|
||||
* ergoDOX layout : QWERTY (modified from the Kinesis layout)
|
||||
* ----------------------------------------------------------------------------
|
||||
* Copyright (c) 2012 Ben Blazak <benblazak.dev@gmail.com>
|
||||
* Released under The MIT License (MIT) (see "license.md")
|
||||
* Project located at <https://github.com/benblazak/ergodox-firmware>
|
||||
* ------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <avr/pgmspace.h>
|
||||
#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"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
const uint8_t PROGMEM _kb_layout[KB_LAYERS][KB_ROWS][KB_COLUMNS] = {
|
||||
|
||||
KB_MATRIX_LAYER( // layout: layer 0: default
|
||||
// unused
|
||||
0,
|
||||
// left hand
|
||||
_equal, _1, _2, _3, _4, _5, _esc,
|
||||
_backslash, _Q, _W, _E, _R, _T, 1,
|
||||
_tab, _A, _S, _D, _F, _G,
|
||||
_shiftL, _Z, _X, _C, _V, _B, 1,
|
||||
_guiL, _grave, _backslash, _arrowL, _arrowR,
|
||||
_ctrlL, _altL,
|
||||
0, 0, _home,
|
||||
_bs, _del, _end,
|
||||
// right hand
|
||||
3, _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,
|
||||
_altR, _ctrlR,
|
||||
_pageU, 0, 0,
|
||||
_pageD, _enter, _space ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // layout: layer 1: function and symbol keys
|
||||
// unused
|
||||
0,
|
||||
// left hand
|
||||
0, _F1, _F2, _F3, _F4, _F5, _F11,
|
||||
0, _bracketL, _bracketR, _bracketL, _bracketR, 0, 1,
|
||||
0, _semicolon, _slash, _dash, _0_kp,_semicolon,
|
||||
0, _6_kp, _7_kp, _8_kp, _9_kp, _equal, 2,
|
||||
0, 0, 0, 0, 0,
|
||||
0, 0,
|
||||
0, 0, 0,
|
||||
0, 0, 0,
|
||||
// right hand
|
||||
_F12, _F6, _F7, _F8, _F9, _F10, _power,
|
||||
0, 0, _dash, _comma, _period,_currencyUnit, _volumeU,
|
||||
_backslash, _1_kp, _9, _0, _equal, _volumeD,
|
||||
2, _8, _2_kp, _3_kp, _4_kp, _5_kp, _mute,
|
||||
0, 0, 0, 0, 0,
|
||||
0, 0,
|
||||
0, 0, 0,
|
||||
0, 0, 0 ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // layout: layer 2: keyboard functions
|
||||
// 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, 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 ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // layout: layer 3: 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, _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, _period, _enter_kp, 0,
|
||||
0, 0,
|
||||
0, 0, 0,
|
||||
0, 0, _0_kp ),
|
||||
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// aliases
|
||||
|
||||
// basic
|
||||
#define kprrel &kbfun_press_release
|
||||
#define ktog &kbfun_toggle
|
||||
#define ktrans &kbfun_transparent
|
||||
// --- layer push/pop functions
|
||||
#define lpush1 &kbfun_layer_push_1
|
||||
#define lpush2 &kbfun_layer_push_2
|
||||
#define lpush3 &kbfun_layer_push_3
|
||||
#define lpush4 &kbfun_layer_push_4
|
||||
#define lpush5 &kbfun_layer_push_5
|
||||
#define lpush6 &kbfun_layer_push_6
|
||||
#define lpush7 &kbfun_layer_push_7
|
||||
#define lpush8 &kbfun_layer_push_8
|
||||
#define lpush9 &kbfun_layer_push_9
|
||||
#define lpush10 &kbfun_layer_push_10
|
||||
#define lpop1 &kbfun_layer_pop_1
|
||||
#define lpop2 &kbfun_layer_pop_2
|
||||
#define lpop3 &kbfun_layer_pop_3
|
||||
#define lpop4 &kbfun_layer_pop_4
|
||||
#define lpop5 &kbfun_layer_pop_5
|
||||
#define lpop6 &kbfun_layer_pop_6
|
||||
#define lpop7 &kbfun_layer_pop_7
|
||||
#define lpop8 &kbfun_layer_pop_8
|
||||
#define lpop9 &kbfun_layer_pop_9
|
||||
#define lpop10 &kbfun_layer_pop_10
|
||||
// ---
|
||||
|
||||
// device
|
||||
#define dbtldr &kbfun_jump_to_bootloader
|
||||
|
||||
// special
|
||||
#define sshprre &kbfun_shift_press_release
|
||||
#define s2kcap &kbfun_2_keys_capslock_press_release
|
||||
#define slpunum &kbfun_layer_push_numpad
|
||||
#define slponum &kbfun_layer_pop_numpad
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
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
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, lpush1,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
s2kcap, kprrel, kprrel, kprrel, kprrel, kprrel, lpush1,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel,
|
||||
NULL, NULL, kprrel,
|
||||
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,
|
||||
lpush1, kprrel, kprrel, kprrel, kprrel, kprrel, s2kcap,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel,
|
||||
kprrel, NULL, NULL,
|
||||
kprrel, kprrel, kprrel ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // press: layer 1: function and symbol keys
|
||||
// unused
|
||||
NULL,
|
||||
// left hand
|
||||
NULL, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans,sshprre,sshprre, kprrel, kprrel, NULL, lpop1,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel,sshprre,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel,sshprre, lpush2,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
// right hand
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans, NULL, kprrel,sshprre,sshprre, kprrel, kprrel,
|
||||
kprrel, kprrel,sshprre,sshprre,sshprre, kprrel,
|
||||
lpush2,sshprre, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // press: layer 2: keyboard functions
|
||||
// unused
|
||||
NULL,
|
||||
// left hand
|
||||
dbtldr, 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, 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 ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // press: layer 3: numpad
|
||||
// unused
|
||||
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, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, kprrel ),
|
||||
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
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
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, NULL,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
s2kcap, kprrel, kprrel, kprrel, kprrel, kprrel, lpop1,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel,
|
||||
NULL, NULL, kprrel,
|
||||
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,
|
||||
lpop1, kprrel, kprrel, kprrel, kprrel, kprrel, s2kcap,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel,
|
||||
kprrel, NULL, NULL,
|
||||
kprrel, kprrel, kprrel ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // release: layer 1: function and symbol keys
|
||||
// unused
|
||||
NULL,
|
||||
// left hand
|
||||
NULL, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans,sshprre,sshprre, kprrel, kprrel, NULL, NULL,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel,sshprre,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel,sshprre, lpop2,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
// right hand
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans, NULL, kprrel,sshprre,sshprre, kprrel, kprrel,
|
||||
kprrel, kprrel,sshprre,sshprre,sshprre, kprrel,
|
||||
lpop2,sshprre, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // release: layer 2: keyboard functions
|
||||
// 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, 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 ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // release: layer 3: numpad
|
||||
// unused
|
||||
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,
|
||||
ktrans, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, ktrans, kprrel, kprrel, ktrans,
|
||||
ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, kprrel ),
|
||||
|
||||
|
||||
KB_MATRIX_LAYER( // release: layer 3: nothing (just making sure unused
|
||||
// functions don't get compiled out)
|
||||
// unused
|
||||
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 )
|
||||
|
||||
};
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
/* ----------------------------------------------------------------------------
|
||||
* ergoDOX : layout : QWERTY : exports
|
||||
* ----------------------------------------------------------------------------
|
||||
* Copyright (c) 2012 Ben Blazak <benblazak.dev@gmail.com>
|
||||
* Released under The MIT License (MIT) (see "license.md")
|
||||
* Project located at <https://github.com/benblazak/ergodox-firmware>
|
||||
* ------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
#ifndef KEYBOARD__ERGODOX__LAYOUT__QWERTY_h
|
||||
#define KEYBOARD__ERGODOX__LAYOUT__QWERTY_h
|
||||
|
||||
#include "../controller.h"
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#define kb_led_num_on() _kb_led_1_on()
|
||||
#define kb_led_num_off() _kb_led_1_off()
|
||||
#define kb_led_caps_on() _kb_led_2_on()
|
||||
#define kb_led_caps_off() _kb_led_2_off()
|
||||
#define kb_led_scroll_on() _kb_led_3_on()
|
||||
#define kb_led_scroll_off() _kb_led_3_off()
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#include "./default--led-control.h"
|
||||
#include "./default--matrix-control.h"
|
||||
|
||||
#endif
|
||||
|
|
@ -1,978 +0,0 @@
|
|||
/* ----------------------------------------------------------------------------
|
||||
* ergoDOX layout : Workman-P (modified from the Kinesis layout)
|
||||
* -----------------------------------------------------------------------------
|
||||
* Copyright (c) 2012 Ben Blazak <benblazak.dev@gmail.com>
|
||||
* Released under The MIT License (MIT) (see "license.md")
|
||||
* Project located at <https://github.com/benblazak/ergodox-firmware>
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
// TODO: there is a bug where if you hit an inverted key and a normal key, at
|
||||
// the same time, when the 6 key buffer and modifier states are sent the
|
||||
// inverted key's shift state can be used for the non-inverted key.
|
||||
// Example: hit 1 and q at the same time in workman-p, you may end up with "!Q"
|
||||
// instead of "!q". Not sure how to fix this at present, but it may require
|
||||
// sending two frames of updates to properly denote an order (shifted in one
|
||||
// update, unshifted added in another, as though shift was released).
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <avr/pgmspace.h>
|
||||
#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"
|
||||
#include "../../../main.h"
|
||||
|
||||
#define USING_WORKMAN_P // undef to use standard workman
|
||||
|
||||
// convenience macros
|
||||
#define LAYER main_arg_layer
|
||||
#define LAYER_OFFSET main_arg_layer_offset
|
||||
#define ROW main_arg_row
|
||||
#define COL main_arg_col
|
||||
#define IS_PRESSED main_arg_is_pressed
|
||||
#define WAS_PRESSED main_arg_was_pressed
|
||||
|
||||
// FUNCTIONS ------------------------------------------------------------------
|
||||
void kbfun_layer_pop_all(void) {
|
||||
kbfun_layer_pop_1();
|
||||
kbfun_layer_pop_2();
|
||||
kbfun_layer_pop_3();
|
||||
kbfun_layer_pop_4();
|
||||
kbfun_layer_pop_5();
|
||||
kbfun_layer_pop_6();
|
||||
kbfun_layer_pop_7();
|
||||
kbfun_layer_pop_8();
|
||||
kbfun_layer_pop_9();
|
||||
kbfun_layer_pop_10();
|
||||
}
|
||||
|
||||
|
||||
|
||||
static uint8_t inverted_keys_pressed;
|
||||
static bool physical_lshift_pressed;
|
||||
static bool physical_rshift_pressed;
|
||||
|
||||
void invert_shift_state() {
|
||||
// make lshift's state the inverted shift stated
|
||||
_kbfun_press_release(!(physical_lshift_pressed|physical_rshift_pressed), KEY_LeftShift);
|
||||
// release rshift
|
||||
_kbfun_press_release(false, KEY_RightShift);
|
||||
}
|
||||
void restore_shift_state() {
|
||||
// restore the state of left and right shift
|
||||
_kbfun_press_release(physical_lshift_pressed, KEY_LeftShift);
|
||||
_kbfun_press_release(physical_rshift_pressed, KEY_RightShift);
|
||||
}
|
||||
|
||||
/*
|
||||
* [name]
|
||||
* Invert shift + press|release
|
||||
*
|
||||
* [description]
|
||||
* Generate a 'shift' press or release before the normal keypress or
|
||||
* key release if shift is not pressed. Generate a normal keypress or
|
||||
* key release if shift is pressed.
|
||||
*/
|
||||
void kbfun_invert_shift_press_release(void) {
|
||||
if (IS_PRESSED) {
|
||||
++inverted_keys_pressed;
|
||||
invert_shift_state();
|
||||
}
|
||||
|
||||
kbfun_press_release();
|
||||
|
||||
if (!IS_PRESSED) {
|
||||
// if this is the last key we're releasing
|
||||
if (inverted_keys_pressed == 1) {
|
||||
restore_shift_state();
|
||||
}
|
||||
// avoid underflow
|
||||
if (inverted_keys_pressed) {
|
||||
--inverted_keys_pressed;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* [name]
|
||||
* Shift state fix + press|release
|
||||
*
|
||||
* [description]
|
||||
* If no inverted keys are pressed, simply perform a press and release.
|
||||
* If inverted keys are pressed, fix the shift state back to that of the
|
||||
* physical keys before pressing the key.
|
||||
*/
|
||||
void kbfun_fix_shifted_press_release(void) {
|
||||
uint8_t keycode = kb_layout_get(LAYER, ROW, COL);
|
||||
switch (keycode) {
|
||||
// shift state toggles
|
||||
case KEY_LeftShift:
|
||||
physical_lshift_pressed = IS_PRESSED;
|
||||
break;
|
||||
case KEY_RightShift:
|
||||
physical_rshift_pressed = IS_PRESSED;
|
||||
break;
|
||||
// Keys which don't break it
|
||||
case KEY_CapsLock:
|
||||
case KEYPAD_NumLock_Clear:
|
||||
kbfun_press_release();
|
||||
return;
|
||||
default:
|
||||
// If we're not just changing the modifier, we need our true shift state.
|
||||
if (inverted_keys_pressed) {
|
||||
inverted_keys_pressed = 0;
|
||||
restore_shift_state();
|
||||
}
|
||||
kbfun_press_release();
|
||||
return;
|
||||
}
|
||||
// We only get here if we pressed left or right shift
|
||||
if (inverted_keys_pressed) {
|
||||
invert_shift_state();
|
||||
} else {
|
||||
kbfun_press_release();
|
||||
}
|
||||
}
|
||||
|
||||
// DEFINITIONS ----------------------------------------------------------------
|
||||
// basic
|
||||
#define mprrel &kbfun_mediakey_press_release
|
||||
#define ktog &kbfun_toggle
|
||||
#define ktrans &kbfun_transparent
|
||||
// --- layer push/pop functions
|
||||
#define lpush1 &kbfun_layer_push_1
|
||||
#define lpush2 &kbfun_layer_push_2
|
||||
#define lpush3 &kbfun_layer_push_3
|
||||
#define lpush4 &kbfun_layer_push_4
|
||||
#define lpush5 &kbfun_layer_push_5
|
||||
#define lpush6 &kbfun_layer_push_6
|
||||
#define lpush7 &kbfun_layer_push_7
|
||||
#define lpush8 &kbfun_layer_push_8
|
||||
#define lpush9 &kbfun_layer_push_9
|
||||
#define lpush10 &kbfun_layer_push_10
|
||||
#define lpop &kbfun_layer_pop_all
|
||||
#define lpop1 &kbfun_layer_pop_1
|
||||
#define lpop2 &kbfun_layer_pop_2
|
||||
#define lpop3 &kbfun_layer_pop_3
|
||||
#define lpop4 &kbfun_layer_pop_4
|
||||
#define lpop5 &kbfun_layer_pop_5
|
||||
#define lpop6 &kbfun_layer_pop_6
|
||||
#define lpop7 &kbfun_layer_pop_7
|
||||
#define lpop8 &kbfun_layer_pop_8
|
||||
#define lpop9 &kbfun_layer_pop_9
|
||||
#define lpop10 &kbfun_layer_pop_10
|
||||
// device
|
||||
#define dbtldr &kbfun_jump_to_bootloader
|
||||
|
||||
// special
|
||||
#define sshprre &kbfun_shift_press_release
|
||||
#define s2kcap &kbfun_2_keys_capslock_press_release
|
||||
#define slpunum &kbfun_layer_push_numpad
|
||||
#define slponum &kbfun_layer_pop_numpad
|
||||
|
||||
// custom
|
||||
#ifdef USING_WORKMAN_P
|
||||
#define sinvert &kbfun_invert_shift_press_release
|
||||
#define kprrel &kbfun_fix_shifted_press_release
|
||||
#else
|
||||
#define kprrel &kbfun_press_release
|
||||
#define sinvert &kbfun_press_release
|
||||
#endif
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// LAYOUT ---------------------------------------------------------------------
|
||||
const uint8_t PROGMEM _kb_layout[KB_LAYERS][KB_ROWS][KB_COLUMNS] = {
|
||||
// LAYER 0
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
0 /*no key*/,
|
||||
// left hand
|
||||
KEY_Equal_Plus, KEY_1_Exclamation, KEY_2_At, KEY_3_Pound, KEY_4_Dollar, KEY_5_Percent, KEY_Application,
|
||||
KEY_Tab, KEY_q_Q, KEY_d_D, KEY_r_R, KEY_w_W, KEY_b_B, 1,
|
||||
KEY_Escape, KEY_a_A, KEY_s_S, KEY_h_H, KEY_t_T, KEY_g_G, /*no key*/
|
||||
KEY_LeftShift, KEY_z_Z, KEY_x_X, KEY_m_M, KEY_c_C, KEY_v_V, KEY_LeftAlt,
|
||||
KEY_LeftGUI, KEY_GraveAccent_Tilde, KEY_Backslash_Pipe, KEY_LeftArrow, KEY_RightArrow, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ KEY_LeftControl, KEY_PrintScreen,
|
||||
0 /*no key*/, 0 /*no key*/, KEY_Home,
|
||||
KEY_DeleteBackspace, KEY_DeleteForward, KEY_End,
|
||||
|
||||
// right hand
|
||||
2, KEY_6_Caret, KEY_7_Ampersand, KEY_8_Asterisk, KEY_9_LeftParenthesis, KEY_0_RightParenthesis, KEY_Dash_Underscore,
|
||||
1, KEY_j_J, KEY_f_F, KEY_u_U, KEY_p_P, KEY_Semicolon_Colon, KEY_Backslash_Pipe,
|
||||
/*no key*/ KEY_y_Y, KEY_n_N, KEY_e_E, KEY_o_O, KEY_i_I, KEY_SingleQuote_DoubleQuote,
|
||||
KEY_RightAlt, KEY_k_K, KEY_l_L, KEY_Comma_LessThan, KEY_Period_GreaterThan, KEY_Slash_Question, KEY_RightShift,
|
||||
/*no key*/ /*no key*/ KEY_UpArrow, KEY_DownArrow, KEY_LeftBracket_LeftBrace, KEY_RightBracket_RightBrace, KEY_RightGUI,
|
||||
// right thumb
|
||||
KEY_Pause, KEY_RightControl, /*no key*/
|
||||
KEY_PageUp, 0 /*no key*/, 0 /*no key*/,
|
||||
KEY_PageDown, KEY_ReturnEnter, KEY_Spacebar
|
||||
),
|
||||
// LAYER 1
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
0 /*no key*/,
|
||||
// left hand
|
||||
KEY_CapsLock, KEY_F1, KEY_F2, KEY_F3, KEY_F4, KEY_F5, KEY_F11,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, /*no key*/
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, MEDIAKEY_PREV_TRACK, MEDIAKEY_NEXT_TRACK, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/* no key*/ 0, 0,
|
||||
0 /*no key*/, 0 /*no key*/, 0,
|
||||
MEDIAKEY_STOP, 0, 0,
|
||||
|
||||
// right hand
|
||||
KEY_F12, KEY_F6, KEY_F7, KEY_F8, KEY_F9, KEY_F10, KEY_ScrollLock,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
/*no key*/ 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
/*no key*/ /*no key*/ MEDIAKEY_AUDIO_VOL_UP, MEDIAKEY_AUDIO_VOL_DOWN, MEDIAKEY_AUDIO_MUTE, 0, 3,
|
||||
// right thumb
|
||||
0, 0, /*no key*/
|
||||
0, 0 /*no key*/, 0 /*no key*/,
|
||||
0, 0, MEDIAKEY_PLAY_PAUSE
|
||||
),
|
||||
// LAYER 2
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
0 /*no key*/,
|
||||
// left hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, /*no key*/
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, KEY_Insert, 0, 0, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ 0, 0,
|
||||
0 /*no key*/, 0 /*no key*/, 0,
|
||||
0, 0, 0,
|
||||
|
||||
// right hand
|
||||
2, 0, KEYPAD_NumLock_Clear, KEYPAD_Equal, KEYPAD_Slash, KEYPAD_Asterisk, 0,
|
||||
0, 0, KEYPAD_7_Home, KEYPAD_8_UpArrow, KEYPAD_9_PageUp, KEYPAD_Minus, 0,
|
||||
/*no key*/ 0, KEYPAD_4_LeftArrow, KEYPAD_5, KEYPAD_6_RightArrow, KEYPAD_Plus, 0,
|
||||
0, 0, KEYPAD_1_End, KEYPAD_2_DownArrow, KEYPAD_3_PageDown, KEY_ReturnEnter, 0,
|
||||
/*no key*/ /*no key*/ 0, 0, KEYPAD_Period_Delete, KEY_ReturnEnter, 0,
|
||||
// right thumb
|
||||
0, 0, /*no key*/
|
||||
0, 0 /*no key*/, 0 /*no key*/,
|
||||
0, 0, KEYPAD_0_Insert
|
||||
),
|
||||
// LAYER 3
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
0 /*no key*/,
|
||||
// left hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, KEY_q_Q, KEY_w_W, KEY_e_E, KEY_r_R, KEY_t_T, 0,
|
||||
0, KEY_a_A, KEY_s_S, KEY_d_D, KEY_f_F, KEY_g_G, /*no key*/
|
||||
0, KEY_z_Z, KEY_x_X, KEY_c_C, KEY_v_V, KEY_b_B, 0,
|
||||
0, 0, 0, 0, 0, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ 0, 0,
|
||||
0 /*no key*/, 0 /*no key*/, 0,
|
||||
0, 0, 0,
|
||||
|
||||
// right hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, KEY_y_Y, KEY_u_U, KEY_i_I, KEY_o_O, KEY_p_P, 0,
|
||||
/*no key*/ KEY_h_H, KEY_j_J, KEY_k_K, KEY_l_L, KEY_Semicolon_Colon, 0,
|
||||
0, KEY_n_N, KEY_m_M, 0, 0, 0, 0,
|
||||
/*no key*/ /*no key*/ 0, 0, 0, 0, 0,
|
||||
// right thumb
|
||||
0, 0, /*no key*/
|
||||
0, 0 /*no key*/, 0 /*no key*/,
|
||||
0, 0, 0
|
||||
),
|
||||
// LAYER 4
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
0 /*no key*/,
|
||||
// left hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, /*no key*/
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ 0, 0,
|
||||
0 /*no key*/, 0 /*no key*/, 0,
|
||||
0, 0, 0,
|
||||
|
||||
// right hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
/*no key*/ 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
/*no key*/ /*no key*/ 0, 0, 0, 0, 0,
|
||||
// right thumb
|
||||
0, 0, /*no key*/
|
||||
0, 0 /*no key*/, 0 /*no key*/,
|
||||
0, 0, 0
|
||||
),
|
||||
// LAYER 5
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
0 /*no key*/,
|
||||
// left hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, /*no key*/
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ 0, 0,
|
||||
0 /*no key*/, 0 /*no key*/, 0,
|
||||
0, 0, 0,
|
||||
|
||||
// right hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
/*no key*/ 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
/*no key*/ /*no key*/ 0, 0, 0, 0, 0,
|
||||
// right thumb
|
||||
0, 0, /*no key*/
|
||||
0, 0 /*no key*/, 0 /*no key*/,
|
||||
0, 0, 0
|
||||
),
|
||||
// LAYER 6
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
0 /*no key*/,
|
||||
// left hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, /*no key*/
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ 0, 0,
|
||||
0 /*no key*/, 0 /*no key*/, 0,
|
||||
0, 0, 0,
|
||||
|
||||
// right hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
/*no key*/ 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
/*no key*/ /*no key*/ 0, 0, 0, 0, 0,
|
||||
// right thumb
|
||||
0, 0, /*no key*/
|
||||
0, 0 /*no key*/, 0 /*no key*/,
|
||||
0, 0, 0
|
||||
),
|
||||
// LAYER 7
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
0 /*no key*/,
|
||||
// left hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, /*no key*/
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ 0, 0,
|
||||
0 /*no key*/, 0 /*no key*/, 0,
|
||||
0, 0, 0,
|
||||
|
||||
// right hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
/*no key*/ 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
/*no key*/ /*no key*/ 0, 0, 0, 0, 0,
|
||||
// right thumb
|
||||
0, 0, /*no key*/
|
||||
0, 0 /*no key*/, 0 /*no key*/,
|
||||
0, 0, 0
|
||||
),
|
||||
// LAYER 8
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
0 /*no key*/,
|
||||
// left hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, /*no key*/
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ 0, 0,
|
||||
0 /*no key*/, 0 /*no key*/, 0,
|
||||
0, 0, 0,
|
||||
|
||||
// right hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
/*no key*/ 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
/*no key*/ /*no key*/ 0, 0, 0, 0, 0,
|
||||
// right thumb
|
||||
0, 0, /*no key*/
|
||||
0, 0 /*no key*/, 0 /*no key*/,
|
||||
0, 0, 0
|
||||
),
|
||||
// LAYER 9
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
0 /*no key*/,
|
||||
// left hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, /*no key*/
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ 0, 0,
|
||||
0 /*no key*/, 0 /*no key*/, 0,
|
||||
0, 0, 0,
|
||||
|
||||
// right hand
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
/*no key*/ 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
/*no key*/ /*no key*/ 0, 0, 0, 0, 0,
|
||||
// right thumb
|
||||
0, 0, /*no key*/
|
||||
0, 0 /*no key*/, 0 /*no key*/,
|
||||
0, 0, 0
|
||||
),
|
||||
};
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// PRESS ----------------------------------------------------------------------
|
||||
const void_funptr_t PROGMEM _kb_layout_press[KB_LAYERS][KB_ROWS][KB_COLUMNS] = {
|
||||
// LAYER 0
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
kprrel, sinvert, sinvert, sinvert, sinvert, sinvert, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, lpush1,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, /*no key*/
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ kprrel, kprrel,
|
||||
NULL /*no key*/, NULL /*no key*/, kprrel,
|
||||
kprrel, kprrel, kprrel,
|
||||
|
||||
// right hand
|
||||
lpush2, sinvert, sinvert, sinvert, sinvert, sinvert, kprrel,
|
||||
lpush1, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
/*no key*/ kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
/*no key*/ /*no key*/ kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
// right thumb
|
||||
kprrel, kprrel, /*no key*/
|
||||
kprrel, NULL /*no key*/, NULL /*no key*/,
|
||||
kprrel, kprrel, kprrel
|
||||
),
|
||||
// LAYER 1
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, /*no key*/
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
lpop, ktrans, ktrans, mprrel, mprrel, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ ktrans, ktrans,
|
||||
NULL /*no key*/, NULL /*no key*/, ktrans,
|
||||
mprrel, ktrans, ktrans,
|
||||
|
||||
// right hand
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
/*no key*/ ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
/*no key*/ /*no key*/ mprrel, mprrel, mprrel, ktrans, lpush3,
|
||||
// right thumb
|
||||
ktrans, ktrans, /*no key*/
|
||||
ktrans, NULL /*no key*/, NULL /*no key*/,
|
||||
ktrans, ktrans, mprrel
|
||||
),
|
||||
// LAYER 2
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, /*no key*/
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, kprrel, ktrans, ktrans, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ ktrans, ktrans,
|
||||
NULL /*no key*/, NULL /*no key*/, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
|
||||
// right hand
|
||||
lpop2, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
/*no key*/ ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
/*no key*/ /*no key*/ ktrans, ktrans, kprrel, kprrel, ktrans,
|
||||
// right thumb
|
||||
ktrans, ktrans, /*no key*/
|
||||
ktrans, NULL /*no key*/, NULL /*no key*/,
|
||||
ktrans, ktrans, kprrel
|
||||
),
|
||||
// LAYER 3
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, /*no key*/
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ ktrans, ktrans,
|
||||
NULL /*no key*/, NULL /*no key*/, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
|
||||
// right hand
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
/*no key*/ kprrel, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, kprrel, kprrel, ktrans, ktrans, ktrans, ktrans,
|
||||
/*no key*/ /*no key*/ ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
// right thumb
|
||||
ktrans, ktrans, /*no key*/
|
||||
ktrans, NULL /*no key*/, NULL /*no key*/,
|
||||
ktrans, ktrans, ktrans
|
||||
),
|
||||
// LAYER 4
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, /*no key*/
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ NULL, NULL,
|
||||
NULL /*no key*/, NULL /*no key*/, NULL,
|
||||
NULL, NULL, NULL,
|
||||
|
||||
// right hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ /*no key*/ NULL, NULL, NULL, NULL, NULL,
|
||||
// right thumb
|
||||
NULL, NULL, /*no key*/
|
||||
NULL, NULL /*no key*/, NULL /*no key*/,
|
||||
NULL, NULL, NULL
|
||||
),
|
||||
// LAYER 5
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, /*no key*/
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ NULL, NULL,
|
||||
NULL /*no key*/, NULL /*no key*/, NULL,
|
||||
NULL, NULL, NULL,
|
||||
|
||||
// right hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ /*no key*/ NULL, NULL, NULL, NULL, NULL,
|
||||
// right thumb
|
||||
NULL, NULL, /*no key*/
|
||||
NULL, NULL /*no key*/, NULL /*no key*/,
|
||||
NULL, NULL, NULL
|
||||
),
|
||||
// LAYER 6
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, /*no key*/
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ NULL, NULL,
|
||||
NULL /*no key*/, NULL /*no key*/, NULL,
|
||||
NULL, NULL, NULL,
|
||||
|
||||
// right hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ /*no key*/ NULL, NULL, NULL, NULL, NULL,
|
||||
// right thumb
|
||||
NULL, NULL, /*no key*/
|
||||
NULL, NULL /*no key*/, NULL /*no key*/,
|
||||
NULL, NULL, NULL
|
||||
),
|
||||
// LAYER 7
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, /*no key*/
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ NULL, NULL,
|
||||
NULL /*no key*/, NULL /*no key*/, NULL,
|
||||
NULL, NULL, NULL,
|
||||
|
||||
// right hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ /*no key*/ NULL, NULL, NULL, NULL, NULL,
|
||||
// right thumb
|
||||
NULL, NULL, /*no key*/
|
||||
NULL, NULL /*no key*/, NULL /*no key*/,
|
||||
NULL, NULL, NULL
|
||||
),
|
||||
// LAYER 8
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, /*no key*/
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ NULL, NULL,
|
||||
NULL /*no key*/, NULL /*no key*/, NULL,
|
||||
NULL, NULL, NULL,
|
||||
|
||||
// right hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ /*no key*/ NULL, NULL, NULL, NULL, NULL,
|
||||
// right thumb
|
||||
NULL, NULL, /*no key*/
|
||||
NULL, NULL /*no key*/, NULL /*no key*/,
|
||||
NULL, NULL, NULL
|
||||
),
|
||||
// LAYER 9
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, /*no key*/
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ NULL, NULL,
|
||||
NULL /*no key*/, NULL /*no key*/, NULL,
|
||||
NULL, NULL, NULL,
|
||||
|
||||
// right hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ /*no key*/ NULL, NULL, NULL, NULL, NULL,
|
||||
// right thumb
|
||||
NULL, NULL, /*no key*/
|
||||
NULL, NULL /*no key*/, NULL /*no key*/,
|
||||
NULL, NULL, NULL
|
||||
),
|
||||
};
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// RELEASE --------------------------------------------------------------------
|
||||
const void_funptr_t PROGMEM _kb_layout_release[KB_LAYERS][KB_ROWS][KB_COLUMNS] = {
|
||||
// LAYER 0
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
kprrel, sinvert, sinvert, sinvert, sinvert, sinvert, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, lpop1,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, /*no key*/
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ kprrel, kprrel,
|
||||
NULL /*no key*/, NULL /*no key*/, kprrel,
|
||||
kprrel, kprrel, kprrel,
|
||||
|
||||
// right hand
|
||||
NULL, sinvert, sinvert, sinvert, sinvert, sinvert, kprrel,
|
||||
lpop1, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
/*no key*/ kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
/*no key*/ /*no key*/ kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
// right thumb
|
||||
kprrel, kprrel, /*no key*/
|
||||
kprrel, NULL /*no key*/, NULL /*no key*/,
|
||||
kprrel, kprrel, kprrel
|
||||
),
|
||||
// LAYER 1
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, /*no key*/
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
NULL, ktrans, ktrans, mprrel, mprrel, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ ktrans, ktrans,
|
||||
NULL /*no key*/, NULL /*no key*/, ktrans,
|
||||
mprrel, ktrans, ktrans,
|
||||
|
||||
// right hand
|
||||
kprrel, kprrel, kprrel, kprrel, kprrel, kprrel, kprrel,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
/*no key*/ ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
/*no key*/ /*no key*/ mprrel, mprrel, mprrel, ktrans, NULL,
|
||||
// right thumb
|
||||
ktrans, ktrans, /*no key*/
|
||||
ktrans, NULL /*no key*/, NULL /*no key*/,
|
||||
ktrans, ktrans, mprrel
|
||||
),
|
||||
// LAYER 2
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, /*no key*/
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, ktrans, kprrel, ktrans, ktrans, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ ktrans, ktrans,
|
||||
NULL /*no key*/, NULL /*no key*/, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
|
||||
// right hand
|
||||
NULL, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
/*no key*/ ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
/*no key*/ /*no key*/ ktrans, ktrans, kprrel, kprrel, ktrans,
|
||||
// right thumb
|
||||
ktrans, ktrans, /*no key*/
|
||||
ktrans, NULL /*no key*/, NULL /*no key*/,
|
||||
ktrans, ktrans, kprrel
|
||||
),
|
||||
// LAYER 3
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, /*no key*/
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ ktrans, ktrans,
|
||||
NULL /*no key*/, NULL /*no key*/, ktrans,
|
||||
ktrans, ktrans, ktrans,
|
||||
|
||||
// right hand
|
||||
ktrans, ktrans, ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
ktrans, kprrel, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
/*no key*/ kprrel, kprrel, kprrel, kprrel, kprrel, ktrans,
|
||||
ktrans, kprrel, kprrel, ktrans, ktrans, ktrans, ktrans,
|
||||
/*no key*/ /*no key*/ ktrans, ktrans, ktrans, ktrans, ktrans,
|
||||
// right thumb
|
||||
ktrans, ktrans, /*no key*/
|
||||
ktrans, NULL /*no key*/, NULL /*no key*/,
|
||||
ktrans, ktrans, ktrans
|
||||
),
|
||||
// LAYER 4
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, /*no key*/
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ NULL, NULL,
|
||||
NULL /*no key*/, NULL /*no key*/, NULL,
|
||||
NULL, NULL, NULL,
|
||||
|
||||
// right hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ /*no key*/ NULL, NULL, NULL, NULL, NULL,
|
||||
// right thumb
|
||||
NULL, NULL, /*no key*/
|
||||
NULL, NULL /*no key*/, NULL /*no key*/,
|
||||
NULL, NULL, NULL
|
||||
),
|
||||
// LAYER 5
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, /*no key*/
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ NULL, NULL,
|
||||
NULL /*no key*/, NULL /*no key*/, NULL,
|
||||
NULL, NULL, NULL,
|
||||
|
||||
// right hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ /*no key*/ NULL, NULL, NULL, NULL, NULL,
|
||||
// right thumb
|
||||
NULL, NULL, /*no key*/
|
||||
NULL, NULL /*no key*/, NULL /*no key*/,
|
||||
NULL, NULL, NULL
|
||||
),
|
||||
// LAYER 6
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, /*no key*/
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ NULL, NULL,
|
||||
NULL /*no key*/, NULL /*no key*/, NULL,
|
||||
NULL, NULL, NULL,
|
||||
|
||||
// right hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ /*no key*/ NULL, NULL, NULL, NULL, NULL,
|
||||
// right thumb
|
||||
NULL, NULL, /*no key*/
|
||||
NULL, NULL /*no key*/, NULL /*no key*/,
|
||||
NULL, NULL, NULL
|
||||
),
|
||||
// LAYER 7
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, /*no key*/
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ NULL, NULL,
|
||||
NULL /*no key*/, NULL /*no key*/, NULL,
|
||||
NULL, NULL, NULL,
|
||||
|
||||
// right hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ /*no key*/ NULL, NULL, NULL, NULL, NULL,
|
||||
// right thumb
|
||||
NULL, NULL, /*no key*/
|
||||
NULL, NULL /*no key*/, NULL /*no key*/,
|
||||
NULL, NULL, NULL
|
||||
),
|
||||
// LAYER 8
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, /*no key*/
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ NULL, NULL,
|
||||
NULL /*no key*/, NULL /*no key*/, NULL,
|
||||
NULL, NULL, NULL,
|
||||
|
||||
// right hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ /*no key*/ NULL, NULL, NULL, NULL, NULL,
|
||||
// right thumb
|
||||
NULL, NULL, /*no key*/
|
||||
NULL, NULL /*no key*/, NULL /*no key*/,
|
||||
NULL, NULL, NULL
|
||||
),
|
||||
// LAYER 9
|
||||
KB_MATRIX_LAYER(
|
||||
// unused
|
||||
NULL /*no key*/,
|
||||
// left hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, /*no key*/
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, /*no key*/ /*no key*/
|
||||
// left thumb
|
||||
/*no key*/ NULL, NULL,
|
||||
NULL /*no key*/, NULL /*no key*/, NULL,
|
||||
NULL, NULL, NULL,
|
||||
|
||||
// right hand
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
/*no key*/ /*no key*/ NULL, NULL, NULL, NULL, NULL,
|
||||
// right thumb
|
||||
NULL, NULL, /*no key*/
|
||||
NULL, NULL /*no key*/, NULL /*no key*/,
|
||||
NULL, NULL, NULL
|
||||
),
|
||||
};
|
||||
// ----------------------------------------------------------------------------
|
|
@ -1,30 +0,0 @@
|
|||
/* ----------------------------------------------------------------------------
|
||||
* ergoDOX : layout : Workman-P : exports
|
||||
* ----------------------------------------------------------------------------
|
||||
* Copyright (c) 2012 Ben Blazak <benblazak.dev@gmail.com>
|
||||
* Released under The MIT License (MIT) (see "license.md")
|
||||
* Project located at <https://github.com/benblazak/ergodox-firmware>
|
||||
* ------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
#ifndef KEYBOARD__ERGODOX__LAYOUT__WORKMAN_P_h
|
||||
#define KEYBOARD__ERGODOX__LAYOUT__WORKMAN_P_h
|
||||
|
||||
#include "../controller.h"
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#define kb_led_num_on() _kb_led_1_on()
|
||||
#define kb_led_num_off() _kb_led_1_off()
|
||||
#define kb_led_caps_on() _kb_led_2_on()
|
||||
#define kb_led_caps_off() _kb_led_2_off()
|
||||
#define kb_led_scroll_on() _kb_led_3_on()
|
||||
#define kb_led_scroll_off() _kb_led_3_off()
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#include "./default--led-control.h"
|
||||
#include "./default--matrix-control.h"
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue