diff options
Diffstat (limited to 'keyboards/sixshooter/keymaps/default')
-rw-r--r-- | keyboards/sixshooter/keymaps/default/keymap.c | 39 |
1 files changed, 35 insertions, 4 deletions
diff --git a/keyboards/sixshooter/keymaps/default/keymap.c b/keyboards/sixshooter/keymaps/default/keymap.c index ca0973c60b..51f115d935 100644 --- a/keyboards/sixshooter/keymaps/default/keymap.c +++ b/keyboards/sixshooter/keymaps/default/keymap.c @@ -18,10 +18,16 @@ #define _BL 0 #define _FN 1 +// Define keyboard specific keycodes for controlling on/off for all LEDs as they +// are all on different pins with this PCB, rather than a single backlight pin +enum custom_keycodes { + SS_LON = SAFE_RANGE, + SS_LOFF +}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap 0: Media Keys + /* Base Layer: Media Keys * ,-----------. - * |Mut| V-| V+| + * |FN | V-| V+| * |---+---+---| * |Prv|Ply|Nxt| * `-----------' @@ -30,13 +36,38 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MO(_FN), KC_VOLD, KC_VOLU, \ KC_MPRV, KC_MPLY, KC_MNXT \ ), + /* FN Layer: LED control + * ,-----------. + * |FN | V-| V+| + * |---+---+---| + * |Prv|Ply|Nxt| + * `-----------' + */ [_FN] = LAYOUT( KC_TRNS, SS_LON, SS_LOFF, \ - KC_TRNS, KC_TRNS, KC_TRNS + KC_NO, KC_NO, KC_NO ), }; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + // Put your per-action keyboard code here. + // Runs for every action, just before processing by the firmware. + if (record->event.pressed) { + + // Check for custom keycodes for turning on and off LEDs + switch(keycode) { + case SS_LON: + sixshooter_led_all_on(); + return false; + case SS_LOFF: + sixshooter_led_all_off(); + return false; + } + } + return true; +}; + void matrix_init_user(void) { - /* Default all LEDs to on */ + // Default all LEDs to on sixshooter_led_all_on(); } |