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};