qmk_firmware

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

keymap.c (23622B)


      1 /* Copyright 2019 Thomas Baart <thomas@splitkb.com>
      2  *
      3  * This program is free software: you can redistribute it and/or modify
      4  * it under the terms of the GNU General Public License as published by
      5  * the Free Software Foundation, either version 2 of the License, or
      6  * (at your option) any later version.
      7  *
      8  * This program is distributed in the hope that it will be useful,
      9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     11  * GNU General Public License for more details.
     12  *
     13  * You should have received a copy of the GNU General Public License
     14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
     15  */
     16 #include QMK_KEYBOARD_H
     17 
     18 enum layers {
     19     _QWERTY = 0,
     20     _DVORAK,
     21     _COLEMAK_DH,
     22     _NAV,
     23     _SYM,
     24     _FUNCTION,
     25     _ADJUST,
     26 };
     27 
     28 
     29 // Aliases for readability
     30 #define QWERTY   DF(_QWERTY)
     31 #define COLEMAK  DF(_COLEMAK_DH)
     32 #define DVORAK   DF(_DVORAK)
     33 
     34 #define SYM      MO(_SYM)
     35 #define NAV      MO(_NAV)
     36 #define FKEYS    MO(_FUNCTION)
     37 #define ADJUST   MO(_ADJUST)
     38 
     39 #define CTL_ESC  MT(MOD_LCTL, KC_ESC)
     40 #define CTL_QUOT MT(MOD_RCTL, KC_QUOTE)
     41 #define CTL_MINS MT(MOD_RCTL, KC_MINUS)
     42 #define ALT_ENT  MT(MOD_LALT, KC_ENT)
     43 
     44 // Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter.
     45 // The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and
     46 // produces the key `tap` when tapped (i.e. pressed and released).
     47 
     48 // clang-format off
     49 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     50 /*
     51  * Base Layer: QWERTY
     52  *
     53  * ,-------------------------------------------.                              ,-------------------------------------------.
     54  * |  Tab   |   Q  |   W  |   E  |   R  |   T  |                              |   Y  |   U  |   I  |   O  |   P  |  Bksp  |
     55  * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
     56  * |Ctrl/Esc|   A  |   S  |   D  |   F  |   G  |                              |   H  |   J  |   K  |   L  | ;  : |Ctrl/' "|
     57  * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
     58  * | LShift |   Z  |   X  |   C  |   V  |   B  | [ {  |CapsLk|  |F-keys|  ] } |   N  |   M  | ,  < | . >  | /  ? | RShift |
     59  * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
     60  *                        |Adjust| LGUI | LAlt/| Space| Nav  |  | Sym  | Space| AltGr| RGUI | Menu |
     61  *                        |      |      | Enter|      |      |  |      |      |      |      |      |
     62  *                        `----------------------------------'  `----------------------------------'
     63  */
     64     [_QWERTY] = LAYOUT(
     65      KC_TAB  , KC_Q ,  KC_W   ,  KC_E  ,   KC_R ,   KC_T ,                                        KC_Y,   KC_U ,  KC_I ,   KC_O ,  KC_P , KC_BSPC,
     66      CTL_ESC , KC_A ,  KC_S   ,  KC_D  ,   KC_F ,   KC_G ,                                        KC_H,   KC_J ,  KC_K ,   KC_L ,KC_SCLN,CTL_QUOT,
     67      KC_LSFT , KC_Z ,  KC_X   ,  KC_C  ,   KC_V ,   KC_B , KC_LBRC,KC_CAPS,     FKEYS  , KC_RBRC, KC_N,   KC_M ,KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT,
     68                                 ADJUST , KC_LGUI, ALT_ENT, KC_SPC , NAV   ,     SYM    , KC_SPC ,KC_RALT, KC_RGUI, KC_APP
     69     ),
     70 
     71 /*
     72  * Base Layer: Dvorak
     73  *
     74  * ,-------------------------------------------.                              ,-------------------------------------------.
     75  * |  Tab   | ' "  | , <  | . >  |   P  |   Y  |                              |   F  |   G  |   C  |   R  |   L  |  Bksp  |
     76  * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
     77  * |Ctrl/Esc|   A  |   O  |   E  |   U  |   I  |                              |   D  |   H  |   T  |   N  |   S  |Ctrl/- _|
     78  * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
     79  * | LShift | ; :  |   Q  |   J  |   K  |   X  | [ {  |CapsLk|  |F-keys|  ] } |   B  |   M  |   W  |   V  |   Z  | RShift |
     80  * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
     81  *                        |Adjust| LGUI | LAlt/| Space| Nav  |  | Sym  | Space| AltGr| RGUI | Menu |
     82  *                        |      |      | Enter|      |      |  |      |      |      |      |      |
     83  *                        `----------------------------------'  `----------------------------------'
     84  */
     85     [_DVORAK] = LAYOUT(
     86      KC_TAB  ,KC_QUOTE,KC_COMM,  KC_DOT,   KC_P ,   KC_Y ,                                        KC_F,   KC_G ,  KC_C ,   KC_R ,  KC_L , KC_BSPC,
     87      CTL_ESC , KC_A ,  KC_O   ,  KC_E  ,   KC_U ,   KC_I ,                                        KC_D,   KC_H ,  KC_T ,   KC_N ,  KC_S , CTL_MINS,
     88      KC_LSFT ,KC_SCLN, KC_Q   ,  KC_J  ,   KC_K ,   KC_X , KC_LBRC,KC_CAPS,     FKEYS  , KC_RBRC, KC_B,   KC_M ,  KC_W ,   KC_V ,  KC_Z , KC_RSFT,
     89                                  ADJUST, KC_LGUI, ALT_ENT, KC_SPC , NAV   ,     SYM    , KC_SPC ,KC_RALT, KC_RGUI, KC_APP
     90     ),
     91 
     92 /*
     93  * Base Layer: Colemak DH
     94  *
     95  * ,-------------------------------------------.                              ,-------------------------------------------.
     96  * |  Tab   |   Q  |   W  |   F  |   P  |   B  |                              |   J  |   L  |   U  |   Y  | ;  : |  Bksp  |
     97  * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
     98  * |Ctrl/Esc|   A  |   R  |   S  |   T  |   G  |                              |   M  |   N  |   E  |   I  |   O  |Ctrl/' "|
     99  * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
    100  * | LShift |   Z  |   X  |   C  |   D  |   V  | [ {  |CapsLk|  |F-keys|  ] } |   K  |   H  | ,  < | . >  | /  ? | RShift |
    101  * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
    102  *                        |Adjust| LGUI | LAlt/| Space| Nav  |  | Sym  | Space| AltGr| RGUI | Menu |
    103  *                        |      |      | Enter|      |      |  |      |      |      |      |      |
    104  *                        `----------------------------------'  `----------------------------------'
    105  */
    106     [_COLEMAK_DH] = LAYOUT(
    107      KC_TAB  , KC_Q ,  KC_W   ,  KC_F  ,   KC_P ,   KC_B ,                                        KC_J,   KC_L ,  KC_U ,   KC_Y ,KC_SCLN, KC_BSPC,
    108      CTL_ESC , KC_A ,  KC_R   ,  KC_S  ,   KC_T ,   KC_G ,                                        KC_M,   KC_N ,  KC_E ,   KC_I ,  KC_O , CTL_QUOT,
    109      KC_LSFT , KC_Z ,  KC_X   ,  KC_C  ,   KC_D ,   KC_V , KC_LBRC,KC_CAPS,     FKEYS  , KC_RBRC, KC_K,   KC_H ,KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT,
    110                                  ADJUST, KC_LGUI, ALT_ENT, KC_SPC , NAV   ,     SYM    , KC_SPC ,KC_RALT, KC_RGUI, KC_APP
    111     ),
    112 
    113 /*
    114  * Nav Layer: Media, navigation
    115  *
    116  * ,-------------------------------------------.                              ,-------------------------------------------.
    117  * |        |      |      |      |      |      |                              | PgUp | Home |   ↑  | End  | VolUp| Delete |
    118  * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
    119  * |        |  GUI |  Alt | Ctrl | Shift|      |                              | PgDn |  ←   |   ↓  |   →  | VolDn| Insert |
    120  * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
    121  * |        |      |      |      |      |      |      |ScLck |  |      |      | Pause|M Prev|M Play|M Next|VolMut| PrtSc  |
    122  * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
    123  *                        |      |      |      |      |      |  |      |      |      |      |      |
    124  *                        |      |      |      |      |      |  |      |      |      |      |      |
    125  *                        `----------------------------------'  `----------------------------------'
    126  */
    127     [_NAV] = LAYOUT(
    128       _______, _______, _______, _______, _______, _______,                                     KC_PGUP, KC_HOME, KC_UP,   KC_END,  KC_VOLU, KC_DEL,
    129       _______, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, _______,                                     KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS,
    130       _______, _______, _______, _______, _______, _______, _______, KC_SCRL, _______, _______,KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR,
    131                                  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
    132     ),
    133 
    134 /*
    135  * Sym Layer: Numbers and symbols
    136  *
    137  * ,-------------------------------------------.                              ,-------------------------------------------.
    138  * |    `   |  1   |  2   |  3   |  4   |  5   |                              |   6  |  7   |  8   |  9   |  0   |   =    |
    139  * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
    140  * |    ~   |  !   |  @   |  #   |  $   |  %   |                              |   ^  |  &   |  *   |  (   |  )   |   +    |
    141  * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
    142  * |    |   |   \  |  :   |  ;   |  -   |  [   |  {   |      |  |      |   }  |   ]  |  _   |  ,   |  .   |  /   |   ?    |
    143  * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
    144  *                        |      |      |      |      |      |  |      |      |      |      |      |
    145  *                        |      |      |      |      |      |  |      |      |      |      |      |
    146  *                        `----------------------------------'  `----------------------------------'
    147  */
    148     [_SYM] = LAYOUT(
    149       KC_GRV ,   KC_1 ,   KC_2 ,   KC_3 ,   KC_4 ,   KC_5 ,                                       KC_6 ,   KC_7 ,   KC_8 ,   KC_9 ,   KC_0 , KC_EQL ,
    150      KC_TILD , KC_EXLM,  KC_AT , KC_HASH,  KC_DLR, KC_PERC,                                     KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS,
    151      KC_PIPE , KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_LBRC, KC_LCBR, _______, _______, KC_RCBR, KC_RBRC, KC_UNDS, KC_COMM,  KC_DOT, KC_SLSH, KC_QUES,
    152                                  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
    153     ),
    154 
    155 /*
    156  * Function Layer: Function keys
    157  *
    158  * ,-------------------------------------------.                              ,-------------------------------------------.
    159  * |        |  F9  | F10  | F11  | F12  |      |                              |      |      |      |      |      |        |
    160  * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
    161  * |        |  F5  |  F6  |  F7  |  F8  |      |                              |      | Shift| Ctrl |  Alt |  GUI |        |
    162  * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
    163  * |        |  F1  |  F2  |  F3  |  F4  |      |      |      |  |      |      |      |      |      |      |      |        |
    164  * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
    165  *                        |      |      |      |      |      |  |      |      |      |      |      |
    166  *                        |      |      |      |      |      |  |      |      |      |      |      |
    167  *                        `----------------------------------'  `----------------------------------'
    168  */
    169     [_FUNCTION] = LAYOUT(
    170       _______,  KC_F9 ,  KC_F10,  KC_F11,  KC_F12, _______,                                     _______, _______, _______, _______, _______, _______,
    171       _______,  KC_F5 ,  KC_F6 ,  KC_F7 ,  KC_F8 , _______,                                     _______, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______,
    172       _______,  KC_F1 ,  KC_F2 ,  KC_F3 ,  KC_F4 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
    173                                  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
    174     ),
    175 
    176 /*
    177  * Adjust Layer: Default layer settings, RGB
    178  *
    179  * ,-------------------------------------------.                              ,-------------------------------------------.
    180  * |        |      |      |QWERTY|      |      |                              |      |      |      |      |      |        |
    181  * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
    182  * |        |      |      |Dvorak|      |      |                              | TOG  | SAI  | HUI  | VAI  | MOD  |        |
    183  * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
    184  * |        |      |      |Colmak|      |      |      |      |  |      |      |      | SAD  | HUD  | VAD  | RMOD |        |
    185  * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
    186  *                        |      |      |      |      |      |  |      |      |      |      |      |
    187  *                        |      |      |      |      |      |  |      |      |      |      |      |
    188  *                        `----------------------------------'  `----------------------------------'
    189  */
    190     [_ADJUST] = LAYOUT(
    191       _______, _______, _______, QWERTY , _______, _______,                                    _______, _______, _______, _______,  _______, _______,
    192       _______, _______, _______, DVORAK , _______, _______,                                    RM_TOGG, RM_SATU, RM_HUEU, RM_VALU,  RM_NEXT, _______,
    193       _______, _______, _______, COLEMAK, _______, _______,_______, _______, _______, _______, _______, RM_SATD, RM_HUED, RM_VALD, RM_PREV,  _______,
    194                                  _______, _______, _______,_______, _______, _______, _______, _______, _______, _______
    195     ),
    196 
    197 // /*
    198 //  * Layer template
    199 //  *
    200 //  * ,-------------------------------------------.                              ,-------------------------------------------.
    201 //  * |        |      |      |      |      |      |                              |      |      |      |      |      |        |
    202 //  * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
    203 //  * |        |      |      |      |      |      |                              |      |      |      |      |      |        |
    204 //  * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
    205 //  * |        |      |      |      |      |      |      |      |  |      |      |      |      |      |      |      |        |
    206 //  * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
    207 //  *                        |      |      |      |      |      |  |      |      |      |      |      |
    208 //  *                        |      |      |      |      |      |  |      |      |      |      |      |
    209 //  *                        `----------------------------------'  `----------------------------------'
    210 //  */
    211 //     [_LAYERINDEX] = LAYOUT(
    212 //       _______, _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______, _______,
    213 //       _______, _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______, _______,
    214 //       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
    215 //                                  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
    216 //     ),
    217 };
    218 
    219 /* The default OLED and rotary encoder code can be found at the bottom of qmk_firmware/keyboards/splitkb/kyria/rev1/rev1.c
    220  * These default settings can be overriden by your own settings in your keymap.c
    221  * For your convenience, here's a copy of those settings so that you can uncomment them if you wish to apply your own modifications.
    222  * DO NOT edit the rev1.c file; instead override the weakly defined default functions by your own.
    223  */
    224 
    225 /* DELETE THIS LINE TO UNCOMMENT (1/2)
    226 #ifdef OLED_ENABLE
    227 oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; }
    228 
    229 bool oled_task_user(void) {
    230     if (is_keyboard_master()) {
    231         // QMK Logo and version information
    232         // clang-format off
    233         static const char PROGMEM qmk_logo[] = {
    234             0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
    235             0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
    236             0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
    237         // clang-format on
    238 
    239         oled_write_P(qmk_logo, false);
    240         oled_write_P(PSTR("Kyria rev1.0\n\n"), false);
    241 
    242         // Host Keyboard Layer Status
    243         oled_write_P(PSTR("Layer: "), false);
    244         switch (get_highest_layer(layer_state|default_layer_state)) {
    245             case _QWERTY:
    246                 oled_write_P(PSTR("QWERTY\n"), false);
    247                 break;
    248             case _DVORAK:
    249                 oled_write_P(PSTR("Dvorak\n"), false);
    250                 break;
    251             case _COLEMAK_DH:
    252                 oled_write_P(PSTR("Colemak-DH\n"), false);
    253                 break;
    254             case _NAV:
    255                 oled_write_P(PSTR("Nav\n"), false);
    256                 break;
    257             case _SYM:
    258                 oled_write_P(PSTR("Sym\n"), false);
    259                 break;
    260             case _FUNCTION:
    261                 oled_write_P(PSTR("Function\n"), false);
    262                 break;
    263             case _ADJUST:
    264                 oled_write_P(PSTR("Adjust\n"), false);
    265                 break;
    266             default:
    267                 oled_write_P(PSTR("Undefined\n"), false);
    268         }
    269 
    270         // Write host Keyboard LED Status to OLEDs
    271         led_t led_usb_state = host_keyboard_led_state();
    272         oled_write_P(led_usb_state.num_lock    ? PSTR("NUMLCK ") : PSTR("       "), false);
    273         oled_write_P(led_usb_state.caps_lock   ? PSTR("CAPLCK ") : PSTR("       "), false);
    274         oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR("       "), false);
    275     } else {
    276         // clang-format off
    277         static const char PROGMEM kyria_logo[] = {
    278             0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
    279             0,  0,  0,  0,  0,  0,  0,192,224,240,124, 62, 31, 15,  7,  3,  1,128,192,224,240,120, 56, 60, 28, 30, 14, 14,  7,  7,135,231,127, 31,255,255, 31,127,231,135,  7,  7, 14, 14, 30, 28, 60, 56,120,240,224,192,128,  1,  3,  7, 15, 31, 62,124,240,224,192,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
    280             0,  0,  0,  0,240,252,255, 31,  7,  1,  0,  0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135,  1,  0,  0,255,255,  0,  0,  1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192,  0,  0,  1,  7, 31,255,252,240,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
    281             0,  0,  0,255,255,255,  0,  0,  0,  0,  0,254,255,255,  1,  1,  7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30,  7,  1,  1,255,255,254,  0,  0,  0,  0,  0,255,255,255,  0,  0,  0,  0,255,255,  0,  0,192,192, 48, 48,  0,  0,240,240,  0,  0,  0,  0,  0,  0,240,240,  0,  0,240,240,192,192, 48, 48, 48, 48,192,192,  0,  0, 48, 48,243,243,  0,  0,  0,  0,  0,  0, 48, 48, 48, 48, 48, 48,192,192,  0,  0,  0,  0,  0,
    282             0,  0,  0,255,255,255,  0,  0,  0,  0,  0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31,  7,255,255,  7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127,  0,  0,  0,  0,  0,255,255,255,  0,  0,  0,  0, 63, 63,  3,  3, 12, 12, 48, 48,  0,  0,  0,  0, 51, 51, 51, 51, 51, 51, 15, 15,  0,  0, 63, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 48, 48, 63, 63, 48, 48,  0,  0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63,  0,  0,  0,  0,  0,
    283             0,  0,  0,  0, 15, 63,255,248,224,128,  0,  0,  3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128,  0,  0,255,255,  0,  0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15,  3,  0,  0,128,224,248,255, 63, 15,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
    284             0,  0,  0,  0,  0,  0,  0,  3,  7, 15, 62,124,248,240,224,192,128,  1,  3,  7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15,  7,  3,  1,128,192,224,240,248,124, 62, 15,  7,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
    285             0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  3,  7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15,  7,  3,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
    286         };
    287         // clang-format on
    288         oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
    289     }
    290     return false;
    291 }
    292 #endif
    293 
    294 #ifdef ENCODER_ENABLE
    295 bool encoder_update_user(uint8_t index, bool clockwise) {
    296 
    297     if (index == 0) {
    298         // Volume control
    299         if (clockwise) {
    300             tap_code(KC_VOLU);
    301         } else {
    302             tap_code(KC_VOLD);
    303         }
    304     } else if (index == 1) {
    305         // Page up/Page down
    306         if (clockwise) {
    307             tap_code(KC_PGDN);
    308         } else {
    309             tap_code(KC_PGUP);
    310         }
    311     }
    312     return false;
    313 }
    314 #endif
    315 DELETE THIS LINE TO UNCOMMENT (2/2) */