Browse Source

Respond to PR comments:

- Fix _kb/_user call order.
- Fix layout matrix row/column ordering.

Also:

- Clean up keymap with _______ and XXXXXXX
- Add more debounce, 5ms doesn't seem to be enough for the hardware.
pull/6455/head
Andrew Mass 4 years ago
parent
commit
a3f4abb57a
4 changed files with 113 additions and 108 deletions
  1. +1
    -0
      keyboards/handwired/ergodox_mass/config.h
  2. +10
    -6
      keyboards/handwired/ergodox_mass/ergodox_mass.c
  3. +28
    -28
      keyboards/handwired/ergodox_mass/ergodox_mass.h
  4. +74
    -74
      keyboards/handwired/ergodox_mass/keymaps/default/keymap.c

+ 1
- 0
keyboards/handwired/ergodox_mass/config.h View File

@ -29,3 +29,4 @@
#define MATRIX_ROWS 12 // Three GPX chips per side, two banks per chip
#define MATRIX_COLS 8 // 8 pins per GPX bank
#define UNUSED_PINS { E6, B7, D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7 }
#define DEBOUNCE 10 // 10 ms debounce timer

+ 10
- 6
keyboards/handwired/ergodox_mass/ergodox_mass.c View File

@ -40,6 +40,8 @@ static uint32_t scanCount = 0;
*/
layer_state_t layer_state_set_kb(layer_state_t state) {
state = layer_state_set_user(state);
//uprintf("LAYER %d\n", state);
// Set layer LEDs based on new layer state
@ -49,18 +51,22 @@ layer_state_t layer_state_set_kb(layer_state_t state) {
if (layer <= 2)
writePinHigh(LED_PINS[layer]);
return layer_state_set_user(state);
return state;
}
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
bool ret = process_record_user(keycode, record);
//uprintf("RECORD %u\n", keycode);
writePin(LED_PINS[3], record->event.pressed);
return process_record_user(keycode, record);
return ret;
}
void matrix_init_kb(void) {
matrix_init_user();
for (uint8_t i = 0; i <= 4; ++i) {
setPinOutput(LED_PINS[i]);
writePinLow(LED_PINS[i]);
@ -69,14 +75,12 @@ void matrix_init_kb(void) {
// Set layer LEDs based on default layer state
layer_state_set_kb(layer_state);
default_layer_state_set_kb(default_layer_state);
matrix_init_user();
}
void matrix_scan_kb(void) {
matrix_scan_user();
// Blink LED4
if (++scanCount % 1000 == 0)
writePin(LED_PINS[4], ! readPin(LED_PINS[4]));
matrix_scan_user();
}

+ 28
- 28
keyboards/handwired/ergodox_mass/ergodox_mass.h View File

@ -18,38 +18,38 @@
#include "quantum.h"
#define LAYOUT( \
L00,L01,L02,L03,L04,L05,L06, \
L10,L11,L12,L13,L14,L15,L16, \
L20,L21,L22,L23,L24,L25, \
L30,L31,L32,L33,L34,L35,L36, \
L40,L41,L42,L43,L44, \
LT01,LT02, \
LT12, \
LT20,LT21,LT22, \
LT30, LT32, \
L03,L05,L07,L16,L14,L12,L11, \
L02,L04,L06,L17,L15,L13,L10, \
L01,L00,L37,L35,L33,L32, \
L25,L26,L27,L36,L34,L30,L31, \
L24,L23,L22,L21,L20, \
L57,L56, \
L55, \
L50,L52,L54, \
L51, L53, \
\
R06,R05,R04,R03,R02,R01,R00, \
R16,R15,R14,R13,R12,R11,R10, \
R25,R24,R23,R22,R21,R20, \
R36,R35,R34,R33,R32,R31,R30, \
R44,R43,R42,R41,R40, \
RT02,RT01, \
RT12, \
RT22,RT21,RT20, \
RT32, RT30 ) \
R06,R05,R03,R01,R10,R12,R14, \
R07,R04,R02,R00,R11,R13,R15, \
R25,R24,R22,R20,R17,R16, \
R26,R27,R23,R21,R30,R31,R32, \
R37,R36,R35,R34,R33, \
R41,R40, \
R42, \
R43,R45,R47, \
R44, R46 )\
\
{\
{ R13, R03, R14, R04, R15, R05, R06, R16 }, \
{ R02, R12, R01, R11, R00, R10, R20, R21 }, \
{ R22, R33, R23, R34, R24, R25, R36, R35 }, \
{ R32, R31, R30, R40, R41, R42, R43, R44 }, \
{ RT01, RT02, RT12, RT22, RT32, RT21, RT30, RT20 }, \
{ R00, R01, R02, R03, R04, R05, R06, R07 }, \
{ R10, R11, R12, R13, R14, R15, R16, R17 }, \
{ R20, R21, R22, R23, R24, R25, R26, R27 }, \
{ R30, R31, R32, R33, R34, R35, R36, R37 }, \
{ R40, R41, R42, R43, R44, R45, R46, R47 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
\
{ L21, L20, L10, L00, L11, L01, L12, L02 }, \
{ L16, L06, L05, L15, L04, L14, L03, L13 }, \
{ L44, L43, L42, L41, L40, L30, L31, L32 }, \
{ L35, L36, L25, L24, L34, L23, L33, L22 }, \
{ L00, L01, L02, L03, L04, L05, L06, L07 }, \
{ L10, L11, L12, L13, L14, L15, L16, L17 }, \
{ L20, L21, L22, L23, L24, L25, L26, L27 }, \
{ L30, L31, L32, L33, L34, L35, L36, L37 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ LT20, LT30, LT21, LT32, LT22, LT12, LT02, LT01 }, \
{ L50, L51, L52, L53, L54, L55, L56, L57 }, \
}

+ 74
- 74
keyboards/handwired/ergodox_mass/keymaps/default/keymap.c View File

@ -26,8 +26,8 @@
/**
* Misc Info
*
* - KC_NO for noop
* - KC_TRNS for transparent (go to lower layer)
* - KC_NO or XXXXXXX for noop
* - KC_TRNS or _______ for transparent (go to lower layer)
* - *LAYER*: Momentary
* - ^LAYER^: Toggle
*/
@ -44,7 +44,7 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Basic layer
/* Keymap 0: Base layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | - |
@ -68,27 +68,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `---------------------------' `---------------------------'
*/
[BASE] = LAYOUT (
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO,
KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
KC_NO, KC_A, KC_S, KC_D, KC_F, KC_G,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO,
KC_NO, KC_NO, KC_NO, MO(NAVG),MO(SYMB),
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX,
XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, MO(NAVG),MO(SYMB),
KC_DELT,KC_INS,
KC_HOME,
KC_SPC, KC_BSPC,KC_END,
SH_MON, NUMHOLD,
KC_DELT, KC_INS,
KC_HOME,
KC_SPC, KC_BSPC, KC_END,
SH_MON, NUMHOLD,
KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
TG(NAVG), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
MO(SYMB),MO(NAVG),KC_NO, KC_NO, KC_NO,
XXXXXXX, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
TG(NAVG),KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
MO(SYMB),MO(NAVG),XXXXXXX, XXXXXXX, XXXXXXX,
KC_LGUI, KC_ESC,
KC_LALT,
KC_TAB,KC_RCTL, KC_ENT,
NUMHOLD, SH_MON
KC_LGUI, KC_ESC,
KC_LALT,
KC_TAB, KC_RCTL, KC_ENT,
NUMHOLD, SH_MON
),
/* Keymap 1: Symbol Layer
@ -116,27 +116,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[SYMB] = LAYOUT (
KC_NO, KC_NO, KC_NO, KC_LABK, KC_RABK, KC_NO, KC_NO,
KC_PLUS, KC_NO, KC_NO, KC_LCBR, KC_RCBR, KC_NO, KC_TRNS,
KC_EQL, KC_NO, KC_NO, KC_LPRN, KC_RPRN, KC_NO,
KC_TRNS, KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS,
XXXXXXX, XXXXXXX, XXXXXXX, KC_LABK, KC_RABK, XXXXXXX, XXXXXXX,
KC_PLUS, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, XXXXXXX, _______,
KC_EQL, XXXXXXX, XXXXXXX, KC_LPRN, KC_RPRN, XXXXXXX,
_______, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, _______, _______,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
_______, _______,
_______,
_______, _______, _______,
_______, _______,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_TRNS, KC_7, KC_8, KC_9, KC_NO, KC_NO, KC_NO,
KC_4, KC_5, KC_6, KC_NO, KC_NO, KC_NO,
KC_0, KC_1, KC_2, KC_3, KC_NO, KC_NO, KC_TRNS,
KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, KC_7, KC_8, KC_9, XXXXXXX, XXXXXXX, XXXXXXX,
KC_4, KC_5, KC_6, XXXXXXX, XXXXXXX, XXXXXXX,
KC_0, KC_1, KC_2, KC_3, XXXXXXX, XXXXXXX, _______,
_______, _______, XXXXXXX, XXXXXXX, XXXXXXX,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS
_______, _______,
_______,
_______, _______, _______,
_______, _______
),
/* Keymap 2: Navigation & Media Layer
@ -164,27 +164,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[NAVG] = LAYOUT (
KC_VOLU, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO,
KC_VOLD, KC_NO, KC_BTN1, KC_BTN3, KC_BTN2, KC_NO, KC_TRNS,
KC_MUTE, KC_NO, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R,
KC_NO, KC_NO, KC_NO, KC_BTN4, KC_BTN5, KC_NO, KC_NO,
KC_MPLY ,KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
KC_VOLU, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX,
KC_VOLD, XXXXXXX, KC_BTN1, KC_BTN3, KC_BTN2, XXXXXXX, _______,
KC_MUTE, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R,
XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN4, KC_BTN5, XXXXXXX, XXXXXXX,
KC_MPLY ,KC_MPRV, KC_MNXT, _______, _______,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
_______, _______,
_______,
_______, _______, _______,
_______, _______,
KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_TRNS, KC_NO, KC_WH_D, KC_WH_U, KC_NO, KC_NO, KC_F12,
XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
_______, XXXXXXX, KC_WH_D, KC_WH_U, XXXXXXX, XXXXXXX, KC_F12,
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_ACL0, KC_ACL1,
KC_NO, KC_NO, KC_PGDN, KC_PGUP, KC_NO, KC_NO, KC_ACL2,
KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO,
XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, KC_ACL2,
_______, _______, XXXXXXX, XXXXXXX, XXXXXXX,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS
_______, _______,
_______,
_______, _______, _______,
_______, _______
),
};
@ -232,26 +232,26 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
/*
[ ] = LAYOUT (
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, _______, _______,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
_______, _______,
_______,
_______, _______, _______,
_______, _______,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, _______, XXXXXXX, XXXXXXX, XXXXXXX,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS
_______, _______,
_______,
_______, _______, _______,
_______, _______
),
*/

Loading…
Cancel
Save