Layers reordered, according to Hasu's reccomendation + minor tweaks

This commit is contained in:
Oleg Kostyuk 2013-09-16 04:47:50 +03:00
parent d30fba8ce2
commit 065e4e3dd5
2 changed files with 236 additions and 196 deletions

View file

@ -5,13 +5,13 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,--------------------------------------------------. ,--------------------------------------------------.
* | ~ | 1 | 2 | 3 | 4 | 5 | \ | | - | 6 | 7 | 8 | 9 | 0 | = |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | Tab | Q | W | E | R | T | ~L1 | | ~L3 | Y | U | I | O | P | [ |
* | Tab | Q | W | E | R | T | ~L5 | | ~L6 | Y | U | I | O | P | [ |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | LShift | A | S | D | F | G |------| |------| H | J | K | L | ; | ' FN14 |
* |--------+------+------+------+------+------| L0 | | ~L4 |------+------+------+------+------+--------|
* | LCtrl | Z | X | C | V | B | | | | N | M | , | . | / | ] FN15 |
* | LShift | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
* |--------+------+------+------+------+------| L0 | | ~L7 |------+------+------+------+------+--------|
* | LCtrl | Z | X | C | V | B | | | | N | M | , | . | / | ] |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | ~L1 | ~L2 | Caps | LAlt | LGui | | Lft | Up | Dn | Rght | ~L4 |
* | ~L5 | ~L2 | Caps | LAlt | LGui | | Lft | Up | Dn | Rght | ~L6 |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | +L2 | Home | | PgUp | Del |
@ -39,8 +39,8 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* But sometimes I have to input something when XOrg is not active - for example, in Linux console,
* or in firmware console (while debugging firmware), or when keyboard is connected to not my computer.
*
* For such cases I have Layer5 :)
* // hint: switch to Layer5 is only at Layer4
* For such cases I have Layer1 :)
* // hint: switch to Layer1 is only at Layer6
*
****************************************************************************************************
*
@ -51,13 +51,13 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,--------------------------------------------------. ,--------------------------------------------------.
* | ~ | ; | ! | # | { | } | ' | | ^ | [ | ] | * | ( | ) | = |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | Tab | Q | D | R | W | B | ~L1 | | ~L3 | J | F | U | P | $ | : |
* | Tab | Q | D | R | W | B | ~L5 | | ~L6 | J | F | U | P | $ | : |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | LShift | A | S | H | T | G |------| |------| Y | N | E | O | I | - FN14 |
* |--------+------+------+------+------+------| L0 | | ~L4 |------+------+------+------+------+--------|
* | LCtrl | Z | X | M | C | V | | | | K | L | , | . | / | | FN15 |
* | LShift | A | S | H | T | G |------| |------| Y | N | E | O | I | - |
* |--------+------+------+------+------+------| L0 | | ~L7 |------+------+------+------+------+--------|
* | LCtrl | Z | X | M | C | V | | | | K | L | , | . | / | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | ~L1 | ~L2 | Caps | LAlt | LGui | | Lft | Up | Dn | Rght | ~L4 |
* | ~L5 | ~L2 | Caps | LAlt | LGui | | Lft | Up | Dn | Rght | ~L6 |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | +L2 | Home | | PgUp | Del |
@ -72,13 +72,13 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,--------------------------------------------------. ,--------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | " | | \ | 6 | 7 | 8 | 9 | 0 | + |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | Tab | Q | D | R | W | B | ~L1 | | ~L3 | J | F | U | P | @ | % |
* | Tab | Q | D | R | W | B | ~L5 | | ~L6 | J | F | U | P | @ | % |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | LShift | A | S | H | T | G |------| |------| Y | N | E | O | I | _ FN14 |
* |--------+------+------+------+------+------| L0 | | ~L4 |------+------+------+------+------+--------|
* | LCtrl | Z | X | M | C | V | | | | K | L | , | . | / | & FN15 |
* | LShift | A | S | H | T | G |------| |------| Y | N | E | O | I | _ |
* |--------+------+------+------+------+------| L0 | | ~L7 |------+------+------+------+------+--------|
* | LCtrl | Z | X | M | C | V | | | | K | L | , | . | / | & |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | ~L1 | ~L2 | Caps | LAlt | LGui | | Lft | Up | Dn | Rght | ~L4 |
* | ~L5 | ~L2 | Caps | LAlt | LGui | | Lft | Up | Dn | Rght | ~L6 |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | +L2 | Home | | PgUp | Del |
@ -90,112 +90,28 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*
*/
KEYMAP( // layout: layer 0: default
KEYMAP( // Layer0: default, leftled:none
// left hand
GRV, 1, 2, 3, 4, 5, BSLS,
TAB, Q, W, E, R, T, FN1,
FN16,FN20,S, D, F, G,
LCTL,Z, X, C, FN19,B, FN0,
FN1, FN6, CAPS,LALT,FN17,
FN2, HOME,
TAB, Q, W, E, R, T, FN19,
FN11,FN25,FN24,D, F, G,
LCTL,Z, X, C, FN23,B, FN15,
FN19,FN18,CAPS,LALT,FN12,
FN17,HOME,
END,
FN8, FN9, FN10,
FN5, FN6, FN7,
// right hand
MINS,6, 7, 8, 9, 0, EQL,
FN3, Y, U, I, O, P, LBRC,
FN18,J, K, L, FN21,FN14,
FN4, N, M, COMM,DOT, SLSH,FN15,
LEFT,UP, DOWN,RGHT,FN4,
FN20,Y, U, I, O, P, LBRC,
FN22,J, K, L, FN26,FN13,
FN21,N, M, COMM,DOT, SLSH,FN14,
LEFT,UP, DOWN,RGHT,FN20,
PGUP,DEL,
PGDN,
FN11,FN12,FN13
FN8, FN9, FN10
),
KEYMAP( // layout: layer 1: F-keys instead of numbers
// left hand
TRNS,F1, F2, F3, F4, F5, F6,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS,
// right hand
F7, F8, F9, F10, F11, F12, TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS
),
KEYMAP( // layout: layer 2: mouse + numpad
// left hand
TRNS,NO, NO, NO, NO, PAUS,PSCR,
TRNS,WH_L,WH_U,WH_D,WH_R,BTN2,TRNS,
TRNS,MS_L,MS_U,MS_D,MS_R,BTN1,
TRNS,NO, NO, NO, TRNS,BTN3,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS,
// right hand
SLCK,NLCK,PSLS,PAST,PAST,PMNS,BSPC,
TRNS,NO, P7, P8, P9, PMNS,BSPC,
TRNS,P4, P5, P6, PPLS,PENT,
TRNS,NO, P1, P2, P3, PPLS,PENT,
P0, PDOT,SLSH,PENT,PENT,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS
),
KEYMAP( // layout: layer 3: F-keys only
// left hand
TRNS,NO, NO, NO, NO, NO, NO,
TRNS,F13, F14, F15, F16, NO, TRNS,
TRNS,F17, F18, F19, F20, NO,
TRNS,F21, F22, F23, F24, NO, TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS,
// right hand
NO, NO, NO, NO, NO, NO, TRNS,
TRNS,NO, F1, F2, F3, F4, TRNS,
NO, F5, F6, F7, F8, TRNS,
TRNS,NO, F9, F10, F11, F12, TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS
),
KEYMAP( // layout: layer 4: F-keys + cursor
// left hand
TRNS,F1, F2, F3, F4, F5, F6,
FN7, NO, PGUP,UP, PGDN,PGUP,TRNS,
TRNS,NO, LEFT,DOWN,RGHT,PGDN,
TRNS,NO, NO, END, HOME,NO, TRNS,
FN5, TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS,
// right hand
F7, F8, F9, F10, F11, F12, MINS,
TRNS,PGUP,PGUP,UP, PGDN,NO, FN7,
PGDN,LEFT,DOWN,RGHT,NO, TRNS,
TRNS,NO, HOME,END, NO, NO, TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS
),
KEYMAP( // layout: layer 5: Workman layout
KEYMAP( // Layer1: Workman layout, leftled:all
// left hand
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,Q, D, R, W, B, TRNS,
@ -216,7 +132,144 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
TRNS,TRNS,TRNS
),
KEYMAP( // layout: layer 6: F-keys on home+1 row
KEYMAP( // Layer2: mouse + numpad, leftled:blue
// left hand
TRNS,NO, NO, NO, NO, PAUS,PSCR,
TRNS,WH_L,WH_U,WH_D,WH_R,BTN2,TRNS,
TRNS,MS_L,MS_U,MS_D,MS_R,BTN1,
TRNS,NO, NO, NO, TRNS,BTN3,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS,
// right hand
SLCK,NLCK,PSLS,PAST,PAST,PMNS,BSPC,
TRNS,NO, P7, P8, P9, PMNS,BSPC,
TRNS,P4, P5, P6, PPLS,PENT,
TRNS,NO, P1, P2, P3, PPLS,PENT,
P0, PDOT,SLSH,PENT,PENT,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS
),
KEYMAP( // Layer3: F-keys + PgUp/PgDn on right hand, leftled:green
// left hand
TRNS,NO, NO, NO, NO, NO, NO,
TRNS,NO, NO, NO, NO, NO, TRNS,
TRNS,NO, TRNS,NO, NO, NO,
TRNS,NO, NO, NO, NO, NO, TRNS,
TRNS,TRNS,TRNS,LALT,LGUI,
TRNS,TRNS,
TRNS,
LCTL,LSFT,TRNS,
// right hand
NO, NO, NO, NO, NO, NO, TRNS,
TRNS,NO, F1, F2, F3, F4, PGUP,
NO, F5, F6, F7, F8, PGDN,
TRNS,NO, F9, F10, F11, F12, NO,
RGUI,RALT,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,RSFT,RCTL
),
KEYMAP( // Layer4: unconvenient keys on right hand, leftled:red
// left hand
TRNS,NO, NO, NO, NO, NO, NO,
TRNS,NO, NO, NO, NO, NO, TRNS,
TRNS,TRNS,NO, NO, NO, NO,
TRNS,NO, NO, NO, NO, NO, TRNS,
TRNS,TRNS,TRNS,LALT,LGUI,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS,
// in Workman this will be:
// =
// { } ( ) +
// ' " ^ ^ \
// [ < > ] \
// right hand
NO, NO, NO, NO, NO, NO, TRNS,
TRNS,NO, 4, 5, 9, 0, PPLS,
NO, BSLS,FN1, MINS,MINS,FN2,
TRNS,NO, 6, FN3, FN4, 7, FN2,
TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS
),
KEYMAP( // Layer5: F-keys instead of numbers, leftled:red
// left hand
TRNS,F1, F2, F3, F4, F5, F6,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS,
// right hand
F7, F8, F9, F10, F11, F12, TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS
),
KEYMAP( // Layer6: F-keys, cursor, Workman-layer switch, Teensy, leftled:red+onboard
// left hand
TRNS,F1, F2, F3, F4, F5, F6,
FN0, NO, PGUP,UP, PGDN,PGUP,TRNS,
TRNS,NO, LEFT,DOWN,RGHT,PGDN,
TRNS,NO, NO, END, HOME,NO, TRNS,
FN16,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS,
// right hand
F7, F8, F9, F10, F11, F12, MINS,
TRNS,PGUP,PGUP,UP, PGDN,NO, FN0,
PGDN,LEFT,DOWN,RGHT,NO, TRNS,
TRNS,NO, HOME,END, NO, NO, TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS
),
//
// rarely used
//
KEYMAP( // Layer7: F-keys only
// left hand
TRNS,NO, NO, NO, NO, NO, NO,
TRNS,F13, F14, F15, F16, NO, TRNS,
TRNS,F17, F18, F19, F20, NO,
TRNS,F21, F22, F23, F24, NO, TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS,
// right hand
NO, NO, NO, NO, NO, NO, TRNS,
TRNS,NO, F1, F2, F3, F4, TRNS,
NO, F5, F6, F7, F8, TRNS,
TRNS,NO, F9, F10, F11, F12, TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,TRNS,TRNS
),
KEYMAP( // Layer8: F-keys on home+1 row
// left hand
TRNS,NO, NO, NO, NO, NO, NO,
TRNS,F1, F2, F3, F4, F5, F11,
@ -237,31 +290,10 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
TRNS,RSFT,RCTL
),
KEYMAP( // layout: layer 7: F-keys on right hand
// left hand
TRNS,NO, NO, NO, NO, NO, NO,
TRNS,NO, NO, NO, NO, NO, TRNS,
TRNS,TRNS,NO, NO, NO, NO,
TRNS,NO, NO, NO, NO, NO, TRNS,
TRNS,TRNS,TRNS,LALT,LGUI,
TRNS,TRNS,
TRNS,
LCTL,LSFT,TRNS,
// right hand
NO, NO, NO, NO, NO, NO, TRNS,
TRNS,MINS,F1, F2, F3, F4, PGUP,
BSLS,F5, F6, F7, F8, PGDN,
TRNS,FN22,F9, F10, F11, F12, FN23,
RGUI,RALT,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,RSFT,RCTL
),
/*
// templates to copy from
KEYMAP( // layout: layer N: transparent on edges, all others are empty
KEYMAP( // LayerN: transparent on edges + hard-defined thumb keys, all others are empty
// left hand
TRNS,NO, NO, NO, NO, NO, NO,
TRNS,NO, NO, NO, NO, NO, TRNS,
@ -281,7 +313,7 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
TRNS,
TRNS,RSFT,RCTL
),
KEYMAP( // layout: layer N: fully transparent
KEYMAP( // LayerN: fully transparent
// left hand
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
@ -314,33 +346,39 @@ enum function_id {
* Fn action definition
*/
static const uint16_t PROGMEM fn_actions[] = {
ACTION_LAYER_SET(0, ON_BOTH), // FN0 - switch to Layer0
ACTION_LAYER_MOMENTARY(1), // FN1 - push Layer1
ACTION_LAYER_SET(2, ON_BOTH), // FN2 - switch to Layer2
ACTION_LAYER_MOMENTARY(3), // FN3 - push Layer3
ACTION_LAYER_MOMENTARY(4), // FN4 - push Layer4
ACTION_LAYER_SET(5, ON_BOTH), // FN5 - switch to Layer5
ACTION_LAYER_MOMENTARY(2), // FN6 - push Layer2
ACTION_FUNCTION(TEENSY_KEY), // FN7 - Teensy key
ACTION_FUNCTION(TEENSY_KEY), // FN0 - Teensy key
ACTION_MODS_TAP_KEY(MOD_LCTL, KC_BSPC), // FN8 = LShift with tap BackSpace
ACTION_MODS_TAP_KEY(MOD_LSFT, KC_ESC), // FN9 = LCtrl with tap Escape
ACTION_MODS_TAP_KEY(MOD_LALT, KC_SPC), // FN10 = LAlt with tap Space
ACTION_MODS_TAP_KEY(MOD_RALT, KC_INS), // FN11 = RAlt with tap Ins
ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT), // FN12 = RShift with tap Enter
ACTION_MODS_TAP_KEY(MOD_RCTL, KC_SPC), // FN13 = RCtrl with tap Space
ACTION_MODS_TAP_KEY(MOD_RSFT, KC_QUOT), // FN14 = RShift with tap quotes
ACTION_MODS_TAP_KEY(MOD_RCTL, KC_RBRC), // FN15 = RCtrl with tap ]
ACTION_MODS_TAP_KEY(MOD_LSFT, KC_TAB), // FN16 = LShift with tap Tab
ACTION_MODS_TAP_KEY(MOD_LGUI, KC_ESC), // FN17 = LShift with tap Escape
ACTION_MODS_KEY(MOD_LSFT, KC_BSLS), // FN1 = Shifted BackSlash // " in Workman
ACTION_MODS_KEY(MOD_LSFT, KC_MINS), // FN2 = Shifted Minus // \ in Workman
ACTION_MODS_KEY(MOD_LSFT, KC_COMM), // FN3 = Shifted comma // < in Workman
ACTION_MODS_KEY(MOD_LSFT, KC_DOT), // FN4 = Shifted dot // > in Workman
ACTION_LAYER_TAP_KEY(2, KC_H), // FN18 = L2 symbols on H key, to use with Mouse keys
ACTION_LAYER_TAP_KEY(2, KC_V), // FN19 = L2 symbols on V key, to use with Numpad keys
ACTION_LAYER_TAP_KEY(7, KC_A), // FN20 = L7 symbols on A key, to use with F* keys
ACTION_LAYER_TAP_KEY(6, KC_SCLN), // FN21 = L6 symbols on ; key, to use with F* keys
ACTION_MODS_TAP_KEY(MOD_LCTL, KC_BSPC), // FN5 = LShift with tap BackSpace
ACTION_MODS_TAP_KEY(MOD_LSFT, KC_ESC), // FN6 = LCtrl with tap Escape
ACTION_MODS_TAP_KEY(MOD_LALT, KC_SPC), // FN7 = LAlt with tap Space
ACTION_MODS_TAP_KEY(MOD_RALT, KC_INS), // FN8 = RAlt with tap Ins
ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT), // FN9 = RShift with tap Enter
ACTION_MODS_TAP_KEY(MOD_RCTL, KC_SPC), // FN10 = RCtrl with tap Space
ACTION_MODS_KEY(MOD_LSFT, KC_BSLS), // FN22 = Shifted BackSlash // " in Workman
ACTION_MODS_KEY(MOD_LSFT, KC_MINS), // FN23 = Shifted Minus // \ in Workman
ACTION_MODS_TAP_KEY(MOD_LSFT, KC_TAB), // FN11 = LShift with tap Tab
ACTION_MODS_TAP_KEY(MOD_LGUI, KC_ESC), // FN12 = LGui with tap Escape
ACTION_MODS_TAP_KEY(MOD_RSFT, KC_QUOT), // FN13 = RShift with tap quotes
ACTION_MODS_TAP_KEY(MOD_RCTL, KC_RBRC), // FN14 = RCtrl with tap ]
ACTION_LAYER_SET(0, ON_BOTH), // FN15 - set Layer0
ACTION_LAYER_SET(1, ON_BOTH), // FN16 - set Layer1, to use Workman layout at firmware level
ACTION_LAYER_SET(2, ON_BOTH), // FN17 - set Layer2, to use with Numpad keys
ACTION_LAYER_MOMENTARY(2), // FN18 - momentary Layer2, to use with Numpad keys
ACTION_LAYER_MOMENTARY(5), // FN19 - momentary Layer5, to use with F* keys on top row
ACTION_LAYER_MOMENTARY(6), // FN20 - momentary Layer6, to use with F* keys, cursor, Teensy, Workman-layer switch
ACTION_LAYER_MOMENTARY(7), // FN21 - momentary Layer7, to use with F* keys (F1-F24)
ACTION_LAYER_TAP_KEY(2, KC_H), // FN22 = momentary Layer2 on H key, to use with Mouse keys
ACTION_LAYER_TAP_KEY(2, KC_V), // FN23 = momentary Layer2 on V key, to use with Numpad keys
ACTION_LAYER_TAP_KEY(3, KC_S), // FN24 = momentary Layer3 on S key, to use with F* keys
ACTION_LAYER_TAP_KEY(4, KC_A), // FN25 = momentary Layer4 on A key, to use with unconvenient keys
ACTION_LAYER_TAP_KEY(8, KC_SCLN), // FN26 = momentary Layer8 on ; key, to use with F* keys on home+1 row
};
void action_function(keyrecord_t *event, uint8_t id, uint8_t opt)

View file

@ -105,43 +105,45 @@ uint8_t matrix_scan(void)
#ifdef KEYMAP_CUB
uint8_t layer = biton32(layer_state);
if (layer == 1) {
ergodox_left_led_1_on();
ergodox_left_led_2_off();
ergodox_left_led_3_off();
} else if (layer == 2) {
ergodox_left_led_1_off();
ergodox_left_led_2_on();
ergodox_left_led_3_off();
} else if (layer == 3) {
ergodox_left_led_1_off();
ergodox_left_led_2_off();
ergodox_left_led_3_on();
} else if (layer == 4) {
ergodox_left_led_1_on();
ergodox_left_led_2_off();
ergodox_left_led_3_on();
} else if (layer == 5) {
ergodox_left_led_1_on();
ergodox_left_led_2_on();
ergodox_left_led_3_off();
} else if (layer == 6) {
ergodox_left_led_1_off();
ergodox_left_led_2_on();
ergodox_left_led_3_on();
} else if (layer == 7) {
ergodox_left_led_1_on();
ergodox_left_led_2_on();
ergodox_left_led_3_on();
} else {
ergodox_left_led_1_off();
ergodox_left_led_2_off();
ergodox_left_led_3_off();
ergodox_board_led_off();
switch (layer) {
case 1:
// all
ergodox_left_led_1_on();
ergodox_left_led_2_on();
ergodox_left_led_3_on();
break;
case 2:
// blue
ergodox_left_led_1_off();
ergodox_left_led_2_on();
ergodox_left_led_3_off();
break;
case 3:
// green
ergodox_left_led_1_off();
ergodox_left_led_2_off();
ergodox_left_led_3_on();
break;
case 6:
ergodox_board_led_on();
// break missed intentionally
case 4:
case 5:
// red
ergodox_left_led_1_on();
ergodox_left_led_2_off();
ergodox_left_led_3_off();
break;
default:
// none
ergodox_left_led_1_off();
ergodox_left_led_2_off();
ergodox_left_led_3_off();
break;
}
// not actually needed because we already calling init_mcp23018() in next line
mcp23018_status = ergodox_left_leds_update();
#endif
for (uint8_t i = 0; i < MATRIX_ROWS; i++) {