]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c
[Keymap] Update keymap for keebio/quefrency 65% version (#6388)
[qmk_firmware.git] / keyboards / keebio / quefrency / keymaps / georgepetri / keymap.c
1 #include QMK_KEYBOARD_H
2
3 extern keymap_config_t keymap_config;
4
5 #define _BASE 0
6 #define _L 1
7 #define _R 2
8
9 enum custom_keycodes {
10   QWERTY = SAFE_RANGE,
11 };
12
13 #define KC_TL LCTL(KC_PGUP)
14 #define KC_TR LCTL(KC_PGDN)
15 #define KC_TC LCTL(KC_W)
16 #define KC_TRO LCTL(LSFT(KC_T))
17
18 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19   [_BASE] = LAYOUT_65(
20 // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐        ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
21     KC_GRV  ,KC_1    ,KC_2    ,KC_3    ,KC_4    ,KC_5    ,KC_6    ,         KC_7    ,KC_8    ,KC_9    ,KC_0    ,KC_BSPC ,KC_DEL  ,KC_MINS ,KC_EQL  ,KC_HOME,
22 // ├────────┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┘    ┌───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────────┼────────┤
23     KC_TAB       ,KC_Q    ,KC_W    ,KC_E    ,KC_R    ,KC_T    ,         KC_Y    ,KC_U    ,KC_I    ,KC_O    ,KC_P    ,KC_LBRC ,KC_RBRC ,KC_BSLS     ,KC_END  , 
24 // ├─────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┐      └─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┼────────┤
25     KC_ESC         ,KC_A    ,KC_S    ,KC_D    ,KC_F    ,KC_G    ,         KC_H    ,KC_J    ,KC_K    ,KC_L    ,KC_SCLN ,KC_QUOT ,KC_ENT             ,KC_PGUP ,
26 // ├───────────────┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┐  └─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴───────────────────┼────────┤
27     KC_LSFT              ,KC_Z    ,KC_X    ,KC_C    ,KC_V    ,KC_B    ,         KC_N    ,KC_M    ,KC_COMM ,KC_DOT  ,KC_SLSH ,KC_RSFT, _______      ,KC_PGDN ,
28 // ├──────────┬──────────┴┬───────┴──┬─────┴─────┬──┴────────┴────────┤        ├────────┴────────┴────┬───┴────┬───┴────┬───┴────┬────────┬────────┼────────┤
29     KC_CAPS   ,KC_LCTL    ,KC_LALT   ,MO(_L)   ,KC_SPC                ,         KC_SPC  ,_______      ,KC_LGUI ,TG(_R)  ,KC_LEFT ,KC_DOWN ,KC_UP   ,KC_RGHT
30 // └──────────┴───────────┴──────────┴───────────┴────────────────────┘        └──────────────────────┴────────┴────────┴────────┴────────┴────────┴────────┘
31   ),
32
33   [_L] = LAYOUT_65(
34 // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐        ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
35     _______ ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F4   ,KC_F5   ,KC_F6   ,         KC_F7   ,KC_F8   ,KC_F9   ,KC_F10  ,_______ ,_______ ,_______ ,_______ ,KC_INS  , 
36 // ├────────┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┘    ┌───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────────┼────────┤
37     _______      ,KC_F11  ,KC_F12  ,_______ ,_______ ,_______ ,         _______ ,KC_MINS ,KC_EQL  ,_______ ,_______ ,_______ ,_______ ,_______,     KC_PAUS ,
38 // ├─────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┐      └─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┼────────┤
39     _______        ,_______ ,_______ ,_______ ,_______ ,_______ ,         KC_LEFT ,KC_DOWN ,KC_UP   ,KC_RGHT ,_______ ,_______ ,_______            ,_______ ,
40 // ├───────────────┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┐  └─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴───────────────────┼────────┤
41     _______              ,_______ ,_______ ,_______ ,_______ ,_______ ,         _______ ,KC_PGDN ,KC_PGUP ,KC_HOME ,KC_END  ,_______ ,_______      ,_______ ,
42 // ├──────────┬──────────┴┬───────┴──┬─────┴─────┬──┴────────┴────────┤        ├────────┴────────┴────┬───┴────┬───┴────┬───┴────┬────────┬────────┼────────┤
43     _______   ,_______    ,_______   ,_______    ,_______             ,         _______ ,_______      ,_______ ,_______ ,_______ ,_______ ,_______ ,_______
44 // └──────────┴───────────┴──────────┴───────────┴────────────────────┘        └──────────────────────┴────────┴────────┴────────┴────────┴────────┴────────┘
45   ),
46
47   [_R] = LAYOUT_65(
48 // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐        ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
49     _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,         _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , 
50 // ├────────┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┘    ┌───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────────┼────────┤
51     _______      ,KC_TL   ,KC_TR   ,KC_TC   ,KC_TRO  ,_______ ,         _______ ,KC_TL  , KC_TR  , KC_TC  , KC_TRO  ,_______ ,_______ ,_______,     _______ ,
52 // ├─────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┐      └─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┼────────┤
53     _______        ,KC_LEFT ,KC_DOWN ,KC_UP   ,KC_RGHT ,_______ ,         KC_LEFT ,KC_DOWN ,KC_UP   ,KC_RGHT ,_______ ,_______ ,_______            ,_______ ,
54 // ├───────────────┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┐  └─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴───────────────────┼────────┤
55     _______              ,KC_PGDN ,KC_PGUP ,KC_HOME ,KC_END  ,_______ ,         _______ ,KC_PGDN ,KC_PGUP ,KC_HOME ,KC_END  ,_______ ,_______      ,_______ ,
56 // ├──────────┬──────────┴┬───────┴──┬─────┴─────┬──┴────────┴────────┤        ├────────┴────────┴────┬───┴────┬───┴────┬───┴────┬────────┬────────┼────────┤
57     _______   ,_______    ,_______   ,_______    ,_______             ,         _______ ,_______      ,_______ ,_______ ,_______ ,_______ ,_______ ,_______
58 // └──────────┴───────────┴──────────┴───────────┴────────────────────┘        └──────────────────────┴────────┴────────┴────────┴────────┴────────┴────────┘
59   )
60 };
61
62 void keyboard_post_init_user(void) {
63   rgblight_sethsv_noeeprom(HSV_BLUE);
64 }
65
66 void update_led(void) {
67     switch (biton32(layer_state)) {
68       case _BASE:
69       rgblight_sethsv_noeeprom(HSV_BLUE);
70       break;
71     case _L:
72       rgblight_sethsv_noeeprom(HSV_CORAL);
73       break;
74     case _R:
75       rgblight_sethsv_noeeprom(HSV_MAGENTA);
76       break;
77     }
78   if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
79     rgblight_sethsv_range(HSV_WHITE,0,4);
80     rgblight_sethsv_range(HSV_WHITE,12,16);
81   }
82 }
83
84 uint32_t layer_state_set_user(uint32_t state) {
85   update_led();
86   return state;
87 }
88
89 void led_set_user(uint8_t usb_led) {
90   update_led();
91 }