diff options
Diffstat (limited to 'keyboards/splitkb/kyria/keymaps/bbaserdem/keymap.c')
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/bbaserdem/keymap.c | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/keyboards/splitkb/kyria/keymaps/bbaserdem/keymap.c b/keyboards/splitkb/kyria/keymaps/bbaserdem/keymap.c new file mode 100644 index 0000000000..d3720ea764 --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/bbaserdem/keymap.c @@ -0,0 +1,109 @@ +/* Copyright 2021 Batuhan Başerdem + * <baserdem.batuhan@gmail.com> @bbaserdem + * + * 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 "bbaserdem.h" + +#define LAYOUT_split_3x6_5_wrapper(...) LAYOUT_split_3x6_5(__VA_ARGS__) + +/* F layout + * ┌───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┐ + * │ W │ F │ G │ Ğ │ I │ O │ │ D │ R │ N │ H │ P │ Q │ + * ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤ + * │ X │ A │ S │ D │ F │ G │ │ T │ K │ M │ L │ Y │ Ş │ + * ├───┼───┼───┼───┼───┼───┼───┬───┐ ┌───┬───┼───┼───┼───┼───┼───┼───┤ + * │* +│ J │ Ö │ V │ C │ Ç │ │ │ │ │ │ Z │ S │ B │. :│, ;│< >│ + * └───┴───┴───┼───┼───┼───┤Esc│Shf│ │Shf│Del├───┼───┼───┼───┴───┴───┘ + * │En1│Tab│Ent│ │ │ │ │ │Spc│Bsp│En2│ + * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ + */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_split_3x6_5_wrapper( + _BL1_1_,_BL1_5_, _BR1_5_,_BR1_1_, + _BL2_1_,_BL2_5_, _BR2_5_,_BR2_1_, + _BL3_1_,_BL3_5_,xxx2xxx,xxx2xxx,_BR3_5_,_BR3_1_, + BB_ENC0, _BL4_3_,KC_LSFT,KC_RSFT,_BR4_3_,BB_ENC1 + ), + [_CHAR] = LAYOUT_split_3x6_5_wrapper( + XXXXXXX,_CL1_5_, _CR1_5_,XXXXXXX, + XXXXXXX,_CL2_5_, _CR2_5_,XXXXXXX, + XXXXXXX,_CL3_5_,xxx2xxx,xxx2xxx,_CR3_5_,XXXXXXX, + _______,_CL4_3_,_______,_______,_CR4_3_,_______ + ), + [_GAME] = LAYOUT_split_3x6_5_wrapper( + _GA1_1_,_GA1_5_, ___5___,___1___, + _GA2_1_,_GA2_5_, ___5___,___1___, + _GA3_1_,_GA3_5_,xxx2xxx,xxx2xxx,___5___,___1___, + _______,_GA4_3_,_______,_______,___3___,_______ + ), + [_MEDI] = LAYOUT_split_3x6_5_wrapper( + ___1___,___5___, _ME1_5_,___1___, + ___1___,___5___, _ME2_5_,___1___, + ___1___,___5___,xxx2xxx,xxx2xxx,_ME3_5_,___1___, + ___1___,___3___,_______,_______,_ME4_3_,___1___ + ), + [_NAVI] = LAYOUT_split_3x6_5_wrapper( + ___1___,___5___, _NA1_5_,___1___, + ___1___,___5___, _NA2_5_,___1___, + ___1___,___5___,xxx2xxx,xxx2xxx,_NA3_5_,___1___, + ___1___,___3___,_______,_______,_NA4_3_,___1___ + ), + [_SYMB] = LAYOUT_split_3x6_5_wrapper( + ___1___,___5___, _SY1_5_,___1___, + ___1___,___5___, _SY2_5_,___1___, + ___1___,___5___,xxx2xxx,xxx2xxx,_SY3_5_,___1___, + ___1___,___3___,_______,_______,_SY4_3_,___1___ + ), + [_NUMB] = LAYOUT_split_3x6_5_wrapper( + ___1___,_NU1_5_, ___5___,___1___, + ___1___,_NU2_5_, ___5___,___1___, + ___1___,_NU3_5_,xxx2xxx,xxx2xxx,___5___,___1___, + ___1___,_NU4_3_,_______,_______,___3___,___1___ + ), + [_FUNC] = LAYOUT_split_3x6_5_wrapper( + ___1___,_FU1_5_, ___5___,___1___, + ___1___,_FU2_5_, ___5___,___1___, + ___1___,_FU3_5_,xxx2xxx,xxx2xxx,___5___,___1___, + ___1___,_FU4_3_,_______,_______,___3___,___1___ + ), + [_MOUS] = LAYOUT_split_3x6_5_wrapper( + ___1___,_MO1_5_, ___5___,___1___, + ___1___,_MO2_5_, ___5___,___1___, + ___1___,_MO3_5_,xxx2xxx,xxx2xxx,___5___,___1___, + ___1___,_MO4_3_,_______,_______,___3___,___1___ + ), + [_MUSI] = LAYOUT_split_3x6_5_wrapper( + _MU_12_,_MU_12_, + _MU_06_,xxx2xxx,xxx2xxx,_MU_06_, + MU_TOG,_MUL_3_,_MU_02_,_MUR_3_,___1___ + ) +}; + +#ifdef KEYBOARD_splitkb_kyria_rev1 // Kyria specific code +#ifdef OLED_ENABLE // Kyria's oled screen +// Rotate the display on kyria +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_180; +} +// For kyria; print logo, and allow default status printing +bool oled_task_keymap(void) { + render_qmk_logo(0, 0); + render_status_lite(4, 0); + return false; +} +#endif //OLED_ENABLE +#endif //KEYBOARD_splitkb_kyria_rev1 |