aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornoroadsleft <18669334+noroadsleft@users.noreply.github.com>2018-12-22 08:23:04 -0800
committerDrashna Jaelre <drashna@live.com>2018-12-22 08:23:04 -0800
commit7bbd299fbac2cc1318ce5ec8cef18ffcf7fe8837 (patch)
tree6690f4d1f96a4d9f85226eca79ab6b33808cbcbe
parentea1fe35ae7c5fa026309a1d51cd90450e48c6b39 (diff)
downloadqmk_firmware-7bbd299fbac2cc1318ce5ec8cef18ffcf7fe8837.tar.gz
qmk_firmware-7bbd299fbac2cc1318ce5ec8cef18ffcf7fe8837.zip
JD40 refactor and readme update (#4710)
* JD40: default keymap refactor - Removed redundant action_layer.h include - Refactored to use LAYOUT macro (from LAYOUT_kc) - Refactored to use QMK-native keycodes - Removed superseded TMK code blocks * JD40: readme cleanup Fixed and updated the links in the readme file
-rw-r--r--keyboards/jd40/keymaps/default/keymap.c226
-rw-r--r--keyboards/jd40/readme.md4
2 files changed, 44 insertions, 186 deletions
diff --git a/keyboards/jd40/keymaps/default/keymap.c b/keyboards/jd40/keymaps/default/keymap.c
index b4ec05505..ff31fd6f5 100644
--- a/keyboards/jd40/keymaps/default/keymap.c
+++ b/keyboards/jd40/keymaps/default/keymap.c
@@ -1,5 +1,4 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2#include "action_layer.h"
3 2
4#define _BL 0 3#define _BL 0
5#define _AL 1 4#define _AL 1
@@ -7,189 +6,48 @@
7#define _UL 3 6#define _UL 3
8 7
9const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 8const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
10 [_BL] = LAYOUT_kc( 9 [_BL] = LAYOUT(
11 F12, Q, W, E, R, T, Y, U, I, O, P, BSPC, 10 KC_F12, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
12 TAB, A, S, D, F, G, H, J, K, L, ENT, 11 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
13 LSFT, Z, X, C, V, B, N, M, COMM, UP, DOT, 12 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_UP, KC_DOT,
14 LCTL, LGUI, LALT, FN0, SPC, SPC, FN0, LEFT, DOWN, RIGHT), 13 KC_LCTL, KC_LGUI, KC_LALT, MO(_AL), KC_SPC, KC_SPC, MO(_AL), KC_LEFT, KC_DOWN, KC_RGHT
15 14 ),
16 [_AL] = LAYOUT_kc( 15
17 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, DEL, 16 [_AL] = LAYOUT(
18 CAPS, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 17 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
19 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, SCLN, PGUP, QUOT, 18 KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
20 TRNS, TRNS, TRNS, TRNS, FN3, FN3, TRNS, HOME, PGDN, END), 19 _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, KC_PGUP, KC_QUOT,
21 20 _______, _______, _______, _______, TG(_UL), TG(_UL), _______, KC_HOME, KC_PGDN, KC_END
22 [_FL] = LAYOUT_kc( 21 ),
23 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 22
24 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 23 [_FL] = LAYOUT(
25 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 24 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
26 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), 25 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
27 26 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
28 [_UL] = LAYOUT_kc( 27 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
29 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 28 ),
30 TRNS, FN4, FN5, FN11, FN10, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 29
31 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 30 [_UL] = LAYOUT(
32 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), 31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
33}; 32 _______, RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______,
34 33 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
35enum function_id 34 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
36{ 35 ),
37 RGBLED_TOGGLE,
38 RGBLED_STEP_MODE,
39 RGBLED_INCREASE_HUE,
40 RGBLED_DECREASE_HUE,
41 RGBLED_INCREASE_SAT,
42 RGBLED_DECREASE_SAT,
43 RGBLED_INCREASE_VAL,
44 RGBLED_DECREASE_VAL,
45 SHIFT_ESC,
46};
47
48const uint16_t PROGMEM fn_actions[] = {
49 [0] = ACTION_LAYER_MOMENTARY(1), // Momentary Fn overlay
50 [1] = ACTION_LAYER_TOGGLE(2), // Toggle Arrow Layer overlay
51 [2] = ACTION_LAYER_TAP_KEY(2, KC_CAPS), // Tap to toggle caps lock and hold to activate function layer
52 [3] = ACTION_LAYER_TOGGLE(3), // Toggle Underglow Layer overlay
53 [4] = ACTION_FUNCTION(RGBLED_TOGGLE), //Turn on/off underglow
54 [5] = ACTION_FUNCTION(RGBLED_STEP_MODE), // Change underglow mode
55 [6] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
56 [7] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
57 [8] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
58 [9] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
59 [10] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
60 [11] = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
61 [12] = ACTION_FUNCTION(SHIFT_ESC),
62}; 36};
63 37
64const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) 38void matrix_scan_user(void) {
65{ 39 // Layer LED indicators
66 // MACRODOWN only works in this function 40 // ESC led on when in function layer, WASD cluster leds enabled when on arrow cluster
67 switch (id) 41 uint32_t layer = layer_state;
68 { 42 if (layer & (1 << 1)) {
69 case 0: 43 //gh60_wasd_leds_on();
70 if (record->event.pressed) 44 } else {
71 { 45 //gh60_wasd_leds_off();
72 register_code(KC_RSFT); 46 }
73 } 47
74 else 48 if (layer & (1 << 2)) {
75 { 49 //gh60_esc_led_on();
76 unregister_code(KC_RSFT); 50 } else {
77 } 51 //gh60_esc_led_off();
78 break; 52 }
79 }
80 return MACRO_NONE;
81};
82
83void matrix_scan_user(void)
84{
85
86 // Layer LED indicators
87 // ESC led on when in function layer, WASD cluster leds enabled when on arrow cluster
88 uint32_t layer = layer_state;
89 if (layer & (1 << 1))
90 {
91 //gh60_wasd_leds_on();
92 }
93 else
94 {
95 //gh60_wasd_leds_off();
96 }
97
98 if (layer & (1 << 2))
99 {
100 //gh60_esc_led_on();
101 }
102 else
103 {
104 //gh60_esc_led_off();
105 }
106};
107
108#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT))
109
110void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
111{
112 switch (id)
113 {
114 case RGBLED_TOGGLE:
115 //led operations
116 if (record->event.pressed)
117 {
118 rgblight_toggle();
119 }
120 break;
121 case RGBLED_INCREASE_HUE:
122 if (record->event.pressed)
123 {
124 rgblight_increase_hue();
125 }
126 break;
127 case RGBLED_DECREASE_HUE:
128 if (record->event.pressed)
129 {
130 rgblight_decrease_hue();
131 }
132 break;
133 case RGBLED_INCREASE_SAT:
134 if (record->event.pressed)
135 {
136 rgblight_increase_sat();
137 }
138 break;
139 case RGBLED_DECREASE_SAT:
140 if (record->event.pressed)
141 {
142 rgblight_decrease_sat();
143 }
144 break;
145 case RGBLED_INCREASE_VAL:
146 if (record->event.pressed)
147 {
148 rgblight_increase_val();
149 }
150 break;
151 case RGBLED_DECREASE_VAL:
152 if (record->event.pressed)
153 {
154 rgblight_decrease_val();
155 }
156 break;
157 case RGBLED_STEP_MODE:
158 if (record->event.pressed)
159 {
160 rgblight_step();
161 }
162 break;
163 static uint8_t shift_esc_shift_mask;
164 // Shift + ESC = ~
165 case SHIFT_ESC:
166 shift_esc_shift_mask = get_mods() & MODS_CTRL_MASK;
167 if (record->event.pressed)
168 {
169 if (shift_esc_shift_mask)
170 {
171 add_key(KC_GRV);
172 send_keyboard_report();
173 }
174 else
175 {
176 add_key(KC_ESC);
177 send_keyboard_report();
178 }
179 }
180 else
181 {
182 if (shift_esc_shift_mask)
183 {
184 del_key(KC_GRV);
185 send_keyboard_report();
186 }
187 else
188 {
189 del_key(KC_ESC);
190 send_keyboard_report();
191 }
192 }
193 break;
194 }
195}; 53};
diff --git a/keyboards/jd40/readme.md b/keyboards/jd40/readme.md
index f70bd9107..3a92b8fb8 100644
--- a/keyboards/jd40/readme.md
+++ b/keyboards/jd40/readme.md
@@ -5,10 +5,10 @@ A compact 40% keyboard.
5 5
6Keyboard Maintainer: QMK Community 6Keyboard Maintainer: QMK Community
7Hardware Supported: JD40 PCB 7Hardware Supported: JD40 PCB
8Hardware Availability: [1up](https://1upkeyboards.com/jd40-mkii-1up-keyboards-logo-pcb.html) [mechanicalkeyboards.com](https://mechanicalkeyboards.com/shop/index.php?l=product_detail&p=2452) [originative](https://www.originativeco.com/products/jd40-pcb) 8Hardware Availability: [1upkeyboards](https://www.1upkeyboards.com/shop/controllers/jd40-mkii-1up-keyboards-logo-pcb/), [mechanicalkeyboards.com](https://mechanicalkeyboards.com/shop/index.php?l=product_detail&p=2452), [originative](https://www.originativeco.com/products/jd40-pcb)
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make jd40:default 12 make jd40:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).