Remove encoder in-matrix workaround code (#20389)
This commit is contained in:
parent
74fbd5a031
commit
c4a67d3f33
241 changed files with 1106 additions and 5235 deletions
|
@ -18,7 +18,7 @@
|
|||
"bootloader": "atmel-dfu",
|
||||
"matrix_pins": {
|
||||
"direct": [
|
||||
["D4", "C6", "D7", "E6", null, null, null, null]
|
||||
["D4", "C6", "D7", "E6"]
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
|
@ -27,12 +27,7 @@
|
|||
{"x": 0, "y": 0, "matrix": [0, 0]},
|
||||
{"x": 1, "y": 0, "matrix": [0, 1]},
|
||||
{"x": 2, "y": 0, "matrix": [0, 2]},
|
||||
{"x": 3, "y": 0, "matrix": [0, 3]},
|
||||
|
||||
{"label": "Encoder 1 CCW", "x": 0, "y": 1, "matrix": [0, 4]},
|
||||
{"label": "Encoder 1 CW", "x": 1, "y": 1, "matrix": [0, 5]},
|
||||
{"label": "Encoder 2 CCW", "x": 2, "y": 1, "matrix": [0, 6]},
|
||||
{"label": "Encoder 2 CW", "x": 3, "y": 1, "matrix": [0, 7]}
|
||||
{"x": 3, "y": 0, "matrix": [0, 3]}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,19 +25,6 @@ enum layer_names {
|
|||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT(
|
||||
KC_A, KC_B, KC_C, KC_D,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO // for encoders
|
||||
),
|
||||
[_FN1] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO
|
||||
),
|
||||
[_FN2] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO
|
||||
),
|
||||
[_FN3] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO
|
||||
KC_A, KC_B, KC_C, KC_D
|
||||
)
|
||||
};
|
||||
|
|
|
@ -25,95 +25,24 @@ enum layer_names {
|
|||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT(
|
||||
KC_A, KC_B, KC_C, KC_D,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO // for encoders
|
||||
KC_A, KC_B, KC_C, KC_D
|
||||
),
|
||||
[_FN1] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO
|
||||
),
|
||||
[_FN2] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO
|
||||
),
|
||||
[_FN3] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO
|
||||
)
|
||||
};
|
||||
|
||||
keyevent_t encoder1_ccw = {
|
||||
.key = (keypos_t){.row = 0, .col = 4},
|
||||
.pressed = false,
|
||||
.type = KEY_EVENT
|
||||
#ifdef ENCODER_MAP_ENABLE
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[0] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
|
||||
[1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
|
||||
[2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
|
||||
[3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }
|
||||
};
|
||||
|
||||
keyevent_t encoder1_cw = {
|
||||
.key = (keypos_t){.row = 0, .col = 5},
|
||||
.pressed = false,
|
||||
.type = KEY_EVENT
|
||||
};
|
||||
|
||||
keyevent_t encoder2_ccw = {
|
||||
.key = (keypos_t){.row = 0, .col = 6},
|
||||
.pressed = false,
|
||||
.type = KEY_EVENT
|
||||
};
|
||||
|
||||
keyevent_t encoder2_cw = {
|
||||
.key = (keypos_t){.row = 0, .col = 7},
|
||||
.pressed = false,
|
||||
.type = KEY_EVENT
|
||||
};
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
if (encoder1_ccw.pressed) {
|
||||
encoder1_ccw.pressed = false;
|
||||
encoder1_ccw.time = timer_read();
|
||||
action_exec(encoder1_ccw);
|
||||
}
|
||||
|
||||
if (encoder1_cw.pressed) {
|
||||
encoder1_cw.pressed = false;
|
||||
encoder1_cw.time = timer_read();
|
||||
action_exec(encoder1_cw);
|
||||
}
|
||||
|
||||
if (encoder2_ccw.pressed) {
|
||||
encoder2_ccw.pressed = false;
|
||||
encoder2_ccw.time = timer_read();
|
||||
action_exec(encoder2_ccw);
|
||||
}
|
||||
|
||||
if (encoder2_cw.pressed) {
|
||||
encoder2_cw.pressed = false;
|
||||
encoder2_cw.time = timer_read();
|
||||
action_exec(encoder2_cw);
|
||||
}
|
||||
}
|
||||
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (index == 0) { /* First encoder */
|
||||
if (clockwise) {
|
||||
encoder1_cw.pressed = true;
|
||||
encoder1_cw.time = timer_read();
|
||||
action_exec(encoder1_cw);
|
||||
} else {
|
||||
encoder1_ccw.pressed = true;
|
||||
encoder1_ccw.time = timer_read();
|
||||
action_exec(encoder1_ccw);
|
||||
}
|
||||
} else if (index == 1) {
|
||||
if (clockwise) {
|
||||
encoder2_cw.pressed = true;
|
||||
encoder2_cw.time = timer_read();
|
||||
action_exec(encoder2_cw);
|
||||
} else {
|
||||
encoder2_ccw.pressed = true;
|
||||
encoder2_ccw.time = timer_read();
|
||||
action_exec(encoder2_ccw);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
VIA_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue