aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGam3cat <31171909+Gam3cat@users.noreply.github.com>2019-01-03 08:12:58 -0800
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2019-01-03 08:12:58 -0800
commit6cb2d7ba6dc19fe579fac856fbce36be0f8384f6 (patch)
treeeed366aec6798aa8ddb7b2ce6d53c11ccab92169
parent526bc4c7cc6b4a7701d317bb66b8bb5fa6c9c87f (diff)
downloadqmk_firmware-6cb2d7ba6dc19fe579fac856fbce36be0f8384f6.tar.gz
qmk_firmware-6cb2d7ba6dc19fe579fac856fbce36be0f8384f6.zip
Keymap updates (#4706)
* adding my keymap * update keymap * adding gamecat keymap for jc65 keyboard * updating jc65-gamecat keymap * updating jc65-gamecat keymap * updating jc65-gamecat keymap * updating jc65-gamecat keymap * M10a keymap and M65a updates * keymap updates * keymap updates * M10a/M65a keymap updates * M10a/M65a keymap updates * Delete test.txt * M65 keymap update * M65 keymap update * M65 keymap update * M65/M10 keymap updates * M65 keymap update * M65 keymap update * M65 keymap update * M65 keymap update * M65 keymap update * M65/M10 keymap update * M65 keymap update * M65 keymap update * M65 keymap update * M65 keymap update * M65 keymap update * Set theme jekyll-theme-cayman * Set theme jekyll-theme-slate * M65 keymap update * M10a/M65a keymap updates * M10a keymap update * M65a keymap update * M65a keymap update * M65a keymap update * M65a readme update * M65a/M10a updates * M65a readme updates * M65a/M10a updates * M65A update * M65A update * M65A update * M65A update * M65A/M10A keymap update * M10A keymap update * Set theme jekyll-theme-tactile * M10A keymap update * M65A keymap.c update * M65 keymap added LED backlight toggle, inc/dec to adjust layer. * M65 keymap/readme updates. * M65 keymap fix * M65 keymap update * remove theme * fix comments/readme * update keymap * LED backlight update, guess based on reading atmega32u4 documentation for DDRB/PORTB regs, believe DDRB should only be written to once not every time CAPS is hit, but really not too sure. * LED backlight update, guess based on reading atmega32u4 documentation for DDRB/PORTB regs, believe DDRB should only be written to once not every time CAPS is hit, but really not too sure. * M65 keymap update * Updated M65, M10, and gonNerd keymaps. * update * del * keymap updates M65, M10, gonnerd * update keymaps * adding back readme that somehow got removed. * updated keymap * update keymap * add back readme * Added h87a keymap, updated m10a/jc65/gonnerd * Update h87a keymap * Updates after feedback * Updates after feedback * Updates after feedback * Updates after feedback
-rw-r--r--keyboards/gonnerd/keymaps/gam3cat/config.h8
-rw-r--r--keyboards/gonnerd/keymaps/gam3cat/keymap.c351
-rw-r--r--keyboards/gonnerd/keymaps/gam3cat/readme.md106
-rw-r--r--keyboards/gonnerd/keymaps/gam3cat/rules.mk27
-rw-r--r--keyboards/h87a/keymaps/gam3cat/config.h10
-rw-r--r--keyboards/h87a/keymaps/gam3cat/keymap.c292
-rw-r--r--keyboards/h87a/keymaps/gam3cat/readme.md114
-rw-r--r--keyboards/h87a/keymaps/gam3cat/rules.mk24
-rw-r--r--keyboards/jc65/v32u4/keymaps/gam3cat/config.h6
-rw-r--r--keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c229
-rw-r--r--keyboards/jc65/v32u4/keymaps/gam3cat/readme.md54
-rw-r--r--keyboards/jc65/v32u4/keymaps/gam3cat/rules.mk30
-rw-r--r--keyboards/m10a/keymaps/gam3cat/keymap.c199
-rw-r--r--keyboards/m10a/keymaps/gam3cat/readme.md10
-rw-r--r--keyboards/m10a/keymaps/gam3cat/rules.mk27
15 files changed, 966 insertions, 521 deletions
diff --git a/keyboards/gonnerd/keymaps/gam3cat/config.h b/keyboards/gonnerd/keymaps/gam3cat/config.h
index d86da86e4..334beb0ac 100644
--- a/keyboards/gonnerd/keymaps/gam3cat/config.h
+++ b/keyboards/gonnerd/keymaps/gam3cat/config.h
@@ -1,6 +1,10 @@
1#include "../../config.h" 1#pragma once
2
3//Force NKRO to be enabled.
4#define FORCE_NKRO
5
2//GRAVE_ESC override for CTRL+SHIFT+ESC Windows task manager shortcut. 6//GRAVE_ESC override for CTRL+SHIFT+ESC Windows task manager shortcut.
3#define GRAVE_ESC_CTRL_OVERRIDE 7//#define GRAVE_ESC_CTRL_OVERRIDE
4 8
5//Delay matrix scan for tap dance, reduce to activate modifier keys faster. 9//Delay matrix scan for tap dance, reduce to activate modifier keys faster.
6//#define TAPPING_TERM 200 10//#define TAPPING_TERM 200
diff --git a/keyboards/gonnerd/keymaps/gam3cat/keymap.c b/keyboards/gonnerd/keymaps/gam3cat/keymap.c
index 3e43d67d5..f01dd920e 100644
--- a/keyboards/gonnerd/keymaps/gam3cat/keymap.c
+++ b/keyboards/gonnerd/keymaps/gam3cat/keymap.c
@@ -11,13 +11,16 @@ enum layers {
11 _AL, // Adjust Layer 11 _AL, // Adjust Layer
12}; 12};
13 13
14enum gonnerd_keycodes { 14enum custom_keycodes {
15 DYNAMIC_MACRO_RANGE = SAFE_RANGE, 15 DYNAMIC_MACRO_RANGE = SAFE_RANGE,
16 QMK_REV,
17 KC_WEB,
18 KC_SP4
16}; 19};
17 20
21extern backlight_config_t backlight_config;
22
18#include "dynamic_macro.h" 23#include "dynamic_macro.h"
19#define _______ KC_TRNS
20#define XXXXXXX KC_NO
21#define FN_CAPS LT(_FL, KC_CAPS) 24#define FN_CAPS LT(_FL, KC_CAPS)
22#define KC_DMR1 DYN_REC_START1 25#define KC_DMR1 DYN_REC_START1
23#define KC_DMR2 DYN_REC_START2 26#define KC_DMR2 DYN_REC_START2
@@ -25,47 +28,44 @@ enum gonnerd_keycodes {
25#define KC_DMP2 DYN_MACRO_PLAY2 28#define KC_DMP2 DYN_MACRO_PLAY2
26#define KC_DMRS DYN_REC_STOP 29#define KC_DMRS DYN_REC_STOP
27 30
28static uint8_t current_layer;
29
30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
31 /* _BL: Base Layer, mostly standard TKL QWERTY layout. 32 /*#### _BL: Base Layer - Standard TKL QWERTY layout.
32 * .-----------------------------------------------------------------------. 33 * .-----------------------------------------------------------------------.
33 * |Esc||||| F1| F2| F3| F4||| F5| F6| F7| F8||| F9|F10|F11|F12|PSc|SLk|Pau| 34 * |Esc|||||F1 |F2 |F3 |F4 |||F5 |F6 |F7 |F8 |||F9 |F10|F11|F12|PSc|SLk|Pau|
34 * |-----------------------------------------------------------|-----------| 35 * |-----------------------------------------------------------|-----------|
35 * | ~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Ins|Hom|PgU| 36 * |~ |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backsp |Ins|Hom|PgU|
36 * |-----------------------------------------------------------|-----------| 37 * |-----------------------------------------------------------|-----------|
37 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|Del|End|PgD| 38 * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ |Del|End|PgD|
38 * |-----------------------------------------------------------|-----------| 39 * |-----------------------------------------------------------|-----------|
39 * |FnCaps| A| S| D| F| G| H| J| K| L| ;| '|Return | | 40 * |Caps |A |S |D |F |G |H |J |K |L |; |' |Return | |
40 * |-----------------------------------------------------------|-----------| 41 * |-----------------------------------------------------------|-----------|
41 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up| | 42 * |Shift |Z |X |C |V |B |N |M |, |. |/ |Shift |Fn | | Up| |
42 * |-----------------------------------------------------------|-----------| 43 * |-----------------------------------------------------------|-----------|
43 * |Ctrl |||||Win | Space |RAlt |||||Ctrl |Lft|Dwn|Rgt| 44 * |Ctrl |Win|Alt | Space |RAlt |Fn |Ctrl |Lft|Dwn|Rgt|
44 * *-----------------------------------------------------------------------* 45 * *-----------------------------------------------------------------------*
45 */ 46 */
46 [_BL] = LAYOUT_tkl( \ 47 [_BL] = LAYOUT_tkl( \
47 KC_ESC, 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_PSCR, KC_SLCK, KC_PAUS, \ 48 KC_ESC, 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_PSCR, KC_SLCK, KC_PAUS, \
48 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, KC_INS, KC_HOME, KC_PGUP, \ 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, KC_INS, KC_HOME, KC_PGUP, \
49 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_DEL, KC_END, KC_PGDN, \ 50 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_DEL, KC_END, KC_PGDN, \
50 FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, \ 51 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, \
51 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL), KC_UP, \ 52 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL), KC_UP, \
52 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \ 53 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
53 ), 54 ),
54 55 /*#### _WL: Workman Layer.
55 /* _WL: Workman Layer. 56 * .-----------------------------------------------------------------------.
56 * .-----------------------------------------------------------------------. 57 * | ||||| | | | ||| | | | ||| | | | | | | |
57 * | ||||| | | | ||| | | | ||| | | | | | | | 58 * .-----------------------------------------------------------|-----------|
58 * .-----------------------------------------------------------|-----------| 59 * | | | | | | | | | | | |- |= | | | | |
59 * | | | | | | | | | | | | -| =| | | | | 60 * |-----------------------------------------------------------|-----------|
60 * |-----------------------------------------------------------|-----------| 61 * | |Q |D |R |W |B |J |F |U |P |; |[ |] |\ | | | |
61 * | | Q| D| R| W| B| J| F| U| P| ;| [| ]| \| | | | 62 * |-----------------------------------------------------------|-----------|
62 * |-----------------------------------------------------------|-----------| 63 * | |A |S |H |T |G |Y |N |E |O |I |' | | |
63 * | | A| S| H| T| G| Y| N| E| O| I| '| | | 64 * |-----------------------------------------------------------|-----------|
64 * |-----------------------------------------------------------|-----------| 65 * | |Z |X |M |C |V |K |L |, |. |/ | | | | | |
65 * | | Z| X| M| C| V| K| L| ,| .| /| | | | | | 66 * |-----------------------------------------------------------|-----------|
66 * |-----------------------------------------------------------|-----------| 67 * | | | | | | | | | | |
67 * | ||||| | | ||||| | | | | 68 * *-----------------------------------------------------------------------*
68 * *-----------------------------------------------------------------------*
69 */ 69 */
70 [_WL] = LAYOUT_tkl( \ 70 [_WL] = LAYOUT_tkl( \
71 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 71 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
@@ -75,21 +75,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
75 _______, _______, KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, \ 75 _______, _______, KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, \
76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ 76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
77 ), 77 ),
78 78 /*#### _NL: Norman Layer.
79 /* _NL: Norman Layer. 79 * .-----------------------------------------------------------------------.
80 * .-----------------------------------------------------------------------. 80 * | ||||| | | | ||| | | | ||| | | | | | | |
81 * | ||||| | | | ||| | | | ||| | | | | | | | 81 * .-----------------------------------------------------------|-----------|
82 * .-----------------------------------------------------------|-----------| 82 * | | | | | | | | | | | |- |= | | | | |
83 * | | | | | | | | | | | | -| =| | | | | 83 * |-----------------------------------------------------------|-----------|
84 * |-----------------------------------------------------------|-----------| 84 * | |Q |W |D |F |K |J |U |R |L |; |[ |] |\ | | | |
85 * | | Q| W| D| F| K| J| U| R| L| ;| [| ]| \| | | | 85 * |-----------------------------------------------------------|-----------|
86 * |-----------------------------------------------------------|-----------| 86 * | |A |S |E |T |G |Y |N |I |O |H |' | | |
87 * | | A| S| E| T| G| Y| N| I| O| H| '| | | 87 * |-----------------------------------------------------------|-----------|
88 * |-----------------------------------------------------------|-----------| 88 * | |Z |X |C |V |B |P |M |, |. |/ | | | | | |
89 * | | Z| X| C| V| B| P| M| ,| .| /| | | | | | 89 * |-----------------------------------------------------------|-----------|
90 * |-----------------------------------------------------------|-----------| 90 * | | | | | | | | | | |
91 * | ||||| | | ||||| | | | | 91 * *-----------------------------------------------------------------------*
92 * *-----------------------------------------------------------------------*
93 */ 92 */
94 [_NL] = LAYOUT_tkl( \ 93 [_NL] = LAYOUT_tkl( \
95 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 94 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
@@ -99,21 +98,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
99 _______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_P , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, \ 98 _______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_P , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, \
100 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ 99 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
101 ), 100 ),
102 101 /*#### _DL: Dvorak Layer.
103 /* _DL: Dvorak Layer. 102 * .-----------------------------------------------------------------------.
104 * .-----------------------------------------------------------------------. 103 * | ||||| | | | ||| | | | ||| | | | | | | |
105 * | ||||| | | | ||| | | | ||| | | | | | | | 104 * .-----------------------------------------------------------|-----------|
106 * .-----------------------------------------------------------|-----------| 105 * | | | | | | | | | | | |[ |] | | | | |
107 * | | | | | | | | | | | | [| ]| | | | | 106 * |-----------------------------------------------------------|-----------|
108 * |-----------------------------------------------------------|-----------| 107 * | |' |, |. |P |Y |F |G |C |R |L |/ |= |\ | | | |
109 * | | '| ,| .| P| Y| F| G| C| R| L| /| =| \| | | | 108 * |-----------------------------------------------------------|-----------|
110 * |-----------------------------------------------------------|-----------| 109 * | |A |O |E |U |I |D |H |T |N |S |- | | |
111 * | | A| O| E| U| I| D| H| T| N| S| -| | | 110 * |-----------------------------------------------------------|-----------|
112 * |-----------------------------------------------------------|-----------| 111 * | |; |Q |J |K |X |B |M |W |V |Z | | | | | |
113 * | | ;| Q| J| K| X| B| M| W| V| Z| | | | | | 112 * |-----------------------------------------------------------|-----------|
114 * |-----------------------------------------------------------|-----------| 113 * | | | | | | | | | | |
115 * | ||||| | | ||||| | | | | 114 * *-----------------------------------------------------------------------*
116 * *-----------------------------------------------------------------------*
117 */ 115 */
118 [_DL] = LAYOUT_tkl( \ 116 [_DL] = LAYOUT_tkl( \
119 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 117 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
@@ -123,21 +121,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
123 _______, _______, KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , _______, _______, _______, \ 121 _______, _______, KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , _______, _______, _______, \
124 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ 122 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
125 ), 123 ),
126 124 /*#### _CL: Colmak Layer.
127 /* _CL: Colmak Layer. 125 * .-----------------------------------------------------------------------.
128 * .-----------------------------------------------------------------------. 126 * | ||||| | | | ||| | | | ||| | | | | | | |
129 * | ||||| | | | ||| | | | ||| | | | | | | | 127 * .-----------------------------------------------------------|-----------|
130 * .-----------------------------------------------------------|-----------| 128 * | | | | | | | | | | | |- |= | | | | |
131 * | | | | | | | | | | | | -| =| | | | | 129 * |-----------------------------------------------------------|-----------|
132 * |-----------------------------------------------------------|-----------| 130 * | |Q |W |F |P |G |J |L |U |Y |; |[ |] |\ | | | |
133 * | | Q| W| F| P| G| J| L| U| Y| ;| [| ]| \| | | | 131 * |-----------------------------------------------------------|-----------|
134 * |-----------------------------------------------------------|-----------| 132 * | |A |R |S |T |D |H |N |E |I |O |' | | |
135 * | | A| R| S| T| D| H| N| E| I| O| '| | | 133 * |-----------------------------------------------------------|-----------|
136 * |-----------------------------------------------------------|-----------| 134 * | |Z |X |C |V |B |K |M |, |. |/ | | | | | |
137 * | | Z| X| C| V| B| K| M| ,| .| /| | | | | | 135 * |-----------------------------------------------------------|-----------|
138 * |-----------------------------------------------------------|-----------| 136 * | | | | | | | | | | |
139 * | ||||| | | ||||| | | | | 137 * *-----------------------------------------------------------------------*
140 * *-----------------------------------------------------------------------*
141 */ 138 */
142 [_CL] = LAYOUT_tkl( \ 139 [_CL] = LAYOUT_tkl( \
143 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 140 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
@@ -147,142 +144,126 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
147 _______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, \ 144 _______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, \
148 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ 145 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
149 ), 146 ),
150 147 /*#### _FL: Function Layer.
151 /* _FL: Function Layer. 148 * .-----------------------------------------------------------------------.
152 * M0 opens Chrome 149 * | ||||| | | | ||| | | | ||| |VlM|VlD|VlU| | | |
153 * .-----------------------------------------------------------------------. 150 * .-----------------------------------------------------------|-----------|
154 * | ||||| | | | ||| | | | ||| |VlM|VlD|VlU| | | | 151 * |Web| | | | | | | | | | | | | | | | |
155 * .-----------------------------------------------------------|-----------| 152 * |-----------------------------------------------------------|-----------|
156 * | M0| | | | | | | | | | | | | | | | | 153 * |Fn_AL| | | | | | | | | | | | | | | | |
157 * |-----------------------------------------------------------|-----------| 154 * |-----------------------------------------------------------|-----------|
158 * |Fn_AL| | | | | | | | | | | | | | | | | 155 * | | | | | | | |Lft|Dwn|Up |Rgt| | | |
159 * |-----------------------------------------------------------|-----------| 156 * |-----------------------------------------------------------|-----------|
160 * |FnCaps| | | | | | |Lft|Dwn|Up |Rgt| | | | 157 * | | | | | | | | | | | | |Fn | | | |
161 * |-----------------------------------------------------------|-----------| 158 * |-----------------------------------------------------------|-----------|
162 * | | | | | | | | | | | | | | | | | 159 * | | | | SP4 | |Fn | |WBk| |WFw|
163 * |-----------------------------------------------------------|-----------| 160 * *-----------------------------------------------------------------------*
164 * | ||||| | | ||||| |WBk| |WFw|
165 * *-----------------------------------------------------------------------*
166 */ 161 */
167 [_FL] = LAYOUT_tkl( \ 162 [_FL] = LAYOUT_tkl( \
168 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, \ 163 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, \
169 M(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ 164 KC_WEB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
170 MO(_AL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ 165 MO(_AL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
171 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ 166 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
172 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, \ 167 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, \
173 XXXXXXX, XXXXXXX, KC_MENU, M(1), XXXXXXX, _______, XXXXXXX, XXXXXXX, KC_WBAK, XXXXXXX, KC_WFWD \ 168 XXXXXXX, XXXXXXX, KC_MENU, KC_SP4, XXXXXXX, _______, XXXXXXX, XXXXXXX, KC_WBAK, XXXXXXX, KC_WFWD \
174 ), 169 ),
175 170 /*#### _AL: Adjust Layer - Keymap select, LED backlight, and Dynamic Macro settings.
176 /* _AL: Adjust Layer. 171 * .-----------------------------------------------------------------------.
177 * Default keymap, RGB Underglow, LED backlight, and Dynamic Macro settings. 172 * |Rst||||| | | | ||| | | | ||| | | | | | | |
178 * .-----------------------------------------------------------------------. 173 * .-----------------------------------------------------------|-----------|
179 * |Rst||||| | | | ||| | | | ||| | | | | | | | 174 * |Rev|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| | |MR1|MP1|
180 * .-----------------------------------------------------------|-----------| 175 * |-----------------------------------------------------------|-----------|
181 * |Ver|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| | |MR1|MP1| 176 * |Fn_AL|_BL|_WL| | | | | | | | | | | | MS|MR2|MP2|
182 * |-----------------------------------------------------------|-----------| 177 * |-----------------------------------------------------------|-----------|
183 * |Fn_AL|_BL|_WL| | | | | | | | | | | | MS|MR2|MP2| 178 * | | | |_DL| | | | | | | | | | |
184 * |-----------------------------------------------------------|-----------| 179 * |-----------------------------------------------------------|-----------|
185 * |FnCaps| | |_DL| | | | | | | | | | | 180 * | | | |_CL| |_BL|_NL| | | | | |Fn | | | |
186 * |-----------------------------------------------------------|-----------| 181 * |-----------------------------------------------------------|-----------|
187 * | | | |_CL| |_BL|_NL| | | | | | | | | | 182 * | | | | | |Fn | | | | |
188 * |-----------------------------------------------------------|-----------| 183 * *-----------------------------------------------------------------------*
189 * | ||||| | | ||||| | | | |
190 * *-----------------------------------------------------------------------*
191 */ 184 */
192 [_AL] = LAYOUT_tkl( \ 185 [_AL] = LAYOUT_tkl( \
193 RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ 186 RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
194 F(0), RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, XXXXXXX, BL_TOGG, BL_DEC, BL_INC, XXXXXXX, XXXXXXX, KC_DMR1, KC_DMP1, \ 187 QMK_REV, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, XXXXXXX, BL_TOGG, BL_DEC, BL_INC, XXXXXXX, XXXXXXX, KC_DMR1, KC_DMP1, \
195 _______, DF(_BL), DF(_WL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMRS, KC_DMR2, KC_DMP2, \ 188 _______, DF(_BL), DF(_WL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMRS, KC_DMR2, KC_DMP2, \
196 _______, XXXXXXX, XXXXXXX, DF(_DL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ 189 XXXXXXX, XXXXXXX, XXXXXXX, DF(_DL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
197 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(_CL), XXXXXXX, DF(_BL), DF(_NL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, \ 190 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(_CL), XXXXXXX, DF(_BL), DF(_NL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, \
198 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ 191 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
199 ), 192 ),
200}; 193};
201 194
202const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { 195bool process_record_user(uint16_t keycode, keyrecord_t *record) {
203 switch(id) { 196 switch (keycode) {
204 case 0: 197 case QMK_REV:
205 if (record->event.pressed) { 198 if (record->event.pressed) {
206 return MACRO(I(0), D(LGUI), T(R), U(LGUI), END); 199 SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP "@" QMK_VERSION ":" QMK_BUILDDATE);
207 } 200 }
208 else { 201 return false;
202 break;
203 case KC_WEB:
204 if (record->event.pressed) {
205 SEND_STRING(SS_LGUI("r"));
206 wait_ms(100);
209 SEND_STRING("chrome.exe\n"); 207 SEND_STRING("chrome.exe\n");
210 return false;
211 } 208 }
212 break; 209 return false;
213 case 1: 210 break;
211 case KC_SP4:
214 if (record->event.pressed) { 212 if (record->event.pressed) {
215 return MACRO(I(0), T(SPC), T(SPC), T(SPC), T(SPC), END); 213 SEND_STRING (" ");
216 } 214 }
217 else { 215 return false;
218 return false; 216 break;
219 }
220 break;
221 } 217 }
222 return MACRO_NONE; 218 // Dynamic Macros.
223}; 219 if (!process_record_dynamic_macro(keycode, record)) {
224 220 return false;
225const uint16_t PROGMEM fn_actions[] = {
226 [0] = ACTION_FUNCTION(0),
227};
228
229void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
230 switch (id) {
231 case 0:
232 if (record->event.pressed) {
233 SEND_STRING ("[QMK:" QMK_KEYBOARD ":" QMK_KEYMAP ":" QMK_VERSION "]");
234 }
235 break;
236 } 221 }
222 return true;
223}
224
225void custom_backlight_level(uint8_t level) {
226 if (level > BACKLIGHT_LEVELS)
227 level = BACKLIGHT_LEVELS;
228 backlight_config.level = level;
229 backlight_config.enable = !!backlight_config.level;
230 backlight_set(backlight_config.level);
237} 231}
238 232
239void matrix_init_user(void) { 233void matrix_init_user(void) {
240 #ifdef BACKLIGHT_ENABLE 234 #ifdef BACKLIGHT_ENABLE
241 backlight_level(0); 235 custom_backlight_level(0);
242 #endif 236 #endif
243} 237}
244 238
245// Runs constantly in the background, in a loop.
246void matrix_scan_user(void) { 239void matrix_scan_user(void) {
247 uint8_t layer = biton32(layer_state);
248 240
249 if (current_layer == layer) {
250 }
251 else {
252 current_layer = layer;
253 switch (layer) {
254 case 0:
255 backlight_level(0);
256 break;
257 case 1:
258 backlight_level(1);
259 break;
260 case 2:
261 backlight_level(1);
262 break;
263 case 3:
264 backlight_level(1);
265 break;
266 case 4:
267 backlight_level(1);
268 break;
269 case 5:
270 backlight_level(2);
271 break;
272 case 6:
273 backlight_level(3);
274 break;
275 default:
276 backlight_level(0);
277 break;
278 }
279 }
280} 241}
281 242
282bool process_record_user(uint16_t keycode, keyrecord_t *record) { 243uint32_t layer_state_set_user(uint32_t state) {
283 // Enable Dynamic Macros. 244 switch (biton32(state)) {
284 if (!process_record_dynamic_macro(keycode, record)) { 245 case _BL:
285 return false; 246 custom_backlight_level(0);
247 break;
248 case _WL:
249 case _NL:
250 case _DL:
251 case _CL:
252 custom_backlight_level(1);
253 break;
254 case _FL:
255 custom_backlight_level(2);
256 break;
257 case _AL:
258 custom_backlight_level(3);
259 break;
260 default:
261 custom_backlight_level(0);
262 break;
286 } 263 }
287 return true; 264 return state;
265}
266
267void led_set_user(uint8_t usb_led) {
268
288} 269}
diff --git a/keyboards/gonnerd/keymaps/gam3cat/readme.md b/keyboards/gonnerd/keymaps/gam3cat/readme.md
index 181369790..8630ea296 100644
--- a/keyboards/gonnerd/keymaps/gam3cat/readme.md
+++ b/keyboards/gonnerd/keymaps/gam3cat/readme.md
@@ -1,120 +1,114 @@
1# Keymap Maintainer: Gam3cat 1# Keymap Maintainer: Gam3cat
2make gonnerd:gam3cat 2make gonnerd:gam3cat
3## Layout Config: 3## Layout Config:
42u backspace, 2.25u left shift/enter, 1.75u right shift. 42u backspace, 2.25u lshift/enter, [2.75u rshift] or [1.75u rshift, 1u Fn].
52x1.5u, 1x7.0u, 2x1.5u, 3x1u bottom row. 5[1.5u, 1u, 1.5u 1x7.0u, 1.5u, 1u, 1.5u, 3x1u] or [2x1.5u, 1x7.0u, 2x1.5u, 3x1u] bottom row.
6
7 FN_CAPS = MO(_FL) when held, CAPS when tapped.
8 GRAVE_ESC + GUI = `
9 GRAVE_ESC + SHIFT = ~
10 6
11## Base Layer Selection: 7## Base Layer Selection:
12(Caps+TAB+( )): (Q)WERTY, (W)orkman, (N)orman, (D)vorak, (C)olmak 8(Fn+TAB+( )): (Q)WERTY, (W)orkman, (N)orman, (D)vorak, (C)olmak
13 9
14### Base Layer Options: 10### Base Layer Options:
15 _BL: Base Layer, mostly standard TKL QWERTY layout. 11#### _BL: Base Layer - Standard TKL QWERTY layout.
16 .-----------------------------------------------------------------------. 12 .-----------------------------------------------------------------------.
17 |Esc||||| F1| F2| F3| F4||| F5| F6| F7| F8||| F9|F10|F11|F12|PSc|SLk|Pau| 13 |Esc|||||F1 |F2 |F3 |F4 |||F5 |F6 |F7 |F8 |||F9 |F10|F11|F12|PSc|SLk|Pau|
18 |-----------------------------------------------------------|-----------| 14 |-----------------------------------------------------------|-----------|
19 | ~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Ins|Hom|PgU| 15 |~ |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backsp |Ins|Hom|PgU|
20 |-----------------------------------------------------------|-----------| 16 |-----------------------------------------------------------|-----------|
21 |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|Del|End|PgD| 17 |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ |Del|End|PgD|
22 |-----------------------------------------------------------|-----------| 18 |-----------------------------------------------------------|-----------|
23 |FnCaps| A| S| D| F| G| H| J| K| L| ;| '|Return | | 19 |Caps |A |S |D |F |G |H |J |K |L |; |' |Return | |
24 |-----------------------------------------------------------|-----------| 20 |-----------------------------------------------------------|-----------|
25 |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up| | 21 |Shift |Z |X |C |V |B |N |M |, |. |/ |Shift |Fn | | Up| |
26 |-----------------------------------------------------------|-----------| 22 |-----------------------------------------------------------|-----------|
27 |Ctrl |||||Win | Space |RAlt |||||Ctrl |Lft|Dwn|Rgt| 23 |Ctrl |Win|Alt | Space |RAlt |Fn |Ctrl |Lft|Dwn|Rgt|
28 *-----------------------------------------------------------------------* 24 *-----------------------------------------------------------------------*
29 25
30 _WL: Workman Layer. 26#### _WL: Workman Layer.
31 .-----------------------------------------------------------------------. 27 .-----------------------------------------------------------------------.
32 | ||||| | | | ||| | | | ||| | | | | | | | 28 | ||||| | | | ||| | | | ||| | | | | | | |
33 .-----------------------------------------------------------|-----------| 29 .-----------------------------------------------------------|-----------|
34 | | | | | | | | | | | | -| =| | | | | 30 | | | | | | | | | | | |- |= | | | | |
35 |-----------------------------------------------------------|-----------| 31 |-----------------------------------------------------------|-----------|
36 | | Q| D| R| W| B| J| F| U| P| ;| [| ]| \| | | | 32 | |Q |D |R |W |B |J |F |U |P |; |[ |] |\ | | | |
37 |-----------------------------------------------------------|-----------| 33 |-----------------------------------------------------------|-----------|
38 | | A| S| H| T| G| Y| N| E| O| I| '| | | 34 | |A |S |H |T |G |Y |N |E |O |I |' | | |
39 |-----------------------------------------------------------|-----------| 35 |-----------------------------------------------------------|-----------|
40 | | Z| X| M| C| V| K| L| ,| .| /| | | | | | 36 | |Z |X |M |C |V |K |L |, |. |/ | | | | | |
41 |-----------------------------------------------------------|-----------| 37 |-----------------------------------------------------------|-----------|
42 | ||||| | | ||||| | | | | 38 | | | | | | | | | | |
43 *-----------------------------------------------------------------------* 39 *-----------------------------------------------------------------------*
44 40
45 _NL: Norman Layer. 41#### _NL: Norman Layer.
46 .-----------------------------------------------------------------------. 42 .-----------------------------------------------------------------------.
47 | ||||| | | | ||| | | | ||| | | | | | | | 43 | ||||| | | | ||| | | | ||| | | | | | | |
48 .-----------------------------------------------------------|-----------| 44 .-----------------------------------------------------------|-----------|
49 | | | | | | | | | | | | -| =| | | | | 45 | | | | | | | | | | | |- |= | | | | |
50 |-----------------------------------------------------------|-----------| 46 |-----------------------------------------------------------|-----------|
51 | | Q| W| D| F| K| J| U| R| L| ;| [| ]| \| | | | 47 | |Q |W |D |F |K |J |U |R |L |; |[ |] |\ | | | |
52 |-----------------------------------------------------------|-----------| 48 |-----------------------------------------------------------|-----------|
53 | | A| S| E| T| G| Y| N| I| O| H| '| | | 49 | |A |S |E |T |G |Y |N |I |O |H |' | | |
54 |-----------------------------------------------------------|-----------| 50 |-----------------------------------------------------------|-----------|
55 | | Z| X| C| V| B| P| M| ,| .| /| | | | | | 51 | |Z |X |C |V |B |P |M |, |. |/ | | | | | |
56 |-----------------------------------------------------------|-----------| 52 |-----------------------------------------------------------|-----------|
57 | ||||| | | ||||| | | | | 53 | | | | | | | | | | |
58 *-----------------------------------------------------------------------* 54 *-----------------------------------------------------------------------*
59 55
60 _DL: Dvorak Layer. 56#### _DL: Dvorak Layer.
61 .-----------------------------------------------------------------------. 57 .-----------------------------------------------------------------------.
62 | ||||| | | | ||| | | | ||| | | | | | | | 58 | ||||| | | | ||| | | | ||| | | | | | | |
63 .-----------------------------------------------------------|-----------| 59 .-----------------------------------------------------------|-----------|
64 | | | | | | | | | | | | [| ]| | | | | 60 | | | | | | | | | | | |[ |] | | | | |
65 |-----------------------------------------------------------|-----------| 61 |-----------------------------------------------------------|-----------|
66 | | '| ,| .| P| Y| F| G| C| R| L| /| =| \| | | | 62 | |' |, |. |P |Y |F |G |C |R |L |/ |= |\ | | | |
67 |-----------------------------------------------------------|-----------| 63 |-----------------------------------------------------------|-----------|
68 | | A| O| E| U| I| D| H| T| N| S| -| | | 64 | |A |O |E |U |I |D |H |T |N |S |- | | |
69 |-----------------------------------------------------------|-----------| 65 |-----------------------------------------------------------|-----------|
70 | | ;| Q| J| K| X| B| M| W| V| Z| | | | | | 66 | |; |Q |J |K |X |B |M |W |V |Z | | | | | |
71 |-----------------------------------------------------------|-----------| 67 |-----------------------------------------------------------|-----------|
72 | ||||| | | ||||| | | | | 68 | | | | | | | | | | |
73 *-----------------------------------------------------------------------* 69 *-----------------------------------------------------------------------*
74 70
75 _CL: Colmak Layer. 71#### _CL: Colmak Layer.
76 .-----------------------------------------------------------------------. 72 .-----------------------------------------------------------------------.
77 | ||||| | | | ||| | | | ||| | | | | | | | 73 | ||||| | | | ||| | | | ||| | | | | | | |
78 .-----------------------------------------------------------|-----------| 74 .-----------------------------------------------------------|-----------|
79 | | | | | | | | | | | | -| =| | | | | 75 | | | | | | | | | | | |- |= | | | | |
80 |-----------------------------------------------------------|-----------| 76 |-----------------------------------------------------------|-----------|
81 | | Q| W| F| P| G| J| L| U| Y| ;| [| ]| \| | | | 77 | |Q |W |F |P |G |J |L |U |Y |; |[ |] |\ | | | |
82 |-----------------------------------------------------------|-----------| 78 |-----------------------------------------------------------|-----------|
83 | | A| R| S| T| D| H| N| E| I| O| '| | | 79 | |A |R |S |T |D |H |N |E |I |O |' | | |
84 |-----------------------------------------------------------|-----------| 80 |-----------------------------------------------------------|-----------|
85 | | Z| X| C| V| B| K| M| ,| .| /| | | | | | 81 | |Z |X |C |V |B |K |M |, |. |/ | | | | | |
86 |-----------------------------------------------------------|-----------| 82 |-----------------------------------------------------------|-----------|
87 | ||||| | | ||||| | | | | 83 | | | | | | | | | | |
88 *-----------------------------------------------------------------------* 84 *-----------------------------------------------------------------------*
89 85
90 _FL: Function Layer. 86#### _FL: Function Layer.
91 M0 opens Chrome
92 .-----------------------------------------------------------------------. 87 .-----------------------------------------------------------------------.
93 | ||||| | | | ||| | | | ||| |VlM|VlD|VlU| | | | 88 | ||||| | | | ||| | | | ||| |VlM|VlD|VlU| | | |
94 .-----------------------------------------------------------|-----------| 89 .-----------------------------------------------------------|-----------|
95 | M0| | | | | | | | | | | | | | | | | 90 |Web| | | | | | | | | | | | | | | | |
96 |-----------------------------------------------------------|-----------| 91 |-----------------------------------------------------------|-----------|
97 | | | | | | | | | | | | | | | | | | 92 |Fn_AL| | | | | | | | | | | | | | | | |
98 |-----------------------------------------------------------|-----------| 93 |-----------------------------------------------------------|-----------|
99 | | | | | | | |Lft|Dwn|Up |Rgt| | | | 94 | | | | | | | |Lft|Dwn|Up |Rgt| | | |
100 |-----------------------------------------------------------|-----------| 95 |-----------------------------------------------------------|-----------|
101 | | | | | | | | | | | | | | | | | 96 | | | | | | | | | | | | |Fn | | | |
102 |-----------------------------------------------------------|-----------| 97 |-----------------------------------------------------------|-----------|
103 | ||||| | | ||||| |WBk| |WFw| 98 | | | | SP4 | |Fn | |WBk| |WFw|
104 *-----------------------------------------------------------------------* 99 *-----------------------------------------------------------------------*
105 100
106 _AL: Adjust Layer. 101#### _AL: Adjust Layer - Keymap select, LED backlight, and Dynamic Macro settings.
107 Default keymap, RGB Underglow, LED backlight, and Dynamic Macro settings.
108 .-----------------------------------------------------------------------. 102 .-----------------------------------------------------------------------.
109 |Rst||||| | | | ||| | | | ||| | | | | | | | 103 |Rst||||| | | | ||| | | | ||| | | | | | | |
110 .-----------------------------------------------------------|-----------| 104 .-----------------------------------------------------------|-----------|
111 |Ver|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| | |MR1|MP1| 105 |Rev|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| | |MR1|MP1|
112 |-----------------------------------------------------------|-----------| 106 |-----------------------------------------------------------|-----------|
113 |Fn_AL|_BL|_WL| | | | | | | | | | | | MS|MR2|MP2| 107 |Fn_AL|_BL|_WL| | | | | | | | | | | | MS|MR2|MP2|
114 |-----------------------------------------------------------|-----------| 108 |-----------------------------------------------------------|-----------|
115 |FnCaps| | |_DL| | | | | | | | | | | 109 | | | |_DL| | | | | | | | | | |
116 |-----------------------------------------------------------|-----------| 110 |-----------------------------------------------------------|-----------|
117 | | | |_CL| |_BL|_NL| | | | | | | | | | 111 | | | |_CL| |_BL|_NL| | | | | |Fn | | | |
118 |-----------------------------------------------------------|-----------| 112 |-----------------------------------------------------------|-----------|
119 | ||||| | | ||||| | | | | 113 | | | | | |Fn | | | | |
120 *-----------------------------------------------------------------------* 114 *-----------------------------------------------------------------------*
diff --git a/keyboards/gonnerd/keymaps/gam3cat/rules.mk b/keyboards/gonnerd/keymaps/gam3cat/rules.mk
index a22683842..6eab033cc 100644
--- a/keyboards/gonnerd/keymaps/gam3cat/rules.mk
+++ b/keyboards/gonnerd/keymaps/gam3cat/rules.mk
@@ -2,20 +2,23 @@
2# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
4# 4#
5TAP_DANCE_ENABLE = no # Enable TapDance functionality
6RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 7BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700) 8MOUSEKEY_ENABLE = no # Mouse keys(+1500)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 9EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = yes # Console for debug(+400) 10CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = yes # Commands for debug and configuration 11COMMAND_ENABLE = no # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 12SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
11BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality 13NKRO_ENABLE = yes # Nkey Rollover - If this doesn't work, add this to config.h: #define FORCE_NKRO
14BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls 15MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode 16UNICODE_ENABLE = no # Unicode
17UNICODEMAP_ENABLE = no # Enable extended unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 18BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. 19AUDIO_ENABLE = no # Audio output on port C6
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 20FAUXCLICKY_ENABLE = no # Uses buzzer to emulate clicky switches. By default, uses the C6 pin, same as AUDIO_ENABLE.
18 21#VARIABLE_TRACE = no # Use this to debug changes to variable values
19ifndef QUANTUM_DIR 22API_SYSEX_ENABLE = no # This enables using the Quantum SYSEX API to send strings(+5390)
20 include ../../../../Makefile 23KEY_LOCK_ENABLE = no # This enables key lock(+260)
21endif 24SPLIT_KEYBOARD = no # This enables split keyboard support and includes all necessary files located at quantum/split_common
diff --git a/keyboards/h87a/keymaps/gam3cat/config.h b/keyboards/h87a/keymaps/gam3cat/config.h
new file mode 100644
index 000000000..334beb0ac
--- /dev/null
+++ b/keyboards/h87a/keymaps/gam3cat/config.h
@@ -0,0 +1,10 @@
1#pragma once
2
3//Force NKRO to be enabled.
4#define FORCE_NKRO
5
6//GRAVE_ESC override for CTRL+SHIFT+ESC Windows task manager shortcut.
7//#define GRAVE_ESC_CTRL_OVERRIDE
8
9//Delay matrix scan for tap dance, reduce to activate modifier keys faster.
10//#define TAPPING_TERM 200
diff --git a/keyboards/h87a/keymaps/gam3cat/keymap.c b/keyboards/h87a/keymaps/gam3cat/keymap.c
new file mode 100644
index 000000000..2a4e5ca41
--- /dev/null
+++ b/keyboards/h87a/keymaps/gam3cat/keymap.c
@@ -0,0 +1,292 @@
1#include QMK_KEYBOARD_H
2#include "version.h"
3
4enum layers {
5 _BL = 0, // Base Layer
6 _WL, // Workman Layer
7 _NL, // Norman Layer
8 _DL, // Dvorak Layer
9 _CL, // Base Layer
10 _FL, // Function Layer
11 _AL, // Adjust Layer
12};
13
14enum custom_keycodes {
15 DYNAMIC_MACRO_RANGE = SAFE_RANGE,
16 QMK_REV,
17 KC_WEB,
18 KC_SP4
19};
20
21extern backlight_config_t backlight_config;
22
23#include "dynamic_macro.h"
24#define FN_CAPS LT(_FL, KC_CAPS)
25#define KC_DMR1 DYN_REC_START1
26#define KC_DMR2 DYN_REC_START2
27#define KC_DMP1 DYN_MACRO_PLAY1
28#define KC_DMP2 DYN_MACRO_PLAY2
29#define KC_DMRS DYN_REC_STOP
30
31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32 /*#### _BL: Base Layer - Standard TKL QWERTY layout.
33 * .-----------------------------------------------------------------------.
34 * |Esc|||||F1 |F2 |F3 |F4 |||F5 |F6 |F7 |F8 |||F9 |F10|F11|F12|PSc|SLk|Pau|
35 * |-----------------------------------------------------------|-----------|
36 * |~ |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backsp |Ins|Hom|PgU|
37 * |-----------------------------------------------------------|-----------|
38 * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ |Del|End|PgD|
39 * |-----------------------------------------------------------|-----------|
40 * |Caps |A |S |D |F |G |H |J |K |L |; |' |Return | |
41 * |-----------------------------------------------------------|-----------|
42 * |Shift |Z |X |C |V |B |N |M |, |. |/ |Shift |Fn | | Up| |
43 * |-----------------------------------------------------------|-----------|
44 * |Ctrl |Win|Alt | Space |RAlt |Fn |Ctrl |Lft|Dwn|Rgt|
45 * *-----------------------------------------------------------------------*
46 */
47 [_BL] = LAYOUT_all( \
48 KC_ESC, 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_PSCR, KC_SLCK, KC_PAUS, \
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, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \
50 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_DEL, KC_END, KC_PGDN, \
51 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, \
52 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL), KC_UP, \
53 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
54 ),
55 /*#### _WL: Workman Layer.
56 * .-----------------------------------------------------------------------.
57 * | ||||| | | | ||| | | | ||| | | | | | | |
58 * .-----------------------------------------------------------|-----------|
59 * | | | | | | | | | | | |- |= | | | | |
60 * |-----------------------------------------------------------|-----------|
61 * | |Q |D |R |W |B |J |F |U |P |; |[ |] |\ | | | |
62 * |-----------------------------------------------------------|-----------|
63 * | |A |S |H |T |G |Y |N |E |O |I |' | | |
64 * |-----------------------------------------------------------|-----------|
65 * | |Z |X |M |C |V |K |L |, |. |/ | | | | | |
66 * |-----------------------------------------------------------|-----------|
67 * | | | | | | | | | | |
68 * *-----------------------------------------------------------------------*
69 */
70 [_WL] = LAYOUT_all( \
71 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
72 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
73 _______, KC_Q , KC_D , KC_R , KC_W , KC_B , KC_J , KC_F , KC_U , KC_P , KC_SCLN, _______, _______, _______, _______, _______, _______, \
74 _______, KC_A , KC_S , KC_H , KC_T , KC_G , KC_Y , KC_N , KC_E , KC_O , KC_I , _______, _______, _______, \
75 _______, _______, KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, \
76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
77 ),
78 /*#### _NL: Norman Layer.
79 * .-----------------------------------------------------------------------.
80 * | ||||| | | | ||| | | | ||| | | | | | | |
81 * .-----------------------------------------------------------|-----------|
82 * | | | | | | | | | | | |- |= | | | | |
83 * |-----------------------------------------------------------|-----------|
84 * | |Q |W |D |F |K |J |U |R |L |; |[ |] |\ | | | |
85 * |-----------------------------------------------------------|-----------|
86 * | |A |S |E |T |G |Y |N |I |O |H |' | | |
87 * |-----------------------------------------------------------|-----------|
88 * | |Z |X |C |V |B |P |M |, |. |/ | | | | | |
89 * |-----------------------------------------------------------|-----------|
90 * | | | | | | | | | | |
91 * *-----------------------------------------------------------------------*
92 */
93 [_NL] = LAYOUT_all( \
94 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
95 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
96 _______, KC_Q , KC_W , KC_D , KC_F , KC_K , KC_J , KC_U , KC_R , KC_L , KC_SCLN, _______, _______, _______, _______, _______, _______, \
97 _______, KC_A , KC_S , KC_E , KC_T , KC_G , KC_Y , KC_N , KC_I , KC_O , KC_H , _______, _______, _______, \
98 _______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_P , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, \
99 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
100 ),
101 /*#### _DL: Dvorak Layer.
102 * .-----------------------------------------------------------------------.
103 * | ||||| | | | ||| | | | ||| | | | | | | |
104 * .-----------------------------------------------------------|-----------|
105 * | | | | | | | | | | | |[ |] | | | | |
106 * |-----------------------------------------------------------|-----------|
107 * | |' |, |. |P |Y |F |G |C |R |L |/ |= |\ | | | |
108 * |-----------------------------------------------------------|-----------|
109 * | |A |O |E |U |I |D |H |T |N |S |- | | |
110 * |-----------------------------------------------------------|-----------|
111 * | |; |Q |J |K |X |B |M |W |V |Z | | | | | |
112 * |-----------------------------------------------------------|-----------|
113 * | | | | | | | | | | |
114 * *-----------------------------------------------------------------------*
115 */
116 [_DL] = LAYOUT_all( \
117 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
118 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, _______, _______, _______, \
119 _______, KC_QUOT, KC_COMM, KC_DOT , KC_P , KC_Y , KC_F , KC_G , KC_C , KC_R , KC_L , KC_SLSH, KC_EQL , _______, _______, _______, _______, \
120 _______, KC_A , KC_O , KC_E , KC_U , KC_I , KC_D , KC_H , KC_T , KC_N , KC_S , KC_MINS, _______, _______, \
121 _______, _______, KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , _______, _______, _______, \
122 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
123 ),
124 /*#### _CL: Colmak Layer.
125 * .-----------------------------------------------------------------------.
126 * | ||||| | | | ||| | | | ||| | | | | | | |
127 * .-----------------------------------------------------------|-----------|
128 * | | | | | | | | | | | |- |= | | | | |
129 * |-----------------------------------------------------------|-----------|
130 * | |Q |W |F |P |G |J |L |U |Y |; |[ |] |\ | | | |
131 * |-----------------------------------------------------------|-----------|
132 * | |A |R |S |T |D |H |N |E |I |O |' | | |
133 * |-----------------------------------------------------------|-----------|
134 * | |Z |X |C |V |B |K |M |, |. |/ | | | | | |
135 * |-----------------------------------------------------------|-----------|
136 * | | | | | | | | | | |
137 * *-----------------------------------------------------------------------*
138 */
139 [_CL] = LAYOUT_all( \
140 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
141 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
142 _______, KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, _______, _______, _______, _______, _______, _______, \
143 _______, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , _______, _______, _______, \
144 _______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, \
145 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
146 ),
147 /*#### _FL: Function Layer.
148 * .-----------------------------------------------------------------------.
149 * | ||||| | | | ||| | | | ||| |VlM|VlD|VlU| | | |
150 * .-----------------------------------------------------------|-----------|
151 * |Web| | | | | | | | | | | | | | | | |
152 * |-----------------------------------------------------------|-----------|
153 * |Fn_AL| | | | | | | | | | | | | | | | |
154 * |-----------------------------------------------------------|-----------|
155 * | | | | | | | |Lft|Dwn|Up |Rgt| | | |
156 * |-----------------------------------------------------------|-----------|
157 * | | | | | | | | | | | | |Fn | | | |
158 * |-----------------------------------------------------------|-----------|
159 * | | | | SP4 | |Fn | |WBk| |WFw|
160 * *-----------------------------------------------------------------------*
161 */
162 [_FL] = LAYOUT_all( \
163 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, \
164 KC_WEB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
165 MO(_AL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
166 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
167 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, \
168 XXXXXXX, XXXXXXX, KC_MENU, KC_SP4, XXXXXXX, _______, XXXXXXX, XXXXXXX, KC_WBAK, XXXXXXX, KC_WFWD \
169 ),
170 /*#### _AL: Adjust Layer - Keymap select, LED backlight, and Dynamic Macro settings.
171 * .-----------------------------------------------------------------------.
172 * |Rst||||| | | | ||| | | | ||| | | | | | | |
173 * .-----------------------------------------------------------|-----------|
174 * |Rev|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| | |MR1|MP1|
175 * |-----------------------------------------------------------|-----------|
176 * |Fn_AL|_BL|_WL| | | | | | | | | | | | MS|MR2|MP2|
177 * |-----------------------------------------------------------|-----------|
178 * | | | |_DL| | | | | | | | | | |
179 * |-----------------------------------------------------------|-----------|
180 * | | | |_CL| |_BL|_NL| | | | | |Fn | | | |
181 * |-----------------------------------------------------------|-----------|
182 * | | | | | |Fn | | | | |
183 * *-----------------------------------------------------------------------*
184 */
185 [_AL] = LAYOUT_all( \
186 RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
187 QMK_REV, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, XXXXXXX, BL_TOGG, BL_DEC, BL_INC, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMR1, KC_DMP1, \
188 _______, DF(_BL), DF(_WL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMRS, KC_DMR2, KC_DMP2, \
189 XXXXXXX, XXXXXXX, XXXXXXX, DF(_DL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
190 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(_CL), XXXXXXX, DF(_BL), DF(_NL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, \
191 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
192 ),
193};
194
195bool process_record_user(uint16_t keycode, keyrecord_t *record) {
196 switch (keycode) {
197 case QMK_REV:
198 if (record->event.pressed) {
199 SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP "@" QMK_VERSION ":" QMK_BUILDDATE);
200 }
201 return false;
202 break;
203 case KC_WEB:
204 if (record->event.pressed) {
205 SEND_STRING(SS_LGUI("r"));
206 wait_ms(100);
207 SEND_STRING("chrome.exe\n");
208 }
209 return false;
210 break;
211 case KC_SP4:
212 if (record->event.pressed) {
213 SEND_STRING (" ");
214 }
215 return false;
216 break;
217 }
218 // Dynamic Macros.
219 if (!process_record_dynamic_macro(keycode, record)) {
220 return false;
221 }
222 return true;
223}
224
225void custom_backlight_level(uint8_t level) {
226 if (level > BACKLIGHT_LEVELS)
227 level = BACKLIGHT_LEVELS;
228 backlight_config.level = level;
229 backlight_config.enable = !!backlight_config.level;
230 backlight_set(backlight_config.level);
231}
232
233void matrix_init_user(void) {
234 #ifdef BACKLIGHT_ENABLE
235 custom_backlight_level(0);
236 #endif
237 #ifdef RGBLIGHT_ENABLE
238 rgblight_mode(1);
239 rgblight_sethsv_noeeprom(180,100,100);
240 #endif
241}
242
243void matrix_scan_user(void) {
244
245}
246
247uint32_t layer_state_set_user(uint32_t state) {
248 switch (biton32(state)) {
249 case _BL:
250 custom_backlight_level(0);
251 rgblight_sethsv_noeeprom(180,100,255);
252 break;
253 case _WL:
254 case _NL:
255 case _DL:
256 case _CL:
257 custom_backlight_level(1);
258 rgblight_sethsv_noeeprom(230,255,255);
259 break;
260 case _FL:
261 custom_backlight_level(2);
262 rgblight_sethsv_noeeprom(280,255,255);
263 break;
264 case _AL:
265 custom_backlight_level(3);
266 rgblight_sethsv_noeeprom(350,255,255);
267 break;
268 default:
269 custom_backlight_level(0);
270 rgblight_sethsv_noeeprom(180,100,100);
271 break;
272 }
273 return state;
274}
275
276void led_init_ports(void) {
277 DDRD |= (1<<5); // OUT
278 DDRE |= (1<<6); // OUT
279}
280
281void led_set_user(uint8_t usb_led) {
282 if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
283 DDRD |= (1 << 5); PORTD &= ~(1 << 5);
284 } else {
285 DDRD &= ~(1 << 5); PORTD &= ~(1 << 5);
286 }
287 if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
288 DDRE |= (1 << 6); PORTE &= ~(1 << 6);
289 } else {
290 DDRE &= ~(1 << 6); PORTE &= ~(1 << 6);
291 }
292}
diff --git a/keyboards/h87a/keymaps/gam3cat/readme.md b/keyboards/h87a/keymaps/gam3cat/readme.md
new file mode 100644
index 000000000..5eb4c7d61
--- /dev/null
+++ b/keyboards/h87a/keymaps/gam3cat/readme.md
@@ -0,0 +1,114 @@
1# Keymap Maintainer: Gam3cat
2make h87a:gam3cat
3## Layout Config:
42u backspace, 2.25u lshift/enter, [2.75u rshift] or [1.75u rshift, 1u Fn].
5[1.5u, 1u, 1.5u 1x7.0u, 1.5u, 1u, 1.5u, 3x1u] or [2x1.5u, 1x7.0u, 2x1.5u, 3x1u] bottom row.
6
7## Base Layer Selection:
8(Fn+TAB+( )): (Q)WERTY, (W)orkman, (N)orman, (D)vorak, (C)olmak
9
10### Base Layer Options:
11#### _BL: Base Layer - Standard TKL QWERTY layout.
12 .-----------------------------------------------------------------------.
13 |Esc|||||F1 |F2 |F3 |F4 |||F5 |F6 |F7 |F8 |||F9 |F10|F11|F12|PSc|SLk|Pau|
14 |-----------------------------------------------------------|-----------|
15 |~ |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backsp |Ins|Hom|PgU|
16 |-----------------------------------------------------------|-----------|
17 |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ |Del|End|PgD|
18 |-----------------------------------------------------------|-----------|
19 |Caps |A |S |D |F |G |H |J |K |L |; |' |Return | |
20 |-----------------------------------------------------------|-----------|
21 |Shift |Z |X |C |V |B |N |M |, |. |/ |Shift |Fn | | Up| |
22 |-----------------------------------------------------------|-----------|
23 |Ctrl |Win|Alt | Space |RAlt |Fn |Ctrl |Lft|Dwn|Rgt|
24 *-----------------------------------------------------------------------*
25
26#### _WL: Workman Layer.
27 .-----------------------------------------------------------------------.
28 | ||||| | | | ||| | | | ||| | | | | | | |
29 .-----------------------------------------------------------|-----------|
30 | | | | | | | | | | | |- |= | | | | |
31 |-----------------------------------------------------------|-----------|
32 | |Q |D |R |W |B |J |F |U |P |; |[ |] |\ | | | |
33 |-----------------------------------------------------------|-----------|
34 | |A |S |H |T |G |Y |N |E |O |I |' | | |
35 |-----------------------------------------------------------|-----------|
36 | |Z |X |M |C |V |K |L |, |. |/ | | | | | |
37 |-----------------------------------------------------------|-----------|
38 | | | | | | | | | | |
39 *-----------------------------------------------------------------------*
40
41#### _NL: Norman Layer.
42 .-----------------------------------------------------------------------.
43 | ||||| | | | ||| | | | ||| | | | | | | |
44 .-----------------------------------------------------------|-----------|
45 | | | | | | | | | | | |- |= | | | | |
46 |-----------------------------------------------------------|-----------|
47 | |Q |W |D |F |K |J |U |R |L |; |[ |] |\ | | | |
48 |-----------------------------------------------------------|-----------|
49 | |A |S |E |T |G |Y |N |I |O |H |' | | |
50 |-----------------------------------------------------------|-----------|
51 | |Z |X |C |V |B |P |M |, |. |/ | | | | | |
52 |-----------------------------------------------------------|-----------|
53 | | | | | | | | | | |
54 *-----------------------------------------------------------------------*
55
56#### _DL: Dvorak Layer.
57 .-----------------------------------------------------------------------.
58 | ||||| | | | ||| | | | ||| | | | | | | |
59 .-----------------------------------------------------------|-----------|
60 | | | | | | | | | | | |[ |] | | | | |
61 |-----------------------------------------------------------|-----------|
62 | |' |, |. |P |Y |F |G |C |R |L |/ |= |\ | | | |
63 |-----------------------------------------------------------|-----------|
64 | |A |O |E |U |I |D |H |T |N |S |- | | |
65 |-----------------------------------------------------------|-----------|
66 | |; |Q |J |K |X |B |M |W |V |Z | | | | | |
67 |-----------------------------------------------------------|-----------|
68 | | | | | | | | | | |
69 *-----------------------------------------------------------------------*
70
71#### _CL: Colmak Layer.
72 .-----------------------------------------------------------------------.
73 | ||||| | | | ||| | | | ||| | | | | | | |
74 .-----------------------------------------------------------|-----------|
75 | | | | | | | | | | | |- |= | | | | |
76 |-----------------------------------------------------------|-----------|
77 | |Q |W |F |P |G |J |L |U |Y |; |[ |] |\ | | | |
78 |-----------------------------------------------------------|-----------|
79 | |A |R |S |T |D |H |N |E |I |O |' | | |
80 |-----------------------------------------------------------|-----------|
81 | |Z |X |C |V |B |K |M |, |. |/ | | | | | |
82 |-----------------------------------------------------------|-----------|
83 | | | | | | | | | | |
84 *-----------------------------------------------------------------------*
85
86#### _FL: Function Layer.
87 .-----------------------------------------------------------------------.
88 | ||||| | | | ||| | | | ||| |VlM|VlD|VlU| | | |
89 .-----------------------------------------------------------|-----------|
90 |Web| | | | | | | | | | | | | | | | |
91 |-----------------------------------------------------------|-----------|
92 |Fn_AL| | | | | | | | | | | | | | | | |
93 |-----------------------------------------------------------|-----------|
94 | | | | | | | |Lft|Dwn|Up |Rgt| | | |
95 |-----------------------------------------------------------|-----------|
96 | | | | | | | | | | | | |Fn | | | |
97 |-----------------------------------------------------------|-----------|
98 | | | | SP4 | |Fn | |WBk| |WFw|
99 *-----------------------------------------------------------------------*
100
101#### _AL: Adjust Layer - Keymap select, LED backlight, and Dynamic Macro settings.
102 .-----------------------------------------------------------------------.
103 |Rst||||| | | | ||| | | | ||| | | | | | | |
104 .-----------------------------------------------------------|-----------|
105 |Rev|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| | |MR1|MP1|
106 |-----------------------------------------------------------|-----------|
107 |Fn_AL|_BL|_WL| | | | | | | | | | | | MS|MR2|MP2|
108 |-----------------------------------------------------------|-----------|
109 | | | |_DL| | | | | | | | | | |
110 |-----------------------------------------------------------|-----------|
111 | | | |_CL| |_BL|_NL| | | | | |Fn | | | |
112 |-----------------------------------------------------------|-----------|
113 | | | | | |Fn | | | | |
114 *-----------------------------------------------------------------------*
diff --git a/keyboards/h87a/keymaps/gam3cat/rules.mk b/keyboards/h87a/keymaps/gam3cat/rules.mk
new file mode 100644
index 000000000..85b2b41a6
--- /dev/null
+++ b/keyboards/h87a/keymaps/gam3cat/rules.mk
@@ -0,0 +1,24 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5TAP_DANCE_ENABLE = no # Enable TapDance functionality
6RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
7BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
8MOUSEKEY_ENABLE = no # Mouse keys(+1500)
9EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
10CONSOLE_ENABLE = no # Console for debug(+400)
11COMMAND_ENABLE = no # Commands for debug and configuration
12SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
13NKRO_ENABLE = yes # Nkey Rollover - If this doesn't work, add this to config.h: #define FORCE_NKRO
14BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
15MIDI_ENABLE = no # MIDI controls
16UNICODE_ENABLE = no # Unicode
17UNICODEMAP_ENABLE = no # Enable extended unicode
18BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
19AUDIO_ENABLE = no # Audio output on port C6
20FAUXCLICKY_ENABLE = no # Uses buzzer to emulate clicky switches. By default, uses the C6 pin, same as AUDIO_ENABLE.
21#VARIABLE_TRACE = no # Use this to debug changes to variable values
22API_SYSEX_ENABLE = no # This enables using the Quantum SYSEX API to send strings(+5390)
23KEY_LOCK_ENABLE = no # This enables key lock(+260)
24SPLIT_KEYBOARD = no # This enables split keyboard support and includes all necessary files located at quantum/split_common
diff --git a/keyboards/jc65/v32u4/keymaps/gam3cat/config.h b/keyboards/jc65/v32u4/keymaps/gam3cat/config.h
index d86da86e4..e4df94be7 100644
--- a/keyboards/jc65/v32u4/keymaps/gam3cat/config.h
+++ b/keyboards/jc65/v32u4/keymaps/gam3cat/config.h
@@ -1,4 +1,8 @@
1#include "../../config.h" 1#pragma once
2
3//Force NKRO to be enabled.
4#define FORCE_NKRO
5
2//GRAVE_ESC override for CTRL+SHIFT+ESC Windows task manager shortcut. 6//GRAVE_ESC override for CTRL+SHIFT+ESC Windows task manager shortcut.
3#define GRAVE_ESC_CTRL_OVERRIDE 7#define GRAVE_ESC_CTRL_OVERRIDE
4 8
diff --git a/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c b/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c
index af45fb608..aa5709a37 100644
--- a/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c
+++ b/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c
@@ -11,13 +11,16 @@ enum layers {
11 _AL, // Adjust Layer 11 _AL, // Adjust Layer
12}; 12};
13 13
14enum jc65_keycodes { 14enum custom_keycodes {
15 DYNAMIC_MACRO_RANGE = SAFE_RANGE, 15 DYNAMIC_MACRO_RANGE = SAFE_RANGE,
16 QMK_REV,
17 KC_WEB,
18 KC_SP4
16}; 19};
17 20
21extern backlight_config_t backlight_config;
22
18#include "dynamic_macro.h" 23#include "dynamic_macro.h"
19#define _______ KC_TRNS
20#define XXXXXXX KC_NO
21#define FN_CAPS LT(_FL, KC_CAPS) 24#define FN_CAPS LT(_FL, KC_CAPS)
22#define KC_DMR1 DYN_REC_START1 25#define KC_DMR1 DYN_REC_START1
23#define KC_DMR2 DYN_REC_START2 26#define KC_DMR2 DYN_REC_START2
@@ -25,18 +28,16 @@ enum jc65_keycodes {
25#define KC_DMP2 DYN_MACRO_PLAY2 28#define KC_DMP2 DYN_MACRO_PLAY2
26#define KC_DMRS DYN_REC_STOP 29#define KC_DMRS DYN_REC_STOP
27 30
28static uint8_t current_layer;
29
30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
31 /* _BL: Base Layer, mostly standard 65% QWERTY layout. 32 /*#### _BL: Base Layer - Mostly standard 65% QWERTY layout.
32 * .---------------------------------------------------------------. 33 * .---------------------------------------------------------------.
33 * |GrE| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Ins| 34 * |GrE|1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backsp |Ins|
34 * |---------------------------------------------------------------| 35 * |---------------------------------------------------------------|
35 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|Del| 36 * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ |Del|
36 * |---------------------------------------------------------------| 37 * |---------------------------------------------------------------|
37 * |FnCaps| A| S| D| F| G| H| J| K| L| ;| '|Return |PgU| 38 * |FnCaps|A |S |D |F |G |H |J |K |L |; |' |Return |PgU|
38 * |---------------------------------------------------------------| 39 * |---------------------------------------------------------------|
39 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Up |PgD| 40 * |Shift |Z |X |C |V |B |N |M |, |. |/ |Shift |Up |PgD|
40 * |---------------------------------------------------------------| 41 * |---------------------------------------------------------------|
41 * |Ctrl|Gui |Alt | Space |RAlt |Ctrl |Lft|Dwn|Rgt| 42 * |Ctrl|Gui |Alt | Space |RAlt |Ctrl |Lft|Dwn|Rgt|
42 * *---------------------------------------------------------------* 43 * *---------------------------------------------------------------*
@@ -48,16 +49,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
48 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, 49 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
49 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT 50 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
50 ), 51 ),
51 52 /*#### _WL: Workman Layer.
52 /* _WL: Workman Layer.
53 * .---------------------------------------------------------------. 53 * .---------------------------------------------------------------.
54 * | | | | | | | | | | | | -| =| | | 54 * | | | | | | | | | | | |- |= | | |
55 * |---------------------------------------------------------------| 55 * |---------------------------------------------------------------|
56 * | | Q| D| R| W| B| J| F| U| P| ;| [| ]| \| | 56 * | |Q |D |R |W |B |J |F |U |P |; |[ |] |\ | |
57 * |---------------------------------------------------------------| 57 * |---------------------------------------------------------------|
58 * | | A| S| H| T| G| Y| N| E| O| I| '| | | 58 * | |A |S |H |T |G |Y |N |E |O |I |' | | |
59 * |---------------------------------------------------------------| 59 * |---------------------------------------------------------------|
60 * | | Z| X| M| C| V| K| L| ,| .| /| | | | 60 * | |Z |X |M |C |V |K |L |, |. |/ | | | |
61 * |---------------------------------------------------------------| 61 * |---------------------------------------------------------------|
62 * | | | | | | | | | | 62 * | | | | | | | | | |
63 * *---------------------------------------------------------------* 63 * *---------------------------------------------------------------*
@@ -69,16 +69,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
69 _______, _______, KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, 69 _______, _______, KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______,
70 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 70 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
71 ), 71 ),
72 72 /*#### _NL: Norman Layer.
73 /* _NL: Norman Layer.
74 * .---------------------------------------------------------------. 73 * .---------------------------------------------------------------.
75 * | | | | | | | | | | | | -| =| | | 74 * | | | | | | | | | | | |- |= | | |
76 * |---------------------------------------------------------------| 75 * |---------------------------------------------------------------|
77 * | | Q| W| D| F| K| J| U| R| L| ;| [| ]| \| | 76 * | |Q |W |D |F |K |J |U |R |L |; |[ |] |\ | |
78 * |---------------------------------------------------------------| 77 * |---------------------------------------------------------------|
79 * | | A| S| E| T| G| Y| N| I| O| H| '| | | 78 * | |A |S |E |T |G |Y |N |I |O |H |' | | |
80 * |---------------------------------------------------------------| 79 * |---------------------------------------------------------------|
81 * | | Z| X| C| V| B| P| M| ,| .| /| | | | 80 * | |Z |X |C |V |B |P |M |, |. |/ | | | |
82 * |---------------------------------------------------------------| 81 * |---------------------------------------------------------------|
83 * | | | | | | | | | | 82 * | | | | | | | | | |
84 * *---------------------------------------------------------------* 83 * *---------------------------------------------------------------*
@@ -90,16 +89,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
90 _______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_P , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, 89 _______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_P , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______,
91 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
92 ), 91 ),
93 92 /*#### _DL: Dvorak Layer.
94 /* _DL: Dvorak Layer.
95 * .---------------------------------------------------------------. 93 * .---------------------------------------------------------------.
96 * | | | | | | | | | | | | [| ]| | | 94 * | | | | | | | | | | | |[ |] | | |
97 * |---------------------------------------------------------------| 95 * |---------------------------------------------------------------|
98 * | | '| ,| .| P| Y| F| G| C| R| L| /| =| \| | 96 * | |' |, |. |P |Y |F |G |C |R |L |/ |= |\ | |
99 * |---------------------------------------------------------------| 97 * |---------------------------------------------------------------|
100 * | | A| O| E| U| I| D| H| T| N| S| -| | | 98 * | |A |O |E |U |I |D |H |T |N |S |- | | |
101 * |---------------------------------------------------------------| 99 * |---------------------------------------------------------------|
102 * | | ;| Q| J| K| X| B| M| W| V| Z| | | | 100 * | |; |Q |J |K |X |B |M |W |V |Z | | | |
103 * |---------------------------------------------------------------| 101 * |---------------------------------------------------------------|
104 * | | | | | | | | | | 102 * | | | | | | | | | |
105 * *---------------------------------------------------------------* 103 * *---------------------------------------------------------------*
@@ -111,16 +109,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
111 _______, _______, KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , _______, _______, _______, 109 _______, _______, KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , _______, _______, _______,
112 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 110 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
113 ), 111 ),
114 112 /*#### _CL: Colmak Layer.
115 /* _CL: Colmak Layer.
116 * .---------------------------------------------------------------. 113 * .---------------------------------------------------------------.
117 * | | | | | | | | | | | | -| =| | | 114 * | | | | | | | | | | | |- |= | | |
118 * |---------------------------------------------------------------| 115 * |---------------------------------------------------------------|
119 * | | Q| W| F| P| G| J| L| U| Y| ;| [| ]| \| | 116 * | |Q |W |F |P |G |J |L |U |Y |; |[ |] |\ | |
120 * |---------------------------------------------------------------| 117 * |---------------------------------------------------------------|
121 * | | A| R| S| T| D| H| N| E| I| O| '| | | 118 * | |A |R |S |T |D |H |N |E |I |O |' | | |
122 * |---------------------------------------------------------------| 119 * |---------------------------------------------------------------|
123 * | | Z| X| C| V| B| K| M| ,| .| /| | | | 120 * | |Z |X |C |V |B |K |M |, |. |/ | | | |
124 * |---------------------------------------------------------------| 121 * |---------------------------------------------------------------|
125 * | | | | | | | | | | 122 * | | | | | | | | | |
126 * *---------------------------------------------------------------* 123 * *---------------------------------------------------------------*
@@ -132,11 +129,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
132 _______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, 129 _______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______,
133 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 130 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
134 ), 131 ),
135 132 /*#### _FL: Function Layer.
136 /* _FL: Function Layer.
137 * M0 opens Chrome
138 * .---------------------------------------------------------------. 133 * .---------------------------------------------------------------.
139 * |M0 | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|SLock |PSc| 134 * |Web|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|SLock |PSc|
140 * |---------------------------------------------------------------| 135 * |---------------------------------------------------------------|
141 * |Fn_AL| | | | | | | | | | | | | |Pau| 136 * |Fn_AL| | | | | | | | | | | | | |Pau|
142 * |---------------------------------------------------------------| 137 * |---------------------------------------------------------------|
@@ -144,21 +139,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
144 * |---------------------------------------------------------------| 139 * |---------------------------------------------------------------|
145 * | | | | | | | | | | | |VlMute|VlU|End| 140 * | | | | | | | | | | | |VlMute|VlU|End|
146 * |---------------------------------------------------------------| 141 * |---------------------------------------------------------------|
147 * | | |Menu| | | |WBk|VlD|WFw| 142 * | | |Menu| SP4 | | |WBk|VlD|WFw|
148 * *---------------------------------------------------------------* 143 * *---------------------------------------------------------------*
149 */ 144 */
150 [_FL] = LAYOUT( 145 [_FL] = LAYOUT(
151 M(0), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_SLCK, KC_PSCR, 146 KC_WEB, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_SLCK, KC_PSCR,
152 MO(_AL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAUS, 147 MO(_AL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAUS,
153 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, 148 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME,
154 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLU, KC_END, 149 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLU, KC_END,
155 XXXXXXX, XXXXXXX, KC_MENU, M(1), M(1), M(1), XXXXXXX, XXXXXXX, XXXXXXX, KC_WBAK, KC_VOLD, KC_WFWD 150 XXXXXXX, XXXXXXX, KC_MENU, KC_SP4, KC_SP4, KC_SP4, XXXXXXX, XXXXXXX, XXXXXXX, KC_WBAK, KC_VOLD, KC_WFWD
156 ), 151 ),
157 152 /*#### _AL: Adjust Layer - Keymap select, RGB Underglow, LED backlight, and Dynamic Macro settings.
158 /* _AL: Adjust Layer.
159 * Default keymap, RGB Underglow, LED backlight, and Dynamic Macro settings.
160 * .---------------------------------------------------------------. 153 * .---------------------------------------------------------------.
161 * |Ver|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| |MP1| 154 * |Rev|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| |MP1|
162 * |---------------------------------------------------------------| 155 * |---------------------------------------------------------------|
163 * |Fn_AL|_BL|_WL| | | | | | | | | | | |MR1| 156 * |Fn_AL|_BL|_WL| | | | | | | | | | | |MR1|
164 * |---------------------------------------------------------------| 157 * |---------------------------------------------------------------|
@@ -170,7 +163,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
170 * *---------------------------------------------------------------* 163 * *---------------------------------------------------------------*
171 */ 164 */
172 [_AL] = LAYOUT( 165 [_AL] = LAYOUT(
173 F(0), RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, XXXXXXX, BL_TOGG, BL_DEC, BL_INC, XXXXXXX, XXXXXXX, KC_DMP1, 166 QMK_REV, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, XXXXXXX, BL_TOGG, BL_DEC, BL_INC, XXXXXXX, XXXXXXX, KC_DMP1,
174 _______, DF(_BL), DF(_WL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMR1, 167 _______, DF(_BL), DF(_WL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMR1,
175 _______, XXXXXXX, XXXXXXX, DF(_DL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMRS, 168 _______, XXXXXXX, XXXXXXX, DF(_DL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMRS,
176 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(_CL), XXXXXXX, DF(_BL), DF(_NL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMR2, 169 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(_CL), XXXXXXX, DF(_BL), DF(_NL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMR2,
@@ -178,102 +171,96 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
178 ), 171 ),
179}; 172};
180 173
181const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { 174bool process_record_user(uint16_t keycode, keyrecord_t *record) {
182 switch(id) { 175 switch (keycode) {
183 case 0: 176 case QMK_REV:
184 if (record->event.pressed) { 177 if (record->event.pressed) {
185 return MACRO(I(0), D(LGUI), T(R), U(LGUI), END); 178 SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP "@" QMK_VERSION ":" QMK_BUILDDATE);
186 } 179 }
187 else { 180 return false;
181 break;
182 case KC_WEB:
183 if (record->event.pressed) {
184 SEND_STRING(SS_LGUI("r"));
185 wait_ms(100);
188 SEND_STRING("chrome.exe https://geekhack.org/index.php?topic=86756.new;topicseen#new\n"); 186 SEND_STRING("chrome.exe https://geekhack.org/index.php?topic=86756.new;topicseen#new\n");
189 return false;
190 } 187 }
191 break; 188 return false;
192 case 1: 189 break;
190 case KC_SP4:
193 if (record->event.pressed) { 191 if (record->event.pressed) {
194 return MACRO(I(0), T(SPC), T(SPC), T(SPC), T(SPC), END); 192 SEND_STRING (" ");
195 } 193 }
196 else { 194 return false;
197 return false; 195 break;
198 }
199 break;
200 } 196 }
201 return MACRO_NONE; 197 // Dynamic Macros.
202}; 198 if (!process_record_dynamic_macro(keycode, record)) {
203 199 return false;
204const uint16_t PROGMEM fn_actions[] = {
205 [0] = ACTION_FUNCTION(0),
206};
207
208void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
209 switch (id) {
210 case 0:
211 if (record->event.pressed) {
212 SEND_STRING ("[QMK:" QMK_KEYBOARD ":" QMK_KEYMAP ":" QMK_VERSION "]");
213 }
214 break;
215 } 200 }
201 return true;
202}
203
204void custom_backlight_level(uint8_t level) {
205 if (level > BACKLIGHT_LEVELS)
206 level = BACKLIGHT_LEVELS;
207 backlight_config.level = level;
208 backlight_config.enable = !!backlight_config.level;
209 backlight_set(backlight_config.level);
216} 210}
217 211
218void matrix_init_user(void) { 212void matrix_init_user(void) {
219 #ifdef BACKLIGHT_ENABLE 213 #ifdef BACKLIGHT_ENABLE
220 backlight_level(0); 214 custom_backlight_level(0);
221 #endif 215 #endif
222 #ifdef RGBLIGHT_ENABLE 216 #ifdef RGBLIGHT_ENABLE
223 rgblight_mode(1); 217 rgblight_mode(1);
224 rgblight_sethsv(180,100,100); 218 rgblight_sethsv_noeeprom(180,100,100);
225 #endif 219 #endif
226} 220}
227 221
228// Runs constantly in the background, in a loop.
229void matrix_scan_user(void) { 222void matrix_scan_user(void) {
230 uint8_t layer = biton32(layer_state);
231 223
232 if (current_layer == layer) {
233 }
234 else {
235 current_layer = layer;
236 switch (layer) {
237 case 0:
238 backlight_level(0);
239 rgblight_sethsv(180,100,255);
240 break;
241 case 1:
242 backlight_level(1);
243 rgblight_sethsv(180,95,240);
244 break;
245 case 2:
246 backlight_level(1);
247 rgblight_sethsv(180,90,225);
248 break;
249 case 3:
250 backlight_level(1);
251 rgblight_sethsv(180,85,210);
252 break;
253 case 4:
254 backlight_level(1);
255 rgblight_sethsv(180,80,195);
256 break;
257 case 5:
258 backlight_level(2);
259 rgblight_sethsv(230,255,255);
260 break;
261 case 6:
262 backlight_level(3);
263 rgblight_sethsv(350,255,255);
264 break;
265 default:
266 backlight_level(0);
267 rgblight_sethsv(180,100,100);
268 break;
269 }
270 }
271} 224}
272 225
273bool process_record_user(uint16_t keycode, keyrecord_t *record) { 226uint32_t layer_state_set_user(uint32_t state) {
274 // Enable Dynamic Macros. 227 switch (biton32(state)) {
275 if (!process_record_dynamic_macro(keycode, record)) { 228 case _BL:
276 return false; 229 custom_backlight_level(0);
230 rgblight_sethsv_noeeprom(180,100,255);
231 break;
232 case _WL:
233 custom_backlight_level(1);
234 rgblight_sethsv_noeeprom(180,95,240);
235 break;
236 case _NL:
237 custom_backlight_level(1);
238 rgblight_sethsv_noeeprom(180,90,225);
239 break;
240 case _DL:
241 custom_backlight_level(1);
242 rgblight_sethsv_noeeprom(180,85,210);
243 break;
244 case _CL:
245 custom_backlight_level(1);
246 rgblight_sethsv_noeeprom(180,80,195);
247 break;
248 case _FL:
249 custom_backlight_level(2);
250 rgblight_sethsv_noeeprom(230,255,255);
251 break;
252 case _AL:
253 custom_backlight_level(3);
254 rgblight_sethsv_noeeprom(350,255,255);
255 break;
256 default:
257 custom_backlight_level(0);
258 rgblight_sethsv_noeeprom(180,100,100);
259 break;
277 } 260 }
278 return true; 261 return state;
262}
263
264void led_set_user(uint8_t usb_led) {
265
279} 266}
diff --git a/keyboards/jc65/v32u4/keymaps/gam3cat/readme.md b/keyboards/jc65/v32u4/keymaps/gam3cat/readme.md
index 88b65dbbb..e79ce4ff7 100644
--- a/keyboards/jc65/v32u4/keymaps/gam3cat/readme.md
+++ b/keyboards/jc65/v32u4/keymaps/gam3cat/readme.md
@@ -13,76 +13,74 @@ make jc65/v32u4:gam3cat
13(Caps+TAB+( )): (Q)WERTY, (W)orkman, (N)orman, (D)vorak, (C)olmak 13(Caps+TAB+( )): (Q)WERTY, (W)orkman, (N)orman, (D)vorak, (C)olmak
14 14
15### Base Layer Options: 15### Base Layer Options:
16#### _BL: Base Layer, mostly standard 65% QWERTY layout. 16#### _BL: Base Layer - Mostly standard 65% QWERTY layout.
17 .---------------------------------------------------------------. 17 .---------------------------------------------------------------.
18 |GrE| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Ins| 18 |GrE|1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backsp |Ins|
19 |---------------------------------------------------------------| 19 |---------------------------------------------------------------|
20 |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|Del| 20 |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ |Del|
21 |---------------------------------------------------------------| 21 |---------------------------------------------------------------|
22 |FnCaps| A| S| D| F| G| H| J| K| L| ;| '|Return |PgU| 22 |FnCaps|A |S |D |F |G |H |J |K |L |; |' |Return |PgU|
23 |---------------------------------------------------------------| 23 |---------------------------------------------------------------|
24 |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Up |PgD| 24 |Shift |Z |X |C |V |B |N |M |, |. |/ |Shift |Up |PgD|
25 |---------------------------------------------------------------| 25 |---------------------------------------------------------------|
26 |Ctrl|Gui |Alt | Space |RAlt |Ctrl |Lft|Dwn|Rgt| 26 |Ctrl|Gui |Alt | Space |RAlt |Ctrl |Lft|Dwn|Rgt|
27 *---------------------------------------------------------------* 27 *---------------------------------------------------------------*
28 28
29#### _WL: Workman Layer. 29#### _WL: Workman Layer.
30 .---------------------------------------------------------------. 30 .---------------------------------------------------------------.
31 | | | | | | | | | | | | -| =| | | 31 | | | | | | | | | | | |- |= | | |
32 |---------------------------------------------------------------| 32 |---------------------------------------------------------------|
33 | | Q| D| R| W| B| J| F| U| P| ;| [| ]| \| | 33 | |Q |D |R |W |B |J |F |U |P |; |[ |] |\ | |
34 |---------------------------------------------------------------| 34 |---------------------------------------------------------------|
35 | | A| S| H| T| G| Y| N| E| O| I| '| | | 35 | |A |S |H |T |G |Y |N |E |O |I |' | | |
36 |---------------------------------------------------------------| 36 |---------------------------------------------------------------|
37 | | Z| X| M| C| V| K| L| ,| .| /| | | | 37 | |Z |X |M |C |V |K |L |, |. |/ | | | |
38 |---------------------------------------------------------------| 38 |---------------------------------------------------------------|
39 | | | | | | | | | | 39 | | | | | | | | | |
40 *---------------------------------------------------------------* 40 *---------------------------------------------------------------*
41 41
42#### _NL: Norman Layer. 42#### _NL: Norman Layer.
43 .---------------------------------------------------------------. 43 .---------------------------------------------------------------.
44 | | | | | | | | | | | | -| =| | | 44 | | | | | | | | | | | |- |= | | |
45 |---------------------------------------------------------------| 45 |---------------------------------------------------------------|
46 | | Q| W| D| F| K| J| U| R| L| ;| [| ]| \| | 46 | |Q |W |D |F |K |J |U |R |L |; |[ |] |\ | |
47 |---------------------------------------------------------------| 47 |---------------------------------------------------------------|
48 | | A| S| E| T| G| Y| N| I| O| H| '| | | 48 | |A |S |E |T |G |Y |N |I |O |H |' | | |
49 |---------------------------------------------------------------| 49 |---------------------------------------------------------------|
50 | | Z| X| C| V| B| P| M| ,| .| /| | | | 50 | |Z |X |C |V |B |P |M |, |. |/ | | | |
51 |---------------------------------------------------------------| 51 |---------------------------------------------------------------|
52 | | | | | | | | | | 52 | | | | | | | | | |
53 *---------------------------------------------------------------* 53 *---------------------------------------------------------------*
54 54
55#### _DL: Dvorak Layer. 55#### _DL: Dvorak Layer.
56 .---------------------------------------------------------------. 56 .---------------------------------------------------------------.
57 | | | | | | | | | | | | [| ]| | | 57 | | | | | | | | | | | |[ |] | | |
58 |---------------------------------------------------------------| 58 |---------------------------------------------------------------|
59 | | '| ,| .| P| Y| F| G| C| R| L| /| =| \| | 59 | |' |, |. |P |Y |F |G |C |R |L |/ |= |\ | |
60 |---------------------------------------------------------------| 60 |---------------------------------------------------------------|
61 | | A| O| E| U| I| D| H| T| N| S| -| | | 61 | |A |O |E |U |I |D |H |T |N |S |- | | |
62 |---------------------------------------------------------------| 62 |---------------------------------------------------------------|
63 | | ;| Q| J| K| X| B| M| W| V| Z| | | | 63 | |; |Q |J |K |X |B |M |W |V |Z | | | |
64 |---------------------------------------------------------------| 64 |---------------------------------------------------------------|
65 | | | | | | | | | | 65 | | | | | | | | | |
66 *---------------------------------------------------------------* 66 *---------------------------------------------------------------*
67 67
68#### _CL: Colmak Layer. 68#### _CL: Colmak Layer.
69 .---------------------------------------------------------------. 69 .---------------------------------------------------------------.
70 | | | | | | | | | | | | -| =| | | 70 | | | | | | | | | | | |- |= | | |
71 |---------------------------------------------------------------| 71 |---------------------------------------------------------------|
72 | | Q| W| F| P| G| J| L| U| Y| ;| [| ]| \| | 72 | |Q |W |F |P |G |J |L |U |Y |; |[ |] |\ | |
73 |---------------------------------------------------------------| 73 |---------------------------------------------------------------|
74 | | A| R| S| T| D| H| N| E| I| O| '| | | 74 | |A |R |S |T |D |H |N |E |I |O |' | | |
75 |---------------------------------------------------------------| 75 |---------------------------------------------------------------|
76 | | Z| X| C| V| B| K| M| ,| .| /| | | | 76 | |Z |X |C |V |B |K |M |, |. |/ | | | |
77 |---------------------------------------------------------------| 77 |---------------------------------------------------------------|
78 | | | | | | | | | | 78 | | | | | | | | | |
79 *---------------------------------------------------------------* 79 *---------------------------------------------------------------*
80 80
81### Function Layer: (hold Caps to access)
82 M0 opens Chrome
83#### _FL: Function Layer. 81#### _FL: Function Layer.
84 .---------------------------------------------------------------. 82 .---------------------------------------------------------------.
85 |M0 | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|SLock |PSc| 83 |Web|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|SLock |PSc|
86 |---------------------------------------------------------------| 84 |---------------------------------------------------------------|
87 |Fn_AL| | | | | | | | | | | | | |Pau| 85 |Fn_AL| | | | | | | | | | | | | |Pau|
88 |---------------------------------------------------------------| 86 |---------------------------------------------------------------|
@@ -90,14 +88,12 @@ make jc65/v32u4:gam3cat
90 |---------------------------------------------------------------| 88 |---------------------------------------------------------------|
91 | | | | | | | | | | | |VlMute|VlU|End| 89 | | | | | | | | | | | |VlMute|VlU|End|
92 |---------------------------------------------------------------| 90 |---------------------------------------------------------------|
93 | | |Menu| | | |WBk|VlD|WFw| 91 | | |Menu| SP4 | | |WBk|VlD|WFw|
94 *---------------------------------------------------------------* 92 *---------------------------------------------------------------*
95 93
96### Adjust Layer: (hold Caps+TAB to access) 94#### _AL: Adjust Layer - Keymap select, RGB Underglow, LED backlight, and Dynamic Macro settings.
97 Default keymap, RGB Underglow, LED backlight, and Dynamic Macro settings.
98#### _AL: Adjust Layer.
99 .---------------------------------------------------------------. 95 .---------------------------------------------------------------.
100 |Ver|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| |MP1| 96 |Rev|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| |MP1|
101 |---------------------------------------------------------------| 97 |---------------------------------------------------------------|
102 |Fn_AL|_BL|_WL| | | | | | | | | | | |MR1| 98 |Fn_AL|_BL|_WL| | | | | | | | | | | |MR1|
103 |---------------------------------------------------------------| 99 |---------------------------------------------------------------|
diff --git a/keyboards/jc65/v32u4/keymaps/gam3cat/rules.mk b/keyboards/jc65/v32u4/keymaps/gam3cat/rules.mk
index c0a3ac69c..85b2b41a6 100644
--- a/keyboards/jc65/v32u4/keymaps/gam3cat/rules.mk
+++ b/keyboards/jc65/v32u4/keymaps/gam3cat/rules.mk
@@ -1,6 +1,24 @@
1ifndef QUANTUM_DIR 1# Build Options
2 include ../../../../Makefile 2# change to "no" to disable the options, or define them in the Makefile in
3endif 3# the appropriate keymap folder that will get included automatically
4 4#
5BACKLIGHT_ENABLE=yes 5TAP_DANCE_ENABLE = no # Enable TapDance functionality
6//TAP_DANCE_ENABLE=yes 6RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
7BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
8MOUSEKEY_ENABLE = no # Mouse keys(+1500)
9EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
10CONSOLE_ENABLE = no # Console for debug(+400)
11COMMAND_ENABLE = no # Commands for debug and configuration
12SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
13NKRO_ENABLE = yes # Nkey Rollover - If this doesn't work, add this to config.h: #define FORCE_NKRO
14BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
15MIDI_ENABLE = no # MIDI controls
16UNICODE_ENABLE = no # Unicode
17UNICODEMAP_ENABLE = no # Enable extended unicode
18BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
19AUDIO_ENABLE = no # Audio output on port C6
20FAUXCLICKY_ENABLE = no # Uses buzzer to emulate clicky switches. By default, uses the C6 pin, same as AUDIO_ENABLE.
21#VARIABLE_TRACE = no # Use this to debug changes to variable values
22API_SYSEX_ENABLE = no # This enables using the Quantum SYSEX API to send strings(+5390)
23KEY_LOCK_ENABLE = no # This enables key lock(+260)
24SPLIT_KEYBOARD = no # This enables split keyboard support and includes all necessary files located at quantum/split_common
diff --git a/keyboards/m10a/keymaps/gam3cat/keymap.c b/keyboards/m10a/keymaps/gam3cat/keymap.c
index 8f4c878da..8ee35d50a 100644
--- a/keyboards/m10a/keymaps/gam3cat/keymap.c
+++ b/keyboards/m10a/keymaps/gam3cat/keymap.c
@@ -1,6 +1,4 @@
1#include "m10a.h" 1#include QMK_KEYBOARD_H
2#include "action_layer.h"
3#include "eeconfig.h"
4#include "version.h" 2#include "version.h"
5 3
6extern keymap_config_t keymap_config; 4extern keymap_config_t keymap_config;
@@ -18,46 +16,48 @@ enum layers {
18 _L9 16 _L9
19}; 17};
20 18
21enum m10a_keycodes { 19enum custom_keycodes {
22 DYNAMIC_MACRO_RANGE = SAFE_RANGE, 20 DYNAMIC_MACRO_RANGE = SAFE_RANGE,
21 QMK_REV,
22 KC_WEB,
23 KC_WCLS
23}; 24};
24 25
26extern backlight_config_t backlight_config;
27
25#include "dynamic_macro.h" 28#include "dynamic_macro.h"
26#define _______ KC_TRNS 29#define FN_ZERO LT(_L9, KC_KP_0)
27#define XXXXXXX KC_NO
28#define FN_ZERO LT(_L9, KC_0)
29#define KC_DMR1 DYN_REC_START1 30#define KC_DMR1 DYN_REC_START1
30#define KC_DMR2 DYN_REC_START2 31#define KC_DMR2 DYN_REC_START2
31#define KC_DMP1 DYN_MACRO_PLAY1 32#define KC_DMP1 DYN_MACRO_PLAY1
32#define KC_DMP2 DYN_MACRO_PLAY2 33#define KC_DMP2 DYN_MACRO_PLAY2
33#define KC_DMRS DYN_REC_STOP 34#define KC_DMRS DYN_REC_STOP
34 35
35static uint8_t current_layer;
36
37const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 36const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
38 /* .-----------. .-----------. .-----------. .-----------. .-----------. 37 /*## Layout Config:
39 * | 7| 8| 9| | +| -| *| | ^| &| !| |VLU|Ver|WFD| |VLU|NXT|FFD| 38 * .-----------. .-----------. .-----------. .-----------. .-----------.
40 * |-----------| |-----------| |-----------| |-----------| |-----------| 39 * |7 |8 |9 | |+ |- |* | |^ |& |! | |VLU|Ver|WFD| |VLU|NXT|FFD|
41 * | 4| 5| 6| | /| %| ,| | D| E| F| |MUT|C-W|CHR| |MUT|STP|PLY| 40 * |-----------| |-----------| |-----------| |-----------| |-----------|
42 * |-----------| |-----------| |-----------| |-----------| |-----------| 41 * |4 |5 |6 | |/ |% |, | |D |E |F | |MUT|C-W|CHR| |MUT|STP|PLY|
43 * | 1| 2| 3| | .| =|Ent| | A| B| C| |VLD|CMP|WBK| |VLD|PRV|RWD| 42 * |-----------| |-----------| |-----------| |-----------| |-----------|
44 * |-----------| |-----------| |-----------| |-----------| |-----------| 43 * |1 |2 |3 | |. |= |Ent| |A |B |C | |VLD|CMP|WBK| |VLD|PRV|RWD|
45 * |L0 | _L9/0| |L1 | _L9 | |L2 | _L9 | |L3 | _L9 | |L4 | _L9 | 44 * |-----------| |-----------| |-----------| |-----------| |-----------|
46 * *-----------* *-----------* *-----------* *-----------* *-----------* 45 * |#L0|_L9/0 | |#L1|_L9 | |#L2|_L9 | |#L3|_L9 | |#L4|_L9 |
47 * .-----------. .-----------. .-----------. .-----------. .-----------. 46 * *-----------* *-----------* *-----------* *-----------* *-----------*
48 * | | | | | | | | |MP1| |MP2| | | |RST| |_L6|_L7|_L8| 47 * .-----------. .-----------. .-----------. .-----------. .-----------.
49 * |-----------| |-----------| |-----------| |-----------| |-----------| 48 * | | | | | | | | |MP1| |MP2| | | |RST| |_L6|_L7|_L8|
50 * | | | | | | | | | |MRS| | | | | | |_L3|_L4|_L5| 49 * |-----------| |-----------| |-----------| |-----------| |-----------|
51 * |-----------| |-----------| |-----------| |-----------| |-----------| 50 * | | | | | | | | | |MRS| | | | | | |_L3|_L4|_L5|
52 * | | | | | | | | |MR1| |MR2| | | | | |_L0|_L1|_L2| 51 * |-----------| |-----------| |-----------| |-----------| |-----------|
53 * |-----------| |-----------| |-----------| |-----------| |-----------| 52 * | | | | | | | | |MR1| |MR2| | | | | |_L0|_L1|_L2|
54 * |L5 | _L9 | |L6 | _L9 | |L7 | _L9 | |L8 | _L9 | |L9 | | 53 * |-----------| |-----------| |-----------| |-----------| |-----------|
55 * *-----------* *-----------* *-----------* *-----------* *-----------* 54 * |#L5|_L9 | |#L6|_L9 | |#L7|_L9 | |#L8|_L9 | |#L9| |
55 * *-----------* *-----------* *-----------* *-----------* *-----------*
56 */ 56 */
57 [_L0] = {{KC_7, KC_8, KC_9 }, {KC_4, KC_5, KC_6 }, {KC_1, KC_2, KC_3 }, {XXXXXXX, XXXXXXX, FN_ZERO}}, 57 [_L0] = {{KC_KP_7, KC_KP_8, KC_KP_9}, {KC_KP_4, KC_KP_5, KC_KP_6}, {KC_KP_1, KC_KP_2, KC_KP_3}, {XXXXXXX, XXXXXXX, FN_ZERO}},
58 [_L1] = {{KC_PPLS, KC_PMNS, KC_PAST}, {KC_PSLS, KC_PERC, KC_COMM}, {KC_PDOT, KC_EQL, KC_PENT}, {XXXXXXX, XXXXXXX, MO(_L9)}}, 58 [_L1] = {{KC_PPLS, KC_PMNS, KC_PAST}, {KC_PSLS, KC_PERC, KC_COMM}, {KC_PDOT, KC_EQL, KC_PENT}, {XXXXXXX, XXXXXXX, MO(_L9)}},
59 [_L2] = {{KC_CIRC, KC_AMPR, KC_EXLM}, {S(KC_D), S(KC_E), S(KC_F)}, {S(KC_A), S(KC_B), S(KC_C)}, {XXXXXXX, XXXXXXX, MO(_L9)}}, 59 [_L2] = {{KC_CIRC, KC_AMPR, KC_EXLM}, {S(KC_D), S(KC_E), S(KC_F)}, {S(KC_A), S(KC_B), S(KC_C)}, {XXXXXXX, XXXXXXX, MO(_L9)}},
60 [_L3] = {{KC_VOLU, F(0), KC_WFWD}, {KC_MUTE, M(1), M(0) }, {KC_VOLD, KC_MYCM, KC_WBAK}, {XXXXXXX, XXXXXXX, MO(_L9)}}, 60 [_L3] = {{KC_VOLU, QMK_REV, KC_WFWD}, {KC_MUTE, KC_WCLS, KC_WEB }, {KC_VOLD, KC_MYCM, KC_WBAK}, {XXXXXXX, XXXXXXX, MO(_L9)}},
61 [_L4] = {{KC_VOLU, KC_MNXT, KC_MFFD}, {KC_MUTE, KC_MSTP, KC_MPLY}, {KC_VOLD, KC_MPRV, KC_MRWD}, {XXXXXXX, XXXXXXX, MO(_L9)}}, 61 [_L4] = {{KC_VOLU, KC_MNXT, KC_MFFD}, {KC_MUTE, KC_MSTP, KC_MPLY}, {KC_VOLD, KC_MPRV, KC_MRWD}, {XXXXXXX, XXXXXXX, MO(_L9)}},
62 [_L5] = {{_______, _______, _______}, {_______, _______, _______}, {_______, _______, _______}, {XXXXXXX, XXXXXXX, MO(_L9)}}, 62 [_L5] = {{_______, _______, _______}, {_______, _______, _______}, {_______, _______, _______}, {XXXXXXX, XXXXXXX, MO(_L9)}},
63 [_L6] = {{_______, _______, _______}, {_______, _______, _______}, {_______, _______, _______}, {XXXXXXX, XXXXXXX, MO(_L9)}}, 63 [_L6] = {{_______, _______, _______}, {_______, _______, _______}, {_______, _______, _______}, {XXXXXXX, XXXXXXX, MO(_L9)}},
@@ -66,96 +66,93 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
66 [_L9] = {{DF(_L6), DF(_L7), DF(_L8)}, {DF(_L3), DF(_L4), DF(_L5)}, {DF(_L0), DF(_L1), DF(_L2)}, {XXXXXXX, XXXXXXX, _______}}, 66 [_L9] = {{DF(_L6), DF(_L7), DF(_L8)}, {DF(_L3), DF(_L4), DF(_L5)}, {DF(_L0), DF(_L1), DF(_L2)}, {XXXXXXX, XXXXXXX, _______}},
67}; 67};
68 68
69const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { 69bool process_record_user(uint16_t keycode, keyrecord_t *record) {
70 switch(id) { 70 switch (keycode) {
71 case 0: 71 case QMK_REV:
72 if (record->event.pressed) { 72 if (record->event.pressed) {
73 return MACRO(I(10), D(LGUI), T(R), U(LGUI), END); 73 SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP "@" QMK_VERSION ":" QMK_BUILDDATE);
74 } 74 }
75 else { 75 return false;
76 break;
77 case KC_WEB:
78 if (record->event.pressed) {
79 SEND_STRING(SS_LGUI("r"));
80 wait_ms(100);
76 SEND_STRING("chrome.exe\n"); 81 SEND_STRING("chrome.exe\n");
77 return false;
78 } 82 }
79 break; 83 return false;
80 case 1: 84 break;
85 case KC_WCLS:
81 if (record->event.pressed) { 86 if (record->event.pressed) {
82 return MACRO(I(10), D(LCTL), T(W), U(LCTL), END); 87 SEND_STRING (SS_LCTRL("w"));
83 } 88 }
84 break; 89 return false;
90 break;
85 } 91 }
86 return MACRO_NONE; 92 // Dynamic Macros.
87}; 93 if (!process_record_dynamic_macro(keycode, record)) {
88 94 return false;
89const uint16_t PROGMEM fn_actions[] = {
90 [0] = ACTION_FUNCTION(0),
91};
92
93void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
94 switch (id) {
95 case 0:
96 if (record->event.pressed) {
97 SEND_STRING ("[Keyboard: " QMK_KEYBOARD "] -- [QMK Version: " QMK_VERSION "] -- [Keymap: " QMK_KEYMAP "]");
98 }
99 break;
100 } 95 }
96 return true;
97}
98
99void custom_backlight_level(uint8_t level) {
100 if (level > BACKLIGHT_LEVELS)
101 level = BACKLIGHT_LEVELS;
102 backlight_config.level = level;
103 backlight_config.enable = !!backlight_config.level;
104 backlight_set(backlight_config.level);
101} 105}
102 106
103void matrix_init_user(void) { 107void matrix_init_user(void) {
104 #ifdef BACKLIGHT_ENABLE 108 #ifdef BACKLIGHT_ENABLE
105 backlight_level(0); 109 custom_backlight_level(0);
106 #endif 110 #endif
107} 111}
108 112
109// Runs constantly in the background, in a loop.
110void matrix_scan_user(void) { 113void matrix_scan_user(void) {
111 uint8_t layer = biton32(layer_state);
112 114
113 if (current_layer == layer) {
114 }
115 else {
116 current_layer = layer;
117 switch (layer) {
118 case 0:
119 backlight_level(0);
120 break;
121 case 1:
122 backlight_level(1);
123 break;
124 case 2:
125 backlight_level(2);
126 break;
127 case 3:
128 backlight_level(3);
129 break;
130 case 4:
131 backlight_level(4);
132 break;
133 case 5:
134 backlight_level(5);
135 break;
136 case 6:
137 backlight_level(6);
138 break;
139 case 7:
140 backlight_level(6);
141 break;
142 case 8:
143 backlight_level(6);
144 break;
145 case 9:
146 backlight_level(0);
147 break;
148 default:
149 backlight_level(0);
150 break;
151 }
152 }
153} 115}
154 116
155bool process_record_user(uint16_t keycode, keyrecord_t *record) { 117uint32_t layer_state_set_user(uint32_t state) {
156 // Enable Dynamic Macros. 118 switch (biton32(state)) {
157 if (!process_record_dynamic_macro(keycode, record)) { 119 case _L0:
158 return false; 120 custom_backlight_level(0);
121 break;
122 case _L1:
123 custom_backlight_level(1);
124 break;
125 case _L2:
126 custom_backlight_level(2);
127 break;
128 case _L3:
129 custom_backlight_level(3);
130 break;
131 case _L4:
132 custom_backlight_level(4);
133 break;
134 case _L5:
135 custom_backlight_level(5);
136 break;
137 case _L6:
138 custom_backlight_level(6);
139 break;
140 case _L7:
141 custom_backlight_level(6);
142 break;
143 case _L8:
144 custom_backlight_level(6);
145 break;
146 case _L9:
147 custom_backlight_level(0);
148 break;
149 default:
150 custom_backlight_level(0);
151 break;
159 } 152 }
160 return true; 153 return state;
154}
155
156void led_set_user(uint8_t usb_led) {
157
161} 158}
diff --git a/keyboards/m10a/keymaps/gam3cat/readme.md b/keyboards/m10a/keymaps/gam3cat/readme.md
index 879a6c5a3..5c68e8c89 100644
--- a/keyboards/m10a/keymaps/gam3cat/readme.md
+++ b/keyboards/m10a/keymaps/gam3cat/readme.md
@@ -2,13 +2,13 @@
2make m10a:gam3cat 2make m10a:gam3cat
3## Layout Config: 3## Layout Config:
4 .-----------. .-----------. .-----------. .-----------. .-----------. 4 .-----------. .-----------. .-----------. .-----------. .-----------.
5 | 7| 8| 9| | +| -| *| | ^| &| !| |VLU|Ver|WFD| |VLU|NXT|FFD| 5 |7 |8 |9 | |+ |- |* | |^ |& |! | |VLU|Ver|WFD| |VLU|NXT|FFD|
6 |-----------| |-----------| |-----------| |-----------| |-----------| 6 |-----------| |-----------| |-----------| |-----------| |-----------|
7 | 4| 5| 6| | /| %| ,| | D| E| F| |MUT|C-W|CHR| |MUT|STP|PLY| 7 |4 |5 |6 | |/ |% |, | |D |E |F | |MUT|C-W|CHR| |MUT|STP|PLY|
8 |-----------| |-----------| |-----------| |-----------| |-----------| 8 |-----------| |-----------| |-----------| |-----------| |-----------|
9 | 1| 2| 3| | .| =|Ent| | A| B| C| |VLD|CMP|WBK| |VLD|PRV|RWD| 9 |1 |2 |3 | |. |= |Ent| |A |B |C | |VLD|CMP|WBK| |VLD|PRV|RWD|
10 |-----------| |-----------| |-----------| |-----------| |-----------| 10 |-----------| |-----------| |-----------| |-----------| |-----------|
11 |L0 | _L9/0| |L1 | _L9 | |L2 | _L9 | |L3 | _L9 | |L4 | _L9 | 11 |#L0|_L9/0 | |#L1|_L9 | |#L2|_L9 | |#L3|_L9 | |#L4|_L9 |
12 *-----------* *-----------* *-----------* *-----------* *-----------* 12 *-----------* *-----------* *-----------* *-----------* *-----------*
13 .-----------. .-----------. .-----------. .-----------. .-----------. 13 .-----------. .-----------. .-----------. .-----------. .-----------.
14 | | | | | | | | |MP1| |MP2| | | |RST| |_L6|_L7|_L8| 14 | | | | | | | | |MP1| |MP2| | | |RST| |_L6|_L7|_L8|
@@ -17,5 +17,5 @@ make m10a:gam3cat
17 |-----------| |-----------| |-----------| |-----------| |-----------| 17 |-----------| |-----------| |-----------| |-----------| |-----------|
18 | | | | | | | | |MR1| |MR2| | | | | |_L0|_L1|_L2| 18 | | | | | | | | |MR1| |MR2| | | | | |_L0|_L1|_L2|
19 |-----------| |-----------| |-----------| |-----------| |-----------| 19 |-----------| |-----------| |-----------| |-----------| |-----------|
20 |L5 | _L9 | |L6 | _L9 | |L7 | _L9 | |L8 | _L9 | |L9 | | 20 |#L5|_L9 | |#L6|_L9 | |#L7|_L9 | |#L8|_L9 | |#L9| |
21 *-----------* *-----------* *-----------* *-----------* *-----------* 21 *-----------* *-----------* *-----------* *-----------* *-----------*
diff --git a/keyboards/m10a/keymaps/gam3cat/rules.mk b/keyboards/m10a/keymaps/gam3cat/rules.mk
index 457a3d01d..00515a31e 100644
--- a/keyboards/m10a/keymaps/gam3cat/rules.mk
+++ b/keyboards/m10a/keymaps/gam3cat/rules.mk
@@ -1,3 +1,24 @@
1ifndef QUANTUM_DIR 1# Build Options
2 include ../../../../Makefile 2# change to "no" to disable the options, or define them in the Makefile in
3endif 3# the appropriate keymap folder that will get included automatically
4#
5TAP_DANCE_ENABLE = no # Enable TapDance functionality
6RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
7BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
8MOUSEKEY_ENABLE = yes # Mouse keys(+1500)
9EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
10CONSOLE_ENABLE = no # Console for debug(+400)
11COMMAND_ENABLE = no # Commands for debug and configuration
12SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
13NKRO_ENABLE = yes # Nkey Rollover - If this doesn't work, add this to config.h: #define FORCE_NKRO
14BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
15MIDI_ENABLE = no # MIDI controls
16UNICODE_ENABLE = no # Unicode
17UNICODEMAP_ENABLE = no # Enable extended unicode
18BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
19AUDIO_ENABLE = no # Audio output on port C6
20FAUXCLICKY_ENABLE = no # Uses buzzer to emulate clicky switches. By default, uses the C6 pin, same as AUDIO_ENABLE.
21#VARIABLE_TRACE = no # Use this to debug changes to variable values
22API_SYSEX_ENABLE = no # This enables using the Quantum SYSEX API to send strings(+5390)
23KEY_LOCK_ENABLE = no # This enables key lock(+260)
24SPLIT_KEYBOARD = no # This enables split keyboard support and includes all necessary files located at quantum/split_common