]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/zygomorph/keymaps/kageurufu/keymap.c
[Keyboard] Adding RGBKB Zygomorph Keyboard (#5841)
[qmk_firmware.git] / keyboards / zygomorph / keymaps / kageurufu / keymap.c
1 #include QMK_KEYBOARD_H
2 #include "kageurufu.h"
3
4 #ifdef PROTOCOL_LUFA
5 #include "lufa.h"
6 #include "split_util.h"
7 #endif
8
9 #define FN_CAPS  LT(_FN, KC_CAPS)
10
11 // Define your non-alpha grouping in this define's LAYOUT, and all your BASE_LAYERS will share the same mod/macro columns
12   /*  / Base Layout \
13    * /-----------------------------------------\  /-----------------------------------------\
14    * | GESC |  1   |  2   |  3   |  4   |  5   |  |  6   |  7   |  8   |  9   |  0   | BkSp |
15    * |------+------+------+------+------+------|  |------+------+------+------+------+------|
16    * | Tab  |      |      |      |      |      |  |      |      |      |      |      |   \  |
17    * |------+------+------+------+------+------|  |------+------+------+------+------+------|
18    * |FNCAPS|      |      |      |      |      |  |      |      |      |      |      |   '  |
19    * |------+------+------+------+------+------|  |------+------+------+------+------+------|
20    * |Shift |      |      |      |      |      |  |      |      |      |      |      |Shift |
21    * |------+------+------+------+------+------|  |------+------+------+------+------+------|
22    * | Ctrl |  Win |  Alt |  RGB | ADJ  | Space|  | Space|  FN  | Left | Down | Up   |Right |
23    * \------+------+------+------+------+------/  \------+------+------+------+------+------/
24    */
25 #define EXPAND_LAYOUT(...) LAYOUT_ortho_5x12(__VA_ARGS__)
26 #define _BASE_LAYOUT( \
27   _00, _01, _02, _03, _04,  _05, _06, _07, _08, _09, \
28   _10, _11, _12, _13, _14,  _15, _16, _17, _18, _19, \
29   _20, _21, _22, _23, _24,  _25, _26, _27, _28, _29 \
30 ) \
31 EXPAND_LAYOUT( \
32       KC_GESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,  KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC, \
33       KC_TAB,  _00,     _01,     _02,     _03,     _04,    _05,     _06,     _07,     _08,     _09,     KC_BSLS, \
34       FN_CAPS, _10,     _11,     _12,     _13,     _14,    _15,     _16,     _17,     _18,     _19,     KC_QUOT, \
35       KC_LSFT, _20,     _21,     _22,     _23,     _24,    _25,     _26,     _27,     _28,     _29,     KC_ENT, \
36       KC_LCTL, KC_LGUI, KC_LALT, RGB_TOG,  ADJ,    KC_SPC, KC_SPC,  FN,      KC_LEFT, KC_DOWN, KC_UP,   KC_RIGHT \
37 )
38 #define BASE_LAYOUT(...) _BASE_LAYOUT(__VA_ARGS__)
39
40 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
41   [_QWERTY] = BASE_LAYOUT( \
42     _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, \
43     _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, \
44     _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ \
45   ),
46
47   [_COLEMAK] = BASE_LAYOUT( \
48     _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, \
49     _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, \
50     _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ \
51   ),
52
53   [_FN] = EXPAND_LAYOUT( \
54     ________________FUNCTION_L1________________, ________________FUNCTION_R1________________, \
55     ________________FUNCTION_L2________________, ________________FUNCTION_R2________________, \
56     ________________FUNCTION_L3________________, ________________FUNCTION_R3________________, \
57     ________________FUNCTION_L4________________, ________________FUNCTION_R4________________, \
58     ________________FUNCTION_L5________________, ________________FUNCTION_R5________________ \
59   ),
60
61   [_ADJ] =  EXPAND_LAYOUT( \
62     _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, \
63     _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, \
64     _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, \
65     _________________ADJUST_L4_________________, _________________ADJUST_R4_________________, \
66     _________________ADJUST_L5_________________, _________________ADJUST_R5_________________ \
67   )
68 };
69
70 void encoder_update_user(uint8_t index, bool clockwise) {
71   if (index == 0) { /* First encoder */
72     if (clockwise) {
73       tap_code(KC_PGDN);
74     } else {
75       tap_code(KC_PGUP);
76     }
77   } else if (index == 1) { /* Second encoder from slave */
78     if (clockwise) {
79       tap_code(KC_UP);
80     } else {
81       tap_code(KC_DOWN);
82     }
83   }
84 }