diff options
| -rw-r--r-- | keyboards/cospad/cospad.h | 64 | ||||
| -rw-r--r-- | keyboards/cospad/info.json | 67 | ||||
| -rw-r--r-- | keyboards/cospad/keymaps/split_plus_and_zero/keymap.c | 81 | ||||
| -rw-r--r-- | keyboards/cospad/keymaps/split_zero/keymap.c | 81 | 
4 files changed, 292 insertions, 1 deletions
| diff --git a/keyboards/cospad/cospad.h b/keyboards/cospad/cospad.h index fc52204eda..f5ae8961f1 100644 --- a/keyboards/cospad/cospad.h +++ b/keyboards/cospad/cospad.h @@ -125,6 +125,70 @@      { k50, ___, k52, ___ } \  } + +/* 6x4 numpad with split Plus and 0 keys + * ,-------------------. + * | 00 | 01 | 02 | 03 | + * |----|----|----|----| + * | 10 | 11 | 12 | 13 | + * |----|----|----|----| + * | 20 | 21 | 22 | 23 | + * |----|----|----|----| + * | 30 | 31 | 32 | 33 | + * |----|----|----|----| + * | 40 | 41 | 42 |    | + * |----|----|----| 43 | + * | 50 | 51 | 52 |    | + * `-------------------' + */ +#define LAYOUT_numpad_6x4_split_plus_zero( \ +    k00, k01, k02, k03, \ +    k10, k11, k12, k13, \ +    k20, k21, k22, k23, \ +    k30, k31, k32, k33, \ +    k40, k41, k42, \ +    k50, k51, k52, k43 \ +) \ +{ \ +    { k00, k01, k02, k03 }, \ +    { k10, k11, k12, k13 }, \ +    { k20, k21, k22, k23 }, \ +    { k30, k31, k32, k33 }, \ +    { k40, k41, k42, k43 }, \ +    { k50, k51, k52, ___ } \ +} + +/* 6x4 numpad with split 0 key + * ,-------------------. + * | 00 | 01 | 02 | 03 | + * |----|----|----|----| + * | 10 | 11 | 12 | 13 | + * |----|----|----|----| + * | 20 | 21 | 22 |    | + * |----|----|----| 23 | + * | 30 | 31 | 32 |    | + * |----|----|----|----| + * | 40 | 41 | 42 |    | + * |----|----|----| 43 | + * | 50 | 51 | 52 |    | + * `-------------------' + */ +#define LAYOUT_numpad_6x4_split_zero( \ +    k00, k01, k02, k03, \ +    k10, k11, k12, k13, \ +    k20, k21, k22, \ +    k30, k31, k32, k23, \ +    k40, k41, k42, \ +    k50, k51, k52, k43 \ +) \ +{ \ +    { k00, k01, k02, k03 }, \ +    { k10, k11, k12, k13 }, \ +    { k20, k21, k22, k23 }, \ +    { k30, k31, k32, ___ }, \ +    { k40, k41, k42, k43 }, \ +    { k50, k51, k52, ___ } \ +}  // Add backwards compatibility for existing keymaps  #define cospad_bl_led_on   backlight_enable  #define cospad_bl_led_off  backlight_disable diff --git a/keyboards/cospad/info.json b/keyboards/cospad/info.json index 83bf81c14d..1cd197d3fd 100644 --- a/keyboards/cospad/info.json +++ b/keyboards/cospad/info.json @@ -102,6 +102,71 @@                  {"x":2, "y":5},                  {"x":3, "y":5}              ] -        } +        }, +        "LAYOUT_numpad_6x4_split_plus_zero": { +            "key_count": 23, +            "layout": [ +                {"x":0, "y":0}, +                {"x":1, "y":0}, +                {"x":2, "y":0}, +                {"x":3, "y":0}, + +                {"x":0, "y":1}, +                {"x":1, "y":1}, +                {"x":2, "y":1}, +                {"x":3, "y":1}, + +                {"x":0, "y":2}, +                {"x":1, "y":2}, +                {"x":2, "y":2}, +                {"x":3, "y":2}, + +                {"x":0, "y":3}, +                {"x":1, "y":3}, +                {"x":2, "y":3}, +                {"x":3, "y":3}, + +                {"x":0, "y":4}, +                {"x":1, "y":4}, +                {"x":2, "y":4}, + +                {"x":0, "y":5}, +                {"x":1, "y":5}, +                {"x":2, "y":5}, +                {"x":3, "y":4, "h":2} +            ] +        }, +        "LAYOUT_numpad_6x4_split_zero": { +            "key_count": 22, +            "layout": [ +                {"x":0, "y":0}, +                {"x":1, "y":0}, +                {"x":2, "y":0}, +                {"x":3, "y":0}, + +                {"x":0, "y":1}, +                {"x":1, "y":1}, +                {"x":2, "y":1}, +                {"x":3, "y":1}, + +                {"x":0, "y":2}, +                {"x":1, "y":2}, +                {"x":2, "y":2}, + +                {"x":0, "y":3}, +                {"x":1, "y":3}, +                {"x":2, "y":3}, +                {"x":3, "y":2, "h":2}, + +                {"x":0, "y":4}, +                {"x":1, "y":4}, +                {"x":2, "y":4}, + +                {"x":0, "y":5}, +                {"x":1, "y":5}, +                {"x":2, "y":5}, +                {"x":3, "y":4, "h":2} +            ] +        }              }  } diff --git a/keyboards/cospad/keymaps/split_plus_and_zero/keymap.c b/keyboards/cospad/keymaps/split_plus_and_zero/keymap.c new file mode 100644 index 0000000000..dd2ff00cd1 --- /dev/null +++ b/keyboards/cospad/keymaps/split_plus_and_zero/keymap.c @@ -0,0 +1,81 @@ +#include QMK_KEYBOARD_H + +/*  + *  This keymap is based on the default keymap for the cospad. + *  It was adapted for the split Plus and split 0 layout focusing on the "00" key. + */ + +enum custom_keycodes { +  DBL_ZRO = SAFE_RANGE, +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { +  switch (keycode) { +    case DBL_ZRO: +      if (record->event.pressed) { +        // when keycode DBL_ZRO is pressed +        SEND_STRING("00"); +      } else { +        // when keycode DBL_ZRO is released +      } +      break; + +  } +  return true; +}; + +// Defines names for use in layer keycodes and the keymap +enum layer_names { +    _BL, +    _FL +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +    /* Keymap _BL: (Base Layer) Default Layer +     * ,-------------------. +     * |Esc |TAB | FN | BS | +     * |----|----|----|----| +     * | NL | /  | *  | -  | +     * |----|----|----|----| +     * | 7  | 8  | 9  | ~  | +     * |----|----|----|----| +     * | 4  | 5  | 6  | +  | +     * |----|----|----|----| +     * | 1  | 2  | 3  |    | +     * |----|----|----| En | +     * | 0  | 00 | .  |    | +     * `-------------------' +     */ +    [_BL] = LAYOUT_numpad_6x4_split_plus_zero( +        KC_ESC,  KC_TAB,  MO(_FL), KC_BSPC, +        KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, +        KC_P7,   KC_P8,   KC_P9,   KC_TILD, +        KC_P4,   KC_P5,   KC_P6,   KC_PPLS, +        KC_P1,   KC_P2,   KC_P3, +        KC_P0,   DBL_ZRO, KC_PDOT, KC_PENT +    ), +         +    /* Keymap _FL: Function Layer +     * ,-------------------. +     * |RGBT|    |    |    | +     * |----|----|----|----| +     * |RGBM|RGBP|BTOG|    | +     * |----|----|----|----| +     * |HUD |HUI |BON |    | +     * |----|----|----|----| +     * |SAD |SAI |BOFF|    | +     * |----|----|----|----| +     * |VAD |VAS |BSTP|    | +     * |----|----|----|    | +     * |    |    |RST |    | +     * `-------------------' +    */ +    [_FL] = LAYOUT_numpad_6x4_split_plus_zero( +        RGB_TOG, _______, _______, _______, +        RGB_MOD, RGB_M_P, BL_TOGG, _______, +        RGB_HUD, RGB_HUI, BL_ON,   _______, +        RGB_SAD, RGB_SAI, BL_OFF,  _______, +        RGB_VAD, RGB_VAI, BL_STEP, +        _______, _______, RESET,   _______ +    ) +}; diff --git a/keyboards/cospad/keymaps/split_zero/keymap.c b/keyboards/cospad/keymaps/split_zero/keymap.c new file mode 100644 index 0000000000..3a0c7d6e4e --- /dev/null +++ b/keyboards/cospad/keymaps/split_zero/keymap.c @@ -0,0 +1,81 @@ +#include QMK_KEYBOARD_H + +/*  + *  This keymap is based on the default keymap for the cospad. + *  It was adapted for the split 0 layout focusing on the "00" key. + */ + +enum custom_keycodes { +  DBL_ZRO = SAFE_RANGE, +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { +  switch (keycode) { +    case DBL_ZRO: +      if (record->event.pressed) { +        // when keycode DBL_ZRO is pressed +        SEND_STRING("00"); +      } else { +        // when keycode DBL_ZRO is released +      } +      break; + +  } +  return true; +}; + +// Defines names for use in layer keycodes and the keymap +enum layer_names { +    _BL, +    _FL +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +    /* Keymap _BL: (Base Layer) Default Layer +     * ,-------------------. +     * |Esc |TAB | FN | BS | +     * |----|----|----|----| +     * | NL | /  | *  | -  | +     * |----|----|----|----| +     * | 7  | 8  | 9  |    | +     * |----|----|----| +  | +     * | 4  | 5  | 6  |    | +     * |----|----|----|----| +     * | 1  | 2  | 3  |    | +     * |----|----|----| En | +     * | 0  | 00 | .  |    | +     * `-------------------' +     */ +    [_BL] = LAYOUT_numpad_6x4_split_zero( +        KC_ESC,  KC_TAB,  MO(_FL), KC_BSPC, +        KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, +        KC_P7,   KC_P8,   KC_P9, +        KC_P4,   KC_P5,   KC_P6,   KC_PPLS, +        KC_P1,   KC_P2,   KC_P3, +        KC_P0,   DBL_ZRO, KC_PDOT, KC_PENT +    ), +         +    /* Keymap _FL: Function Layer +     * ,-------------------. +     * |RGBT|    |    |    | +     * |----|----|----|----| +     * |RGBM|RGBP|BTOG|    | +     * |----|----|----|----| +     * |HUD |HUI |BON |    | +     * |----|----|----|    | +     * |SAD |SAI |BOFF|    | +     * |----|----|----|----| +     * |VAD |VAS |BSTP|    | +     * |----|----|----|    | +     * |    |    |RST |    | +     * `-------------------' +    */ +    [_FL] = LAYOUT_numpad_6x4_split_zero( +        RGB_TOG, _______, _______, _______, +        RGB_MOD, RGB_M_P, BL_TOGG, _______, +        RGB_HUD, RGB_HUI, BL_ON, +        RGB_SAD, RGB_SAI, BL_OFF,  _______, +        RGB_VAD, RGB_VAI, BL_STEP, +        _______, _______, RESET,   _______ +    ) +}; | 
