qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

keymap.c (2387B)


      1 // Copyright 2023 John Barbero Unenge (@jbarberu)
      2 // SPDX-License-Identifier: GPL-2.0-or-later
      3 
      4 #include QMK_KEYBOARD_H
      5 
      6 enum Layer {
      7     L_Numpad = 0,
      8     L_Symbols,
      9     L_RGB
     10 };
     11 
     12 // clang-format off
     13 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     14   /*
     15    * Macropad Button Order
     16    * ┌───┬───┬───┬───┐
     17    * │ 7 │ 8 │ 9 │ - │
     18    * ├───┼───┼───┼───┤
     19    * │ 4 │ 5 │ 6 │ + │
     20    * ├───┼───┼───┼───┤
     21    * │ 1 │ 2 │ 3 │ 0 │
     22    * └───┴───┴───┴───┘
     23    *
     24    * SNES Button Order
     25    * ┌────────┬────────┬────────┬────────┐
     26    * │   LT   │   RT   │ START  │ SELECT │
     27    * ├────────┼────────┼────────┼────────┤
     28    * │   UP   │  DOWN  │  LEFT  │ RIGHT  │
     29    * ├────────┼────────┼────────┼────────┤
     30    * │   A    │   B    │   X    │   Y    │
     31    * └────────┴────────┴────────┴────────┘
     32    *
     33    */
     34   [L_Numpad] = LAYOUT(
     35       KC_1,   KC_2,   KC_3,  KC_4
     36     , KC_5,   KC_6,   KC_7,   KC_8
     37     , KC_9,   KC_0,   KC_A,   KC_S
     38 
     39     , KC_A,    KC_S,    KC_ENT,  KC_BSPC
     40     , KC_UP,   KC_DOWN, KC_LEFT, KC_RIGHT
     41     , KC_X,    KC_Z,    LSFT(KC_F1),KC_TAB
     42   ),
     43   [L_RGB] = LAYOUT(
     44       RGB_M_P,  RGB_M_B, UG_TOGG, KC_NO
     45     , UG_NEXT,  UG_HUEU, UG_VALU, TO(L_Numpad)
     46     , UG_PREV,  UG_HUED, UG_VALD, KC_NO
     47 
     48     , KC_A,    KC_B,    KC_C,    KC_D
     49     , KC_E,    KC_F,    KC_G,    KC_H
     50     , KC_I,    KC_J,    KC_K,    KC_L
     51   ),
     52   [L_Symbols] = LAYOUT(
     53       KC_PPLS, KC_PMNS, KC_PEQL, KC_NO
     54     , KC_PAST, KC_PSLS, KC_ENT,  KC_TRNS
     55     , KC_NUM,  KC_NO,   KC_NO,   QK_BOOT
     56 
     57     , KC_A,    KC_B,    KC_C,    KC_D
     58     , KC_E,    KC_F,    KC_G,    KC_H
     59     , KC_I,    KC_J,    KC_K,    KC_L
     60   )
     61 };
     62 // clang-format on
     63 
     64 const char * get_layer_name_user(uint8_t layer) {
     65     switch (layer) {
     66         case L_Numpad:
     67             return "Numpad";
     68         case L_RGB:
     69             return "RGB Controls";
     70         case L_Symbols:
     71             return "Symbols";
     72         default:
     73             return "Undef";
     74     }
     75 }