@@ -0,0 +1,420 @@
/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
# include QMK_KEYBOARD_H
# include "keymap_spanish.h"
enum layers {
_QWERTY = 0 ,
_DVORAK ,
_COLEMAK_DH ,
_NAV ,
_SYM ,
_FUNCTION ,
_ADJUST ,
_NUMPAD ,
_MOUSE
} ;
// Aliases for readability
# define QWERTY DF(_QWERTY)
# define COLEMAK DF(_COLEMAK_DH)
# define DVORAK DF(_DVORAK)
# define NUMPAD DF(_NUMPAD)
# define MOUSE DF(_MOUSE)
# define DNAV DF(_NAV)
# define SYM MO(_SYM)
# define NAV MO(_NAV)
# define FKEYS MO(_FUNCTION)
# define ADJUST MO(_ADJUST)
# define CTL_ESC MT(MOD_LCTL, KC_ESC)
# define CTL_QUOT MT(MOD_RCTL, KC_QUOTE)
# define CTL_MINS MT(MOD_RCTL, KC_MINUS)
# define ALT_ENT MT(MOD_LALT, KC_ENT)
# define LGUI_ENT MT(MOD_LGUI, KC_ENT)
# define LALT_SUP MT(MOD_LALT, KC_DEL)
# define RGUI_TAB MT(MOD_RGUI, KC_TAB)
# define RALT_BS MT(MOD_RALT, KC_BSPC)
# define LSFT_LPR MT(MOD_LSFT, ES_LPRN)
# define RSFT_RPR MT(MOD_RSFT, ES_RPRN)
# define NAV_ESC LT(NAV, KC_ESC)
# define SYM_SPC LT(SYM, KC_SPC)
# define NAV_SPC LT(NAV, KC_SPC)
# define SYM_ENT LT(SYM, KC_ENT)
# define OSX_TILD ALGR(KC_SCLN)
// Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter.
// The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and
// produces the key `tap` when tapped (i.e. pressed and released).
// clang-format off
const uint16_t PROGMEM keymaps [ ] [ MATRIX_ROWS ] [ MATRIX_COLS ] = {
/*
* Base Layer: QWERTY
*
* ,-------------------------------------------. ,-------------------------------------------.
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* |Ctrl/Esc| A | S | D | F | G | | H | J | K | L | Ñ |Ctrl/´ ¨|
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* |LShift/(| Z | X | C | V | B | `^[ |CapsLk| |F-keys| +*] | N | M | , ; | . : | - _ |RShift/)|
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* |Adjust| LAlt/| LGUI/| Sym/ | Nav/ | | Sym/ | Nav/ | RGUI/| RAlt/| Menu |
* | | Supr | Enter| Space| Esc | | Enter| Space| Tab | Bksp | |
* `----------------------------------' `----------------------------------'
*/
[ _QWERTY ] = LAYOUT (
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC ,
CTL_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , CTL_QUOT ,
LSFT_LPR , KC_Z , KC_X , KC_C , KC_V , KC_B , ES_GRV , KC_CAPS , FKEYS , ES_PLUS , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , RSFT_RPR ,
ADJUST , LALT_SUP , LGUI_ENT , SYM_SPC , NAV_ESC , SYM_ENT , NAV_SPC , RGUI_TAB , RALT_BS , KC_APP
) ,
/*
* Base Layer: Dvorak
*
* ,-------------------------------------------. ,-------------------------------------------.
* | Tab | ´ ¨ | , ; | . : | P | Y | | F | G | C | R | L | Bksp |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* |Ctrl/Esc| A | O | E | U | I | | D | H | T | N | S |Ctrl/' ?|
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* |LShift/(| Ñ | Q | J | K | X | `^[ |CapsLk| |F-keys| +*] | B | M | W | V | Z |RShift/)|
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* |Adjust| LAlt/| LGUI/| Sym/ | Nav/ | | Sym/ | Nav/ | RGUI/| RAlt/| Menu |
* | | Supr | Enter| Space| Esc | | Enter| Space| Tab | Bksp | |
* `----------------------------------' `----------------------------------'
*/
[ _DVORAK ] = LAYOUT (
KC_TAB , KC_QUOTE , KC_COMM , KC_DOT , KC_P , KC_Y , KC_F , KC_G , KC_C , KC_R , KC_L , KC_BSPC ,
CTL_ESC , KC_A , KC_O , KC_E , KC_U , KC_I , KC_D , KC_H , KC_T , KC_N , KC_S , CTL_MINS ,
LSFT_LPR , KC_SCLN , KC_Q , KC_J , KC_K , KC_X , ES_GRV , KC_CAPS , FKEYS , ES_PLUS , KC_B , KC_M , KC_W , KC_V , KC_Z , RSFT_RPR ,
ADJUST , LALT_SUP , LGUI_ENT , SYM_SPC , NAV_ESC , SYM_ENT , NAV_SPC , RGUI_TAB , RALT_BS , KC_APP
) ,
/*
* Base Layer: Colemak DH
*
* ,-------------------------------------------. ,-------------------------------------------.
* | Tab | Q | W | F | P | B | | J | L | U | Y | Ñ | Bksp |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* |Ctrl/Esc| A | R | S | T | G | | M | N | E | I | O |Ctrl/´ ¨|
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* |LShift/(| Z | X | C | D | V | `^[ |CapsLk| |F-keys| +*] | K | H | , ; | . : | - _ |RShift/)|
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* |Adjust| LAlt/| LGUI/| Sym/ | Nav/ | | Sym/ | Nav/ | RGUI/| RAlt/| Menu |
* | | Supr | Enter| Space| Esc | | Enter| Space| Tab | Bksp | |
* `----------------------------------' `----------------------------------'
*/
[ _COLEMAK_DH ] = LAYOUT (
KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_J , KC_L , KC_U , KC_Y , KC_SCLN , KC_BSPC ,
CTL_ESC , KC_A , KC_R , KC_S , KC_T , KC_G , KC_M , KC_N , KC_E , KC_I , KC_O , CTL_QUOT ,
LSFT_LPR , KC_Z , KC_X , KC_C , KC_D , KC_V , ES_GRV , KC_CAPS , FKEYS , ES_PLUS , KC_K , KC_H , KC_COMM , KC_DOT , KC_SLSH , RSFT_RPR ,
ADJUST , LALT_SUP , LGUI_ENT , SYM_SPC , NAV_ESC , SYM_ENT , NAV_SPC , RGUI_TAB , RALT_BS , KC_APP
) ,
/*
* Nav Layer: Media, navigation
*
* ,-------------------------------------------. ,-------------------------------------------.
* | | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | | Shift| Ctrl | Alt | GUI | | | PgDn | ← | ↓ | → | VolDn| Insert |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* | | | | | | | | | | | |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[ _NAV ] = LAYOUT (
_______ , _______ , _______ , _______ , _______ , _______ , KC_PGUP , KC_HOME , KC_UP , KC_END , KC_VOLU , KC_DEL ,
_______ , KC_LSFT , KC_LCTL , KC_LALT , KC_LGUI , _______ , KC_PGDN , KC_LEFT , KC_DOWN , KC_RGHT , KC_VOLD , KC_INS ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_SLCK , _______ , _______ , KC_PAUSE , KC_MPRV , KC_MPLY , KC_MNXT , KC_MUTE , KC_PSCR ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
) ,
/*
* Sym Layer: Numbers and symbols
*
* ,-------------------------------------------. ,-------------------------------------------.
* | º | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ' |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | ª | ! | " | · | $ | % | | & | / | ( | ) | = | ? |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | \ | | | @ | # | ~ | € | ¬ | | | | | ¡ | < | > | { | } | ¿ |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* | | | | | | | | | | | |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[ _SYM ] = LAYOUT (
KC_NUBS , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , ES_QUOT ,
S ( KC_NUBS ) , ES_EXLM , ES_DQUO , ES_BULT , ES_DLR , ES_PERC , ES_AMPR , ES_SLSH , ES_LPRN , ES_RPRN , ES_EQL , ES_QUES ,
A ( KC_NUBS ) , ES_PIPE , ES_AT , ES_HASH , OSX_TILD , A ( KC_E ) , ES_NOT , _______ , S ( ES_CCED ) , ES_CCED , ES_IEXL , KC_GRAVE , S ( KC_GRAVE ) , ES_LCBR , ES_RCBR , ES_IQUE ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
) ,
/*
* Sym Layer: Numbers and symbols
*
* ,-------------------------------------------. ,-------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ' |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | ~ | ! | @ | · | $ | % | | & | / | ( | ) | = | ¿ |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | | | \ | : | ; | - | [ | { | | | | } | ] | _ | , | . | / | ? |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* | | | | | | | | | | | |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
// [_SYM] = LAYOUT(
// C(KC_GRV), KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL ,
// OSX_TILD , KC_EXLM, KC_AT , KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS,
// ES_PIPE , A(KC_NUHS) , ES_COLN, ES_SCLN, ES_MINS, ES_LBRC, ES_LCBR, _______, _______, ES_RCBR, ES_RBRC, ES_UNDS, ES_COMM, ES_DOT, ES_SLSH, ES_QUOT,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
// ),
/*
* Function Layer: Function keys
*
* ,-------------------------------------------. ,-------------------------------------------.
* | | F9 | F10 | F11 | F12 | | | | | | | | |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | | F5 | F6 | F7 | F8 | | | | GUI | Alt | Ctrl | Shift| |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | | F1 | F2 | F3 | F4 | | | | | | | | | | | | |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* | | | | | | | | | | | |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[ _FUNCTION ] = LAYOUT (
_______ , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______ , _______ , KC_RGUI , KC_RALT , KC_RCTL , KC_RSFT , _______ ,
_______ , KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
) ,
/*
* Adjust Layer: Default layer settings, RGB
*
* ,-------------------------------------------. ,-------------------------------------------.
* | NumPad | | |QWERTY| | | | | | | | | RESET |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | Mouse | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | DEBUG |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* |Nav Perm| | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | EEP_RST|
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* | | | | | | | | | | | |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[ _ADJUST ] = LAYOUT (
NUMPAD , _______ , _______ , QWERTY , _______ , _______ , _______ , _______ , _______ , _______ , _______ , RESET ,
MOUSE , _______ , _______ , DVORAK , _______ , _______ , RGB_TOG , RGB_SAI , RGB_HUI , RGB_VAI , RGB_MOD , DEBUG ,
DNAV , _______ , _______ , COLEMAK , _______ , _______ , _______ , _______ , _______ , _______ , _______ , RGB_SAD , RGB_HUD , RGB_VAD , RGB_RMOD , EEPROM_RESET ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
) ,
/*
* Layer NumPad
*
* ,-------------------------------------------. ,-------------------------------------------.
* | | | | | | | | | | | | | |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | | | | | | | | | | | | | |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | | | | | | | | | | | | | | | | | |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* |Adjust| | | | | | | | | | |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[ _NUMPAD ] = LAYOUT (
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
ADJUST , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
) ,
/*
* Layer Mouse
*
* ,-------------------------------------------. ,-------------------------------------------.
* | | | | | | | | |MS LCL| MS ↑ |MS RCL| Whl ↑| |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | | Shift| Ctrl | Alt | GUI | | | | MS ← | MS ↓ | MS → | Whl ↓| |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | | | | | | | | | | | | | | | | | |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* |Adjust| | | | | | | | | | |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[ _MOUSE ] = LAYOUT (
_______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_BTN1 , KC_MS_U , KC_BTN2 , KC_WH_U , _______ ,
_______ , KC_LSFT , KC_LCTL , KC_LALT , KC_LGUI , _______ , _______ , KC_MS_L , KC_MS_D , KC_MS_R , KC_WH_D , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
ADJUST , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
) ,
/*
// * Layer template
// *
// * ,-------------------------------------------. ,-------------------------------------------.
// * | | | | | | | | | | | | | |
// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
// * | | | | | | | | | | | | | |
// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
// * | | | | | | | | | | | | | | | | | |
// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
// * | | | | | | | | | | | |
// * | | | | | | | | | | | |
// * `----------------------------------' `----------------------------------'
// */
// [_LAYERINDEX] = LAYOUT(
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
// ),
} ;
/* The default OLED and rotary encoder code can be found at the bottom of qmk_firmware/keyboards/splitkb/kyria/rev1/rev1.c
* These default settings can be overriden by your own settings in your keymap.c
* For your convenience, here's a copy of those settings so that you can uncomment them if you wish to apply your own modifications.
* DO NOT edit the rev1.c file; instead override the weakly defined default functions by your own.
*/
# ifdef OLED_ENABLE
oled_rotation_t oled_init_user ( oled_rotation_t rotation ) { return OLED_ROTATION_180 ; }
bool oled_task_user ( void ) {
if ( is_keyboard_master ( ) ) {
// QMK Logo and version information
// clang-format off
static const char PROGMEM qmk_logo [ ] = {
0x80 , 0x81 , 0x82 , 0x83 , 0x84 , 0x85 , 0x86 , 0x87 , 0x88 , 0x89 , 0x8a , 0x8b , 0x8c , 0x8d , 0x8e , 0x8f , 0x90 , 0x91 , 0x92 , 0x93 , 0x94 ,
0xa0 , 0xa1 , 0xa2 , 0xa3 , 0xa4 , 0xa5 , 0xa6 , 0xa7 , 0xa8 , 0xa9 , 0xaa , 0xab , 0xac , 0xad , 0xae , 0xaf , 0xb0 , 0xb1 , 0xb2 , 0xb3 , 0xb4 ,
0xc0 , 0xc1 , 0xc2 , 0xc3 , 0xc4 , 0xc5 , 0xc6 , 0xc7 , 0xc8 , 0xc9 , 0xca , 0xcb , 0xcc , 0xcd , 0xce , 0xcf , 0xd0 , 0xd1 , 0xd2 , 0xd3 , 0xd4 , 0 } ;
// clang-format on
oled_write_P ( qmk_logo , false ) ;
oled_write_P ( PSTR ( " Kyria AdG v0.1 \n \n " ) , false ) ;
// Host Keyboard Layer Status
oled_write_P ( PSTR ( " Layer: " ) , false ) ;
switch ( get_highest_layer ( layer_state | default_layer_state ) ) {
case _QWERTY :
oled_write_P ( PSTR ( " QWERTY \n " ) , false ) ;
break ;
case _DVORAK :
oled_write_P ( PSTR ( " Dvorak \n " ) , false ) ;
break ;
case _COLEMAK_DH :
oled_write_P ( PSTR ( " Colemak-DH \n " ) , false ) ;
break ;
case _NAV :
oled_write_P ( PSTR ( " Nav \n " ) , false ) ;
break ;
case _SYM :
oled_write_P ( PSTR ( " Sym \n " ) , false ) ;
break ;
case _FUNCTION :
oled_write_P ( PSTR ( " Function \n " ) , false ) ;
break ;
case _ADJUST :
oled_write_P ( PSTR ( " Adjust \n " ) , false ) ;
break ;
case _NUMPAD :
oled_write_P ( PSTR ( " NumPad \n " ) , false ) ;
break ;
case _MOUSE :
oled_write_P ( PSTR ( " Mouse \n " ) , false ) ;
break ;
default :
oled_write_P ( PSTR ( " Undefined \n " ) , false ) ;
}
// Write host Keyboard LED Status to OLEDs
led_t led_usb_state = host_keyboard_led_state ( ) ;
oled_write_P ( led_usb_state . num_lock ? PSTR ( " NUMLCK " ) : PSTR ( " " ) , false ) ;
oled_write_P ( led_usb_state . caps_lock ? PSTR ( " CAPLCK " ) : PSTR ( " " ) , false ) ;
oled_write_P ( led_usb_state . scroll_lock ? PSTR ( " SCRLCK " ) : PSTR ( " " ) , false ) ;
} else {
// clang-format off
static const char PROGMEM kyria_logo [ ] = {
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 ,
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 ,
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 ,
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 ,
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 ,
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 ,
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 ,
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
} ;
// clang-format on
oled_write_raw_P ( kyria_logo , sizeof ( kyria_logo ) ) ;
}
return false ;
}
# endif
# ifdef ENCODER_ENABLE
bool encoder_update_user ( uint8_t index , bool clockwise ) {
if ( index = = 0 ) {
// Volume control
if ( clockwise ) {
tap_code ( KC_VOLU ) ;
} else {
tap_code ( KC_VOLD ) ;
}
} else if ( index = = 1 ) {
// Page up/Page down
if ( clockwise ) {
tap_code ( KC_PGDN ) ;
} else {
tap_code ( KC_PGUP ) ;
}
}
return false ;
}
# endif
bool process_record_user ( uint16_t keycode , keyrecord_t * record ) {
switch ( keycode ) {
case LSFT_LPR :
if ( record - > tap . count & & record - > event . pressed ) {
tap_code16 ( ES_LPRN ) ; // Send KC_DQUO on tap
return false ; // Return false to ignore further processing of key
}
break ;
case RSFT_RPR :
if ( record - > tap . count & & record - > event . pressed ) {
tap_code16 ( ES_RPRN ) ; // Send KC_DQUO on tap
return false ; // Return false to ignore further processing of key
}
break ;
}
return true ;
}