|
|
#include "ergodox.h"
|
|
|
#include "debug.h"
|
|
|
#include "action_layer.h"
|
|
|
#include "led.h"
|
|
|
#include "keymap_extras/keymap_neo2.h"
|
|
|
|
|
|
// Layer names
|
|
|
#define BASE 0 // default layer
|
|
|
#define PMQ 1 // poor manโs QWERTZ
|
|
|
#define PMN 2 // poor manโs Neo
|
|
|
#define FMU 3 // FMU layer
|
|
|
#define NHL 4 // Neoโs software layer 4 rebuilt in Hardware
|
|
|
|
|
|
|
|
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
/* Layer 0: default
|
|
|
* โโโโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโ โโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโโโ
|
|
|
* โ TAB โ 1 โ 2 โ 3 โ 4 โ 5 โ ` โ โ ยด โ 6 โ 7 โ 8 โ 9 โ 0 โ BKSPC โ
|
|
|
* โโโโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโค โโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโโโค
|
|
|
* โ Y โ X โ V โ L โ C โ W โ HOM โ โ END โ K โ H โ G โ F โ Q โ ร โ
|
|
|
* โโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโโโโโ
โโโโโโค E โ โ โโโโโโโโโโโโโ
โโโโโโผโโโโโโผโโโโโโผโโโโโโโโค
|
|
|
* โ Mod3 โ U โ I โ A โ E โ O โโโโโโโค โโโโโโโค S โ N โ R โ T โ D โ Mod3 โ
|
|
|
* โโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโโโโโโโโโโโค TL2 โ โ TL3 โโโโโโโโโโโโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโค
|
|
|
* โ LSHFT โ ร โ ร โ ร โ P โ Z โ โ โ โ B โ M โ , โ . โ J โ Shift โ
|
|
|
* โโโฌโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโดโโโโโโ โโโโโโโดโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโฌโโ
|
|
|
* โ CTL โ ALT โ MO1 โ Win โ Mod4โ โ Mod4โ Win โ MO1 โ Alt โ CTL โ
|
|
|
* โโโโโโโดโโโโโโดโโโโโโดโโโโโโดโโโโโโ โโโโโโโฌโโโโโโ โโโโโโโฌโโโโโโ โโโโโโโดโโโโโโดโโโโโโดโโโโโโดโโโโโโ
|
|
|
* โ โ โ โ โ โ โ โ โ โ
|
|
|
* โโโโโโโผโโโโโโผโโโโโโค โโโโโโโผโโโโโโผโโโโโโ
|
|
|
* โ โ โ โ โ โ โ โ โ โ
|
|
|
* โ SPC โ RTN โโโโโโโค โโโโโโโค RTN โ SPC โ
|
|
|
* โ โ โ HYP โ โ MEH โ โ โ
|
|
|
* โโโโโโโดโโโโโโดโโโโโโ โโโโโโโดโโโโโโดโโโโโโ
|
|
|
*/
|
|
|
[BASE] = KEYMAP(
|
|
|
// left hand
|
|
|
KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, NEO_GRV,
|
|
|
NEO_Y, NEO_X, NEO_V, NEO_L, NEO_C, NEO_W, KC_HOME,
|
|
|
NEO_L1_L, NEO_U, NEO_I, NEO_A, NEO_E, NEO_O,
|
|
|
KC_LSFT, NEO_UE, NEO_OE, NEO_AE, NEO_P, NEO_Z, TG(PMQ),
|
|
|
KC_LCTL, KC_LALT,MO(FMU),KC_LGUI,NEO_L2_L,
|
|
|
KC_LEFT, KC_UP,
|
|
|
KC_MINS,
|
|
|
KC_SPC, KC_ENT, ALL_T(KC_NO),
|
|
|
// right hand
|
|
|
NEO_ACUT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
|
|
KC_END, NEO_K, NEO_H, NEO_G, NEO_F, NEO_Q, NEO_SS,
|
|
|
NEO_S, NEO_N, NEO_R, NEO_T, NEO_D, NEO_L1_R,
|
|
|
TG(PMN), NEO_B, NEO_M, KC_COMM,KC_DOT, NEO_J, KC_RSFT,
|
|
|
NEO_L2_R,KC_RGUI,MO(FMU),KC_RALT,KC_RCTL,
|
|
|
KC_DOWN, KC_RGHT,
|
|
|
KC_MINS,
|
|
|
MEH_T(KC_NO),KC_ENT,KC_SPC
|
|
|
),
|
|
|
|
|
|
/* Layer 1: poor manโs QWERTZ
|
|
|
* based on kaimiโs layout
|
|
|
* โโโโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโ โโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโโโ
|
|
|
* โ TAB โ 1 โ 2 โ 3 โ 4 โ 5 โ ` โ โ ยด โ 6 โ 7 โ 8 โ 9 โ 0 โ BKSPC โ
|
|
|
* โโโโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโค โโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโโโค
|
|
|
* โ C โ P โ T โ F โ K โ L โ HOM โ โ END โ B โ A โ S โ G โ V โ Y โ
|
|
|
* โโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโโโโโ
โโโโโโค E โ โ โโโโโโโโโโโโโ
โโโโโโผโโโโโโผโโโโโโผโโโโโโโโค
|
|
|
* โ Mod3 โ D โ H โ ร โ O โ I โโโโโโโค โโโโโโโค U โ - โ Z โ E โ X โ Mod3 โ
|
|
|
* โโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโโโโโโโโโโโค(TL2)โ โ(TL3)โโโโโโโโโโโโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโค
|
|
|
* โ LSHFT โ ร โ Q โ R โ W โ N โ โ โ โ J โ M โ , โ . โ แบ โ Shift โ
|
|
|
* โโโฌโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโดโโโโโโ โโโโโโโดโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโฌโโ
|
|
|
* โ CTL โ ALT โ MO1 โ Win โ MO4 โ โ M04 โ Win โ MO1 โ Alt โ CTL โ
|
|
|
* โโโโโโโดโโโโโโดโโโโโโดโโโโโโดโโโโโโ โโโโโโโฌโโโโโโ โโโโโโโฌโโโโโโ โโโโโโโดโโโโโโดโโโโโโดโโโโโโดโโโโโโ
|
|
|
* โ โ โ โ โ โ โ โ โ โ
|
|
|
* โโโโโโโผโโโโโโผโโโโโโค โโโโโโโผโโโโโโผโโโโโโ
|
|
|
* โ โ โ โ โ โ โ โ โ โ
|
|
|
* โ SPC โ RTN โโโโโโโค โโโโโโโค RTN โ SPC โ
|
|
|
* โ โ โ HYP โ โ MEH โ โ โ
|
|
|
* โโโโโโโดโโโโโโดโโโโโโ โโโโโโโดโโโโโโดโโโโโโ
|
|
|
*/
|
|
|
[PMQ] = KEYMAP(
|
|
|
// left hand
|
|
|
KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL,
|
|
|
DE_C, DE_P, DE_T, DE_F, DE_K, DE_L, KC_HOME,
|
|
|
NEO_L1_L, DE_D, DE_H, DE_OE, DE_O, DE_I,
|
|
|
KC_LSFT, DE_AE, DE_Q, DE_R, DE_W, DE_N, KC_TRNS,
|
|
|
KC_LCTL, KC_LALT,MO(FMU),KC_LGUI,MO(NHL),
|
|
|
KC_LEFT, KC_UP,
|
|
|
KC_MINS,
|
|
|
KC_SPC, KC_ENT, ALL_T(KC_NO),
|
|
|
// right hand
|
|
|
DE_ACUT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
|
|
KC_END, DE_B, DE_A, DE_S, DE_G, DE_V, DE_Y,
|
|
|
DE_U, DE_MINS,DE_Z, DE_E, DE_X, NEO_L1_R,
|
|
|
KC_TRNS, DE_J, DE_M, DE_COMM,DE_DOT, DE_SS, KC_RSFT,
|
|
|
MO(NHL),KC_RGUI,MO(FMU),KC_RALT,KC_RCTL,
|
|
|
KC_DOWN, KC_RGHT,
|
|
|
KC_MINS,
|
|
|
MEH_T(KC_NO),KC_ENT,KC_SPC
|
|
|
),
|
|
|
|
|
|
/* Layer 2: poor manโs Neo
|
|
|
* based on kaimiโs layout
|
|
|
* โโโโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโ โโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโโโ
|
|
|
* โ TAB โ 1 โ 2 โ 3 โ 4 โ 5 โ ` โ โ ยด โ 6 โ 7 โ 8 โ 9 โ 0 โ BKSPC โ
|
|
|
* โโโโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโค โโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโโโค
|
|
|
* โ Y โ X โ V โ L โ C โ W โ HOM โ โ END โ K โ H โ G โ F โ Q โ ร โ
|
|
|
* โโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโโโโโ
โโโโโโค E โ โ โโโโโโโโโโโโโ
โโโโโโผโโโโโโผโโโโโโผโโโโโโโโค
|
|
|
* โ Mod3 โ U โ I โ A โ E โ O โโโโโโโค โโโโโโโค S โ N โ R โ T โ D โ Mod3 โ
|
|
|
* โโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโโโโโโโโโโโค(TL2)โ โ(TL3)โโโโโโโโโโโโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโค
|
|
|
* โ LSHFT โ ร โ ร โ ร โ P โ Z โ โ โ โ B โ M โ , โ . โ J โ Shift โ
|
|
|
* โโโฌโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโดโโโโโโ โโโโโโโดโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโฌโโ
|
|
|
* โ CTL โ ALT โ MO1 โ Win โ MO4 โ โ M04 โ Win โ MO1 โ Alt โ CTL โ
|
|
|
* โโโโโโโดโโโโโโดโโโโโโดโโโโโโดโโโโโโ โโโโโโโฌโโโโโโ โโโโโโโฌโโโโโโ โโโโโโโดโโโโโโดโโโโโโดโโโโโโดโโโโโโ
|
|
|
* โ โ โ โ โ โ โ โ โ โ
|
|
|
* โโโโโโโผโโโโโโผโโโโโโค โโโโโโโผโโโโโโผโโโโโโ
|
|
|
* โ โ โ โ โ โ โ โ โ โ
|
|
|
* โ SPC โ RTN โโโโโโโค โโโโโโโค RTN โ SPC โ
|
|
|
* โ โ โ HYP โ โ MEH โ โ โ
|
|
|
* โโโโโโโดโโโโโโดโโโโโโ โโโโโโโดโโโโโโดโโโโโโ
|
|
|
*/
|
|
|
[PMN] = KEYMAP(
|
|
|
KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL,
|
|
|
DE_Y, DE_X, DE_V, DE_L, DE_C, DE_W, KC_HOME,
|
|
|
KC_NO, DE_U, DE_I, DE_A, DE_E, DE_O,
|
|
|
KC_LSFT, DE_UE, DE_OE, DE_AE, DE_P, DE_Z, KC_TRNS,
|
|
|
KC_LCTL, KC_LALT,MO(FMU),KC_LGUI,MO(NHL),
|
|
|
KC_LEFT, KC_UP,
|
|
|
KC_MINS,
|
|
|
KC_SPC, KC_ENT, ALL_T(KC_NO),
|
|
|
// right hand
|
|
|
DE_ACUT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
|
|
KC_END, DE_K, DE_H, DE_G, DE_F, DE_Q, DE_SS,
|
|
|
DE_S, DE_N, DE_R, DE_T, DE_D, KC_NO,
|
|
|
KC_TRNS, DE_B, DE_M, KC_COMM,KC_DOT, DE_J, KC_RSFT,
|
|
|
MO(NHL),KC_RGUI,MO(FMU),KC_RALT,KC_RCTL,
|
|
|
KC_DOWN, KC_RGHT,
|
|
|
KC_MINS,
|
|
|
MEH_T(KC_NO),KC_ENT,KC_SPC
|
|
|
),
|
|
|
|
|
|
/* Layer 3: F-keys, Mouse and Unicode
|
|
|
* โโโโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโ โโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโโโ
|
|
|
* โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ
|
|
|
* โโโโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโค โโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโโโค
|
|
|
* โ โ โ โ โ โ โ โ โ โ โ โ F9 โ F10 โ F11 โ F12 โ โ
|
|
|
* โโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโโโโโ
โโโโโโค โ โ โโโโโโโโโโโโโ
โโโโโโผโโโโโโผโโโโโโผโโโโโโโโค
|
|
|
* โ โ โ โ โ โ โ โโโโโโโค โโโโโโโค โ F5 โ F6 โ F7 โ F8 โ โ
|
|
|
* โโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโโโโโโโโโโโค(TL2)โ โ(TL3)โโโโโโโโโโโโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโค
|
|
|
* โ โ โ โ โ โ โ โ โ โ โ F1 โ F2 โ F3 โ F4 โ โ
|
|
|
* โโโฌโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโดโโโโโโ โโโโโโโดโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโฌโโ
|
|
|
* โ โ โ(MO1)โ โ(MO4)โ โ(MO4)โ โ(MO1)โ โ โ
|
|
|
* โโโโโโโดโโโโโโดโโโโโโดโโโโโโดโโโโโโ โโโโโโโฌโโโโโโ โโโโโโโฌโโโโโโ โโโโโโโดโโโโโโดโโโโโโดโโโโโโดโโโโโโ
|
|
|
* โ Msโ โ Msโ โ โ Msโ โ Msโ โ
|
|
|
* โโโโโโโผโโโโโโผโโโโโโค โโโโโโโผโโโโโโผโโโโโโ
|
|
|
* โ โ โ MLC โ โ MRC โ โ โ
|
|
|
* โ โ โโโโโโโค โโโโโโโค โ โ
|
|
|
* โ โ โ โ โ โ โ โ
|
|
|
* โโโโโโโดโโโโโโดโโโโโโ โโโโโโโดโโโโโโดโโโโโโ
|
|
|
*/
|
|
|
[FMU] = KEYMAP(
|
|
|
// left hand
|
|
|
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
|
|
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,UC(0x2713),KC_TRNS,KC_TRNS,
|
|
|
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,UC(0x2715),KC_TRNS,
|
|
|
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
|
|
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
|
|
KC_MS_L, KC_MS_U,
|
|
|
KC_BTN1,
|
|
|
KC_TRNS,KC_TRNS, KC_TRNS,
|
|
|
// right hand
|
|
|
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
|
|
KC_TRNS, KC_TRNS,KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
|
|
|
KC_TRNS,KC_F5, KC_F6, KC_F7, KC_F8, KC_TRNS,
|
|
|
KC_TRNS, KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS,
|
|
|
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
|
|
KC_MS_D, KC_MS_R,
|
|
|
KC_BTN2,
|
|
|
KC_TRNS, KC_TRNS,KC_TRNS
|
|
|
),
|
|
|
|
|
|
/* Layer 4: Neoโs software layer 4 rebuilt in Hardware
|
|
|
* based on kaimiโs layout
|
|
|
* โโโโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโ โโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโโโ
|
|
|
* โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ
|
|
|
* โโโโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโค โโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโโโค
|
|
|
* โ โ PgUpโ BSpcโ โ โ Del โ PgDnโ โ โ โ โ 7 โ 8 โ 9 โ + โ โ โ
|
|
|
* โโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโโโโโ
โโโโโโค โ โ โโโโโโโโโโโโโ
โโโโโโผโโโโโโผโโโโโโผโโโโโโโโค
|
|
|
* โ โ Homeโ โ โ โ โ โ โ End โโโโโโโค โโโโโโโค โ 4 โ 5 โ 6 โ , โ . โ
|
|
|
* โโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโโโโโโโโโโโค(TL2)โ โ(TL3)โโโโโโโโโโโโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโค
|
|
|
* โ โ Esc โ Tab โ Ins โ Ret โ Undoโ โ โ โ โ 1 โ 2 โ 3 โ โ โ
|
|
|
* โโโฌโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโดโโโโโโ โโโโโโโดโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโผโโโโโโฌโโ
|
|
|
* โ โ โ(MO1)โ โ(MO4)โ โ(MO4)โ โ(MO1)โ โ โ
|
|
|
* โโโโโโโดโโโโโโดโโโโโโดโโโโโโดโโโโโโ โโโโโโโฌโโโโโโ โโโโโโโฌโโโโโโ โโโโโโโดโโโโโโดโโโโโโดโโโโโโดโโโโโโ
|
|
|
* โ โ โ โ โ โ
|
|
|
* โโโโโโโผโโโโโโผโโโโโโค โโโโโโโผโโโโโโผโโโโโโ
|
|
|
* โ โ โ โ โ โ โ โ
|
|
|
* โ โ โโโโโโโค โโโโโโโค โ โ
|
|
|
* โ โ โ โ โ โ โ โ
|
|
|
* โโโโโโโดโโโโโโดโโโโโโ โโโโโโโดโโโโโโดโโโโโโ
|
|
|
*/
|
|
|
[NHL] = KEYMAP(
|
|
|
// left hand
|
|
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
|
|
KC_NO, KC_PGUP,KC_BSPC,KC_UP, KC_DELT,KC_PGDN,KC_NO,
|
|
|
KC_NO, KC_HOME,KC_LEFT,KC_DOWN,KC_RGHT,KC_END,
|
|
|
KC_NO, KC_ESC, KC_TAB, KC_INS, KC_ENT, KC_UNDO,KC_TRNS,
|
|
|
KC_NO, KC_NO, KC_TRNS,KC_NO, KC_TRNS,
|
|
|
KC_NO, KC_NO,
|
|
|
KC_NO,
|
|
|
KC_NO, KC_NO, KC_NO,
|
|
|
// right hand
|
|
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
|
|
KC_NO, KC_NO, KC_7, KC_8, KC_9, DE_PLUS,DE_MINS,
|
|
|
KC_NO, KC_4, KC_5, KC_6, KC_COMM,KC_DOT,
|
|
|
KC_TRNS, KC_NO, KC_1, KC_2, KC_3, KC_NO, KC_NO,
|
|
|
KC_TRNS,KC_NO, KC_TRNS,KC_NO, KC_NO,
|
|
|
KC_NO, KC_NO,
|
|
|
KC_NO,
|
|
|
KC_NO, KC_NO, KC_NO
|
|
|
),
|
|
|
};
|
|
|
|
|
|
const uint16_t PROGMEM fn_actions[] = {
|
|
|
[BASE] = ACTION_FUNCTION(BASE),
|
|
|
[PMQ] = ACTION_FUNCTION(PMQ),
|
|
|
[PMN] = ACTION_FUNCTION(PMN),
|
|
|
[FMU] = ACTION_LAYER_TAP_TOGGLE(FMU),
|
|
|
[NHL] = ACTION_LAYER_TAP_TOGGLE(NHL)
|
|
|
};
|
|
|
|
|
|
|
|
|
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|
|
{
|
|
|
// MACRODOWN only works in this function
|
|
|
switch(id) {
|
|
|
case 0:
|
|
|
if (record->event.pressed) {
|
|
|
register_code(KC_RSFT);
|
|
|
}
|
|
|
else {
|
|
|
unregister_code(KC_RSFT);
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
return MACRO_NONE;
|
|
|
};
|
|
|
|
|
|
|
|
|
// Runs just one time when the keyboard initializes.
|
|
|
void matrix_init_user(void) {
|
|
|
};
|
|
|
|
|
|
|
|
|
// Runs constantly in the background, in a loop.
|
|
|
void matrix_scan_user(void)
|
|
|
{
|
|
|
uint8_t layer = biton32(layer_state);
|
|
|
|
|
|
ergodox_board_led_off();
|
|
|
ergodox_right_led_1_off();
|
|
|
ergodox_right_led_2_off();
|
|
|
ergodox_right_led_3_off();
|
|
|
switch (layer) {
|
|
|
case FMU:
|
|
|
ergodox_right_led_1_on();
|
|
|
break;
|
|
|
case PMQ:
|
|
|
ergodox_right_led_2_on();
|
|
|
break;
|
|
|
case PMN:
|
|
|
ergodox_right_led_3_on();
|
|
|
break;
|
|
|
default:
|
|
|
if(host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) {
|
|
|
ergodox_led_all_set(LED_BRIGHTNESS_HI);
|
|
|
ergodox_right_led_1_on();
|
|
|
}
|
|
|
else {
|
|
|
ergodox_board_led_off();
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
};
|