keychron_qmk_firmware/keyboards/splitkb/kyria/keymaps/bbaserdem/keymap.c

110 lines
5.3 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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