]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/rgbkb/sol/keymaps/kageurufu/keymap.c
Sol Rev 2 Keyboard (#6389)
[qmk_firmware.git] / keyboards / rgbkb / sol / keymaps / kageurufu / keymap.c
1 #include QMK_KEYBOARD_H
2 #include "kageurufu.h"
3 #ifdef PROTOCOL_LUFA
4 #include "lufa.h"
5 #include "split_util.h"
6 #endif
7
8 extern keymap_config_t keymap_config;
9 extern uint8_t is_master;
10
11 /* Base Layout
12   * ,------------------------------------------------.  ,------------------------------------------------.
13   * |   `  |      |      |      |      |      |      |  |      |      |      |      |      |      | BkSp |
14   * |------+------+------+------+------+------|------|  |------|------+------+------+------+------+------|
15   * | Tab  |      |      |      |      |      |      |  |      |      |      |      |      |      |   \  |
16   * |------+------+------+------+------+------|------|  |------|------+------+------+------+------+------|
17   * | Esc  |      |      |      |      |      |      |  |      |      |      |      |      |      |   '  |
18   * |------+------+------+------+------+------+------|  |------+------+------+------+------+------+------|
19   * | Sft( |      |      |      |      |      |      |  |      |      |      |      |      |      | Sft) |
20   * |------+------+------+------+------+------+------|  |------+------+------+------+------+------+------|
21   * | Ctrl |  Win |  Win |  Alt |  FN  | Space|  RGB |  |  FN  |  FN  |   -  |   =  | Down | PgUp | PgDn |
22   * |------+------+------+------+------+------+------|  |------+------+------+------+------+------+------|
23   *                                    | Space| Bksp |  | Enter| Space|
24   *                                    `-------------'  `--------=----'
25   */
26 #define EXPAND_LAYOUT(...) LAYOUT(__VA_ARGS__)
27 #define _BASE_LAYOUT( \
28   _00, _01, _02, _03, _04,  _05, _06, _07, _08, _09, \
29   _10, _11, _12, _13, _14,  _15, _16, _17, _18, _19, \
30   _20, _21, _22, _23, _24,  _25, _26, _27, _28, _29 \
31 ) \
32 EXPAND_LAYOUT( \
33       KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,   RGB_MOD,  KC_EQL,  KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC, \
34       KC_TAB,  _00,     _01,     _02,     _03,     _04,    KC_LBRC,  KC_RBRC, _05,     _06,     _07,     _08,     _09,     KC_BSLS, \
35       FN_ESC,  _10,     _11,     _12,     _13,     _14,    RGB_SAI,  RGB_VAI, _15,     _16,     _17,     _18,     _19,     KC_QUOT, \
36       KC_LSPO, _20,     _21,     _22,     _23,     _24,    RGB_SAD,  RGB_VAD, _25,     _26,     _27,     _28,     _29,     KC_RSPC, \
37       KC_LCTL, KC_LGUI, KC_LGUI, KC_LALT, FN,      KC_SPC, FN,       FN,      KC_SPC,  KC_MINS, KC_EQL,  KC_DOWN, KC_PGUP, KC_PGDN, \
38                                                    KC_SPC, KC_BSPC,  KC_ENT,  KC_SPC \
39 )
40 #define BASE_LAYOUT(...) _BASE_LAYOUT(__VA_ARGS__)
41
42 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
43
44   [_QWERTY] = BASE_LAYOUT( \
45       _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, \
46       _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, \
47       _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ \
48   ),
49
50   [_COLEMAK] = BASE_LAYOUT( \
51       _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, \
52       _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, \
53       _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ \
54   ),
55
56   [_COLEMAK_DH] = BASE_LAYOUT( \
57       ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________, \
58       ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________, \
59       ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________ \
60   ),
61
62   [_FN] = EXPAND_LAYOUT( \
63       ________________FUNCTION_L1________________, _______, KC_PSCR, ________________FUNCTION_R1________________, \
64       ________________FUNCTION_L2________________, _______, _______, ________________FUNCTION_R2________________, \
65       ________________FUNCTION_L3________________, _______, _______, ________________FUNCTION_R3________________, \
66       ________________FUNCTION_L4________________, _______, _______, ________________FUNCTION_R4________________, \
67       ________________FUNCTION_L5________________, ADJ,     ADJ,     ________________FUNCTION_R5________________, \
68                                           _______, KC_DEL,  _______, _______ \
69       ),
70
71   [_ADJ] = EXPAND_LAYOUT( \
72       _________________ADJUST_L1_________________, _______, _______, _________________ADJUST_R1_________________, \
73       _________________ADJUST_L2_________________, _______, _______, _________________ADJUST_R2_________________, \
74       _________________ADJUST_L3_________________, _______, _______, _________________ADJUST_R3_________________, \
75       _________________ADJUST_L4_________________, _______, _______, _________________ADJUST_R4_________________, \
76       _________________ADJUST_L5_________________, _______, _______, _________________ADJUST_R5_________________, \
77                                           _______, _______, _______, _______ \
78       )
79 };
80
81 #ifdef ENCODER_ENABLE
82 void encoder_update_user(uint8_t index, bool clockwise) {
83   if (index == 0) { /* First encoder */
84     if (clockwise) {
85       tap_code(KC_VOLU);
86     } else {
87       tap_code(KC_VOLD);
88     }
89   } else if (index == 1) { /* Second encoder*/
90     if (clockwise) {
91       tap_code(KC_VOLU);
92     } else {
93       tap_code(KC_VOLD);
94     }
95   }
96 }
97 #endif