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
pull/4713/head
noroadsleft 6 years ago committed by Drashna Jaelre
parent ea1fe35ae7
commit 7bbd299fba

@ -1,5 +1,4 @@
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
#include "action_layer.h"
#define _BL 0 #define _BL 0
#define _AL 1 #define _AL 1
@ -7,189 +6,48 @@
#define _UL 3 #define _UL 3
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BL] = LAYOUT_kc( [_BL] = LAYOUT(
F12, Q, W, E, R, T, Y, U, I, O, P, BSPC, KC_F12, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
TAB, A, S, D, F, G, H, J, K, L, ENT, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
LSFT, Z, X, C, V, B, N, M, COMM, UP, DOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_UP, KC_DOT,
LCTL, LGUI, LALT, FN0, SPC, SPC, FN0, LEFT, DOWN, RIGHT), KC_LCTL, KC_LGUI, KC_LALT, MO(_AL), KC_SPC, KC_SPC, MO(_AL), KC_LEFT, KC_DOWN, KC_RGHT
),
[_AL] = LAYOUT_kc(
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, DEL, [_AL] = LAYOUT(
CAPS, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, SCLN, PGUP, QUOT, KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
TRNS, TRNS, TRNS, TRNS, FN3, FN3, TRNS, HOME, PGDN, END), _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, KC_PGUP, KC_QUOT,
_______, _______, _______, _______, TG(_UL), TG(_UL), _______, KC_HOME, KC_PGDN, KC_END
[_FL] = LAYOUT_kc( ),
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, [_FL] = LAYOUT(
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
[_UL] = LAYOUT_kc( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, ),
TRNS, FN4, FN5, FN11, FN10, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, [_UL] = LAYOUT(
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
}; _______, RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
enum function_id _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
{ ),
RGBLED_TOGGLE,
RGBLED_STEP_MODE,
RGBLED_INCREASE_HUE,
RGBLED_DECREASE_HUE,
RGBLED_INCREASE_SAT,
RGBLED_DECREASE_SAT,
RGBLED_INCREASE_VAL,
RGBLED_DECREASE_VAL,
SHIFT_ESC,
};
const uint16_t PROGMEM fn_actions[] = {
[0] = ACTION_LAYER_MOMENTARY(1), // Momentary Fn overlay
[1] = ACTION_LAYER_TOGGLE(2), // Toggle Arrow Layer overlay
[2] = ACTION_LAYER_TAP_KEY(2, KC_CAPS), // Tap to toggle caps lock and hold to activate function layer
[3] = ACTION_LAYER_TOGGLE(3), // Toggle Underglow Layer overlay
[4] = ACTION_FUNCTION(RGBLED_TOGGLE), //Turn on/off underglow
[5] = ACTION_FUNCTION(RGBLED_STEP_MODE), // Change underglow mode
[6] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
[7] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
[8] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
[9] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
[10] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
[11] = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
[12] = ACTION_FUNCTION(SHIFT_ESC),
}; };
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) void matrix_scan_user(void) {
{ // Layer LED indicators
// MACRODOWN only works in this function // ESC led on when in function layer, WASD cluster leds enabled when on arrow cluster
switch (id) uint32_t layer = layer_state;
{ if (layer & (1 << 1)) {
case 0: //gh60_wasd_leds_on();
if (record->event.pressed) } else {
{ //gh60_wasd_leds_off();
register_code(KC_RSFT); }
}
else if (layer & (1 << 2)) {
{ //gh60_esc_led_on();
unregister_code(KC_RSFT); } else {
} //gh60_esc_led_off();
break; }
}
return MACRO_NONE;
};
void matrix_scan_user(void)
{
// Layer LED indicators
// ESC led on when in function layer, WASD cluster leds enabled when on arrow cluster
uint32_t layer = layer_state;
if (layer & (1 << 1))
{
//gh60_wasd_leds_on();
}
else
{
//gh60_wasd_leds_off();
}
if (layer & (1 << 2))
{
//gh60_esc_led_on();
}
else
{
//gh60_esc_led_off();
}
};
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT))
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
{
switch (id)
{
case RGBLED_TOGGLE:
//led operations
if (record->event.pressed)
{
rgblight_toggle();
}
break;
case RGBLED_INCREASE_HUE:
if (record->event.pressed)
{
rgblight_increase_hue();
}
break;
case RGBLED_DECREASE_HUE:
if (record->event.pressed)
{
rgblight_decrease_hue();
}
break;
case RGBLED_INCREASE_SAT:
if (record->event.pressed)
{
rgblight_increase_sat();
}
break;
case RGBLED_DECREASE_SAT:
if (record->event.pressed)
{
rgblight_decrease_sat();
}
break;
case RGBLED_INCREASE_VAL:
if (record->event.pressed)
{
rgblight_increase_val();
}
break;
case RGBLED_DECREASE_VAL:
if (record->event.pressed)
{
rgblight_decrease_val();
}
break;
case RGBLED_STEP_MODE:
if (record->event.pressed)
{
rgblight_step();
}
break;
static uint8_t shift_esc_shift_mask;
// Shift + ESC = ~
case SHIFT_ESC:
shift_esc_shift_mask = get_mods() & MODS_CTRL_MASK;
if (record->event.pressed)
{
if (shift_esc_shift_mask)
{
add_key(KC_GRV);
send_keyboard_report();
}
else
{
add_key(KC_ESC);
send_keyboard_report();
}
}
else
{
if (shift_esc_shift_mask)
{
del_key(KC_GRV);
send_keyboard_report();
}
else
{
del_key(KC_ESC);
send_keyboard_report();
}
}
break;
}
}; };

@ -5,10 +5,10 @@ A compact 40% keyboard.
Keyboard Maintainer: QMK Community Keyboard Maintainer: QMK Community
Hardware Supported: JD40 PCB Hardware Supported: JD40 PCB
Hardware 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) Hardware 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)
Make example for this keyboard (after setting up your build environment): Make example for this keyboard (after setting up your build environment):
make jd40:default make jd40:default
See [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. See 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).

Loading…
Cancel
Save