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) */