satan-gh60

Configuration for my GH60 mechanical keyboard.
git clone https://noxz.tech/git/satan-gh60.git
Log | Files | README | LICENSE

keymap.c
1#include QMK_KEYBOARD_H
2
3/* Blank ANSI layer (template)
4 * .-------------------------------------------------------------------------.
5 * |    |    |    |    |    |    |    |    |    |    |    |    |    |        |
6 * |-------------------------------------------------------------------------|
7 * |       |    |    |    |    |    |    |    |    |    |    |    |    |     |
8 * |-------------------------------------------------------------------------|
9 * |        |    |    |    |    |    |    |    |    |    |    |    |         |
10 * |-------------------------------------------------------------------------|
11 * |          |    |    |    |    |    |    |    |    |    |    |            |
12 * |-------------------------------------------------------------------------|
13 * |      |     |     |                             |     |     |     |      |
14 * '-------------------------------------------------------------------------'
15 */
16
17/* layer indeces                                                            */
18#define _BL     0                   /* base layer: default qwerty           */
19#define _FL1    1                   /* function layer: media and extra      */
20#define _FL2    2                   /* function layer: arrow keys           */
21#define _FL3    3                   /* function layer: mouse movements      */
22
23/* key code definitions                                                     */
24#define ___X___ KC_NO               /* undefined key                        */
25#define ___T___ KC_TRNS             /* transparent key                      */
26#define KC_FL1  MO(_FL1)            /* function layer 1 key   (momentary)   */
27#define KC_FL2  TT(_FL2)            /* function layer 2 key  (tap toggle)   */
28#define KC_FL3  TO(_FL3)            /* function layer 3 key     (move to)   */
29#define KC_TBL  TO(_BL)             /* return to base layer                 */
30#define KC_ECPY LCTL(LSFT(KC_C))    /* extra copy  (st terminal emulator)   */
31#define KC_EPST LCTL(LSFT(KC_V))    /* extra paste (st terminal emulator)   */
32
33/* keymap definitions */
34const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
35/* ================= Keymap _BL: (Base Layer) Default Layer ==================
36 * .-------------------------------------------------------------------------.
37 * | ~  | 1  | 2  | 3  | 4  | 5  | 6  | 7  | 8  | 9  | 0  | -  | =  | Backsp |
38 * |-------------------------------------------------------------------------|
39 * | Tab   | Q  | W  | E  | R  | T  | Y  | U  | I  | O  | P  | [  | ]  | \   |
40 * |-------------------------------------------------------------------------|
41 * | ESC    | A  | S  | D  | F  | G  | H  | J  | K  | L  | ;  | '  |  Return |
42 * |-------------------------------------------------------------------------|
43 * | Shift    | Z  | X  | C  | V  | B  | N  | M  | ,  | .  | /  |      Shift |
44 * |-------------------------------------------------------------------------|
45 * | Ctrl | GUI | Alt |            Space            | Alt | FL1 | FL2 | Ctrl |
46 * '-------------------------------------------------------------------------'
47 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
48 [_BL] = LAYOUT_60_ansi(
49 KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, \
50 \
51 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, \
52 \
53 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,  \
54 \
55 KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT, \
56 \
57 KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, KC_FL1,  KC_FL2,  KC_RCTL  ),
58
59
60
61/* ====================== Keymap _FL1: Function Layer 1 ======================
62 * .-------------------------------------------------------------------------.
63 * |    | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10| F11| F12| Delete |
64 * |-------------------------------------------------------------------------|
65 * |       | VDN|MUTE| VUP|    |    |    |    |    |    | PRT|    |    | INS |
66 * |-------------------------------------------------------------------------|
67 * | CAPS   |    |    |    |    |    |HOME|PgDn|PgUp| END|    |    |         |
68 * |-------------------------------------------------------------------------|
69 * |          | REW|PLAY| FRW|    |    |    |    |PREV|NEXT|PAUS|            |
70 * |-------------------------------------------------------------------------|
71 * |      |     |     |                             |     |     |     |      |
72 * '-------------------------------------------------------------------------'
73 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
74 [_FL1] = LAYOUT_60_ansi(
75 ___X___, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_DEL,  \
76 \
77 ___T___, KC_VOLD, KC_MUTE, KC_VOLU, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, KC_PSCR, ___X___, ___X___, KC_INS,  \
78 \
79 KC_CAPS, ___X___, ___X___, ___X___, ___X___, ___X___, KC_HOME, KC_PGDN, KC_PGUP, KC_END,  ___X___, ___X___,          ___T___, \
80 \
81 ___T___,          KC_MPRV, KC_MPLY, KC_MNXT, ___X___, ___X___, ___X___, ___X___, KC_MRWD, KC_MFFD, KC_PAUS,          ___T___, \
82 \
83 ___T___, ___T___, ___T___,                            ___X___,                            ___T___, ___T___, ___X___, ___T___  ),
84
85
86
87/* ====================== Keymap _FL2: Function Layer 2 ======================
88 * .-------------------------------------------------------------------------.
89 * |    |    |    |    |    |    |    |    |    |    |    |    |    |        |
90 * |-------------------------------------------------------------------------|
91 * |       |    | UP |    |    |    |    |    |    |    |    |    |    |     |
92 * |-------------------------------------------------------------------------|
93 * | TO_BL  |LEFT|DOWN|RGHT|    |    |LEFT|DOWN| UP |RGHT|    |    |         |
94 * |-------------------------------------------------------------------------|
95 * |          |    |    |COPY|PAST|    |    | FL3|    |    |    |            |
96 * |-------------------------------------------------------------------------|
97 * |      |     |     |                             |     |     |     |      |
98 * '-------------------------------------------------------------------------'
99 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
100 [_FL2] = LAYOUT_60_ansi(
101 ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, \
102 \
103 ___T___, ___X___, KC_UP,   ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, \
104 \
105 KC_TBL,  KC_LEFT, KC_DOWN, KC_RGHT, ___X___, ___X___, KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, ___X___, ___X___,          ___T___, \
106 \
107 ___T___,          ___X___, ___X___, KC_ECPY, KC_EPST, ___X___, ___X___, KC_FL3,  ___X___, ___X___, ___X___,          ___T___, \
108 \
109 ___T___, ___T___, ___T___,                            ___T___,                            ___T___, ___X___, ___T___, ___T___  ),
110
111
112
113/* ====================== Keymap _FL3: Function Layer 3 ======================
114 * .-------------------------------------------------------------------------.
115 * |    | AC0| AC1| AC2|    |    |    |    |    |    |    |    |    |        |
116 * |-------------------------------------------------------------------------|
117 * |       |    | SU |    |    |    |    | LB | RB |    |    |    |    |     |
118 * |-------------------------------------------------------------------------|
119 * | TO_BL  | SL | SD | SR |    |    | CL | CD | CU | CR |    |    |   RB    |
120 * |-------------------------------------------------------------------------|
121 * |          |    |    |    |    |    |    |    |    |    |    |            |
122 * |-------------------------------------------------------------------------|
123 * |      |     |     |            LB               |     |     |     |      |
124 * '-------------------------------------------------------------------------'
125 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
126 [_FL3] = LAYOUT_60_ansi(
127 ___X___, KC_ACL0, KC_ACL1, KC_ACL2, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, \
128 \
129 ___T___, ___X___, KC_WH_U, ___X___, ___X___, ___X___, ___X___, KC_BTN1, KC_BTN2, ___X___, ___X___, ___X___, ___X___, ___X___, \
130 \
131 KC_TBL,  KC_WH_L, KC_WH_D, KC_WH_R, ___X___, ___X___, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, ___X___, ___X___,          KC_BTN2, \
132 \
133 ___T___,          ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___, ___X___,          ___T___, \
134 \
135 ___T___, ___T___, ___T___,                            KC_BTN1,                            ___T___, ___X___, ___T___, ___T___  )
136};