diff options
Diffstat (limited to 'keyboard/cluepad/keymaps/keymap_default.c')
| -rw-r--r-- | keyboard/cluepad/keymaps/keymap_default.c | 122 | 
1 files changed, 122 insertions, 0 deletions
| diff --git a/keyboard/cluepad/keymaps/keymap_default.c b/keyboard/cluepad/keymaps/keymap_default.c new file mode 100644 index 0000000000..8ba49952f6 --- /dev/null +++ b/keyboard/cluepad/keymaps/keymap_default.c @@ -0,0 +1,122 @@ +#include "cluepad.h" + +#include "backlight.h" +#include "rgblight.h" + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _BL 0 +#define _FL 1 +#define _RS 2 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +  /* Keymap _BL: (Base Layer) Default Layer +   * .-------------------. +   * |NL F|   /|   *|   -| +   * |-------------------| +   * |   7|   8|   9|    | +   * |--------------|    | +   * |   4|   5|   6|   +| +   * |-------------------| +   * |   1|   2|   3|    | +   * |--------------|    | +   * |        0|   .| Ent| +   * '-------------------' +   */ +[_BL] = KEYMAP( +  LT(_FL, KC_NLCK), KC_PSLS, KC_PAST, KC_PMNS, \ +  KC_P7,            KC_P8,   KC_P9,   KC_PPLS, \ +  KC_P4,            KC_P5,   KC_P6, \ +  KC_P1,            KC_P2,   KC_P3,   KC_PENT, \ +  KC_P0,                     KC_PDOT), + +  /* Keymap _FL: Function Layer +   * .-------------------. +   * |NL F|    |    | Fn0| +   * |-------------------| +   * |    | Fn4|    |    | +   * |--------------|    | +   * | Fn3|BL_S| Fn2| Fn6| +   * |-------------------| +   * |    | Fn5|    |    | +   * |--------------|    | +   * |      Fn1|    | Fn7| +   * '-------------------' +   */ +[_FL] = KEYMAP( +  LT(_FL, KC_NLCK), KC_TRNS, KC_TRNS, F(0), \ +  KC_TRNS,          F(4),    KC_TRNS, F(6), \ +  F(3),             BL_STEP, F(2), \ +  KC_TRNS,          F(5),    KC_TRNS, F(7), \ +  F(1),                      KC_TRNS) +}; + +enum function_id { +    RGBLED_TOGGLE, +    RGBLED_STEP_MODE, +    RGBLED_INCREASE_HUE, +    RGBLED_DECREASE_HUE, +    RGBLED_INCREASE_SAT, +    RGBLED_DECREASE_SAT, +    RGBLED_INCREASE_VAL, +    RGBLED_DECREASE_VAL, +}; + +const uint16_t PROGMEM fn_actions[] = { +  [0]  = ACTION_FUNCTION(RGBLED_TOGGLE), +  [1]  = ACTION_FUNCTION(RGBLED_STEP_MODE), +  [2]  = ACTION_FUNCTION(RGBLED_INCREASE_HUE), +  [3]  = ACTION_FUNCTION(RGBLED_DECREASE_HUE), +  [4]  = ACTION_FUNCTION(RGBLED_INCREASE_SAT), +  [5]  = ACTION_FUNCTION(RGBLED_DECREASE_SAT), +  [6]  = ACTION_FUNCTION(RGBLED_INCREASE_VAL), +  [7]  = ACTION_FUNCTION(RGBLED_DECREASE_VAL), +}; + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { +  switch (id) { +    case RGBLED_TOGGLE: +      if (record->event.pressed) { +        rgblight_toggle(); +      } +      break; +    case RGBLED_INCREASE_HUE: +      if (record->event.pressed) { +        rgblight_increase_hue(); +      } +      break; +    case RGBLED_DECREASE_HUE: +      if (record->event.pressed) { +        rgblight_decrease_hue(); +      } +      break; +    case RGBLED_INCREASE_SAT: +      if (record->event.pressed) { +        rgblight_increase_sat(); +      } +      break; +    case RGBLED_DECREASE_SAT: +      if (record->event.pressed) { +        rgblight_decrease_sat(); +      } +      break; +    case RGBLED_INCREASE_VAL: +      if (record->event.pressed) { +        rgblight_increase_val(); +      } +      break; +    case RGBLED_DECREASE_VAL: +      if (record->event.pressed) { +        rgblight_decrease_val(); +      } +      break; +    case RGBLED_STEP_MODE: +      if (record->event.pressed) { +        rgblight_step(); +      } +      break; +  } +} + | 
