Remove encoder in-matrix workaround code (#20389)

This commit is contained in:
jack 2023-06-19 09:46:27 -06:00 committed by GitHub
parent 74fbd5a031
commit c4a67d3f33
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
241 changed files with 1106 additions and 5235 deletions

View file

@ -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]}
]
}
}

View file

@ -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
)
};

View file

@ -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

View file

@ -1 +1,2 @@
VIA_ENABLE = yes
ENCODER_MAP_ENABLE = yes