mirror of
https://github.com/qmk/qmk_userspace.git
synced 2025-07-05 11:20:35 -04:00
[Core] Refactor keyevent_t
for 1ms timing resolution (#15847)
This commit is contained in:
parent
15eb4de2cf
commit
712d48a591
22 changed files with 176 additions and 123 deletions
|
@ -57,12 +57,14 @@ void set_custom_encoder_mode_user(bool custom_mode) {
|
||||||
|
|
||||||
keyevent_t encoder_ccw = {
|
keyevent_t encoder_ccw = {
|
||||||
.key = (keypos_t){.row = 4, .col = 7},
|
.key = (keypos_t){.row = 4, .col = 7},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder_cw = {
|
keyevent_t encoder_cw = {
|
||||||
.key = (keypos_t){.row = 4, .col = 10},
|
.key = (keypos_t){.row = 4, .col = 10},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -70,12 +72,12 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
if (custom_encoder_mode) {
|
if (custom_encoder_mode) {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder_cw.pressed = true;
|
encoder_cw.pressed = true;
|
||||||
encoder_cw.time = (timer_read() | 1);
|
encoder_cw.time = timer_read();
|
||||||
action_exec(encoder_cw);
|
action_exec(encoder_cw);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
encoder_ccw.pressed = true;
|
encoder_ccw.pressed = true;
|
||||||
encoder_ccw.time = (timer_read() | 1);
|
encoder_ccw.time = timer_read();
|
||||||
action_exec(encoder_ccw);
|
action_exec(encoder_ccw);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -86,13 +88,13 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
if (IS_PRESSED(encoder_ccw)) {
|
if (IS_PRESSED(encoder_ccw)) {
|
||||||
encoder_ccw.pressed = false;
|
encoder_ccw.pressed = false;
|
||||||
encoder_ccw.time = (timer_read() | 1);
|
encoder_ccw.time = timer_read();
|
||||||
action_exec(encoder_ccw);
|
action_exec(encoder_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder_cw)) {
|
if (IS_PRESSED(encoder_cw)) {
|
||||||
encoder_cw.pressed = false;
|
encoder_cw.pressed = false;
|
||||||
encoder_cw.time = (timer_read() | 1);
|
encoder_cw.time = timer_read();
|
||||||
action_exec(encoder_cw);
|
action_exec(encoder_cw);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -95,46 +95,50 @@ void keyboard_post_init_user(void) {
|
||||||
|
|
||||||
keyevent_t encoder_left_ccw = {
|
keyevent_t encoder_left_ccw = {
|
||||||
.key = (keypos_t){.row = 5, .col = 0},
|
.key = (keypos_t){.row = 5, .col = 0},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder_left_cw = {
|
keyevent_t encoder_left_cw = {
|
||||||
.key = (keypos_t){.row = 5, .col = 1},
|
.key = (keypos_t){.row = 5, .col = 1},
|
||||||
.pressed = false
|
.pressed = false
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder_right_ccw = {
|
keyevent_t encoder_right_ccw = {
|
||||||
.key = (keypos_t){.row = 5, .col = 2},
|
.key = (keypos_t){.row = 5, .col = 2},
|
||||||
.pressed = false
|
.pressed = false
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder_right_cw = {
|
keyevent_t encoder_right_cw = {
|
||||||
.key = (keypos_t){.row = 5, .col = 3},
|
.key = (keypos_t){.row = 5, .col = 3},
|
||||||
.pressed = false
|
.pressed = false
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
if (IS_PRESSED(encoder_left_ccw)) {
|
if (IS_PRESSED(encoder_left_ccw)) {
|
||||||
encoder_left_ccw.pressed = false;
|
encoder_left_ccw.pressed = false;
|
||||||
encoder_left_ccw.time = (timer_read() | 1);
|
encoder_left_ccw.time = timer_read();
|
||||||
action_exec(encoder_left_ccw);
|
action_exec(encoder_left_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder_left_cw)) {
|
if (IS_PRESSED(encoder_left_cw)) {
|
||||||
encoder_left_cw.pressed = false;
|
encoder_left_cw.pressed = false;
|
||||||
encoder_left_cw.time = (timer_read() | 1);
|
encoder_left_cw.time = timer_read();
|
||||||
action_exec(encoder_left_cw);
|
action_exec(encoder_left_cw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder_right_ccw)) {
|
if (IS_PRESSED(encoder_right_ccw)) {
|
||||||
encoder_right_ccw.pressed = false;
|
encoder_right_ccw.pressed = false;
|
||||||
encoder_right_ccw.time = (timer_read() | 1);
|
encoder_right_ccw.time = timer_read();
|
||||||
action_exec(encoder_right_ccw);
|
action_exec(encoder_right_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder_right_cw)) {
|
if (IS_PRESSED(encoder_right_cw)) {
|
||||||
encoder_right_cw.pressed = false;
|
encoder_right_cw.pressed = false;
|
||||||
encoder_right_cw.time = (timer_read() | 1);
|
encoder_right_cw.time = timer_read();
|
||||||
action_exec(encoder_right_cw);
|
action_exec(encoder_right_cw);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,21 +149,21 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
if (index == 0) {
|
if (index == 0) {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder_left_cw.pressed = true;
|
encoder_left_cw.pressed = true;
|
||||||
encoder_left_cw.time = (timer_read() | 1);
|
encoder_left_cw.time = timer_read();
|
||||||
action_exec(encoder_left_cw);
|
action_exec(encoder_left_cw);
|
||||||
} else {
|
} else {
|
||||||
encoder_left_ccw.pressed = true;
|
encoder_left_ccw.pressed = true;
|
||||||
encoder_left_ccw.time = (timer_read() | 1);
|
encoder_left_ccw.time = timer_read();
|
||||||
action_exec(encoder_left_ccw);
|
action_exec(encoder_left_ccw);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder_right_cw.pressed = true;
|
encoder_right_cw.pressed = true;
|
||||||
encoder_right_cw.time = (timer_read() | 1);
|
encoder_right_cw.time = timer_read();
|
||||||
action_exec(encoder_right_cw);
|
action_exec(encoder_right_cw);
|
||||||
} else {
|
} else {
|
||||||
encoder_right_ccw.pressed = true;
|
encoder_right_ccw.pressed = true;
|
||||||
encoder_right_ccw.time = (timer_read() | 1);
|
encoder_right_ccw.time = timer_read();
|
||||||
action_exec(encoder_right_ccw);
|
action_exec(encoder_right_ccw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,46 +52,50 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
keyevent_t encoder1_ccw = {
|
keyevent_t encoder1_ccw = {
|
||||||
.key = (keypos_t){.row = 0, .col = 12},
|
.key = (keypos_t){.row = 0, .col = 12},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder1_cw = {
|
keyevent_t encoder1_cw = {
|
||||||
.key = (keypos_t){.row = 0, .col = 13},
|
.key = (keypos_t){.row = 0, .col = 13},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder2_ccw = {
|
keyevent_t encoder2_ccw = {
|
||||||
.key = (keypos_t){.row = 0, .col = 14},
|
.key = (keypos_t){.row = 0, .col = 14},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder2_cw = {
|
keyevent_t encoder2_cw = {
|
||||||
.key = (keypos_t){.row = 0, .col = 15},
|
.key = (keypos_t){.row = 0, .col = 15},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
if (IS_PRESSED(encoder1_ccw)) {
|
if (IS_PRESSED(encoder1_ccw)) {
|
||||||
encoder1_ccw.pressed = false;
|
encoder1_ccw.pressed = false;
|
||||||
encoder1_ccw.time = (timer_read() | 1);
|
encoder1_ccw.time = timer_read();
|
||||||
action_exec(encoder1_ccw);
|
action_exec(encoder1_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder1_cw)) {
|
if (IS_PRESSED(encoder1_cw)) {
|
||||||
encoder1_cw.pressed = false;
|
encoder1_cw.pressed = false;
|
||||||
encoder1_cw.time = (timer_read() | 1);
|
encoder1_cw.time = timer_read();
|
||||||
action_exec(encoder1_cw);
|
action_exec(encoder1_cw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder2_ccw)) {
|
if (IS_PRESSED(encoder2_ccw)) {
|
||||||
encoder2_ccw.pressed = false;
|
encoder2_ccw.pressed = false;
|
||||||
encoder2_ccw.time = (timer_read() | 1);
|
encoder2_ccw.time = timer_read();
|
||||||
action_exec(encoder2_ccw);
|
action_exec(encoder2_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder2_cw)) {
|
if (IS_PRESSED(encoder2_cw)) {
|
||||||
encoder2_cw.pressed = false;
|
encoder2_cw.pressed = false;
|
||||||
encoder2_cw.time = (timer_read() | 1);
|
encoder2_cw.time = timer_read();
|
||||||
action_exec(encoder2_cw);
|
action_exec(encoder2_cw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -100,21 +104,21 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
if (index == 0) { /* First encoder */
|
if (index == 0) { /* First encoder */
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder1_cw.pressed = true;
|
encoder1_cw.pressed = true;
|
||||||
encoder1_cw.time = (timer_read() | 1);
|
encoder1_cw.time = timer_read();
|
||||||
action_exec(encoder1_cw);
|
action_exec(encoder1_cw);
|
||||||
} else {
|
} else {
|
||||||
encoder1_ccw.pressed = true;
|
encoder1_ccw.pressed = true;
|
||||||
encoder1_ccw.time = (timer_read() | 1);
|
encoder1_ccw.time = timer_read();
|
||||||
action_exec(encoder1_ccw);
|
action_exec(encoder1_ccw);
|
||||||
}
|
}
|
||||||
} else if (index == 1) {
|
} else if (index == 1) {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder2_cw.pressed = true;
|
encoder2_cw.pressed = true;
|
||||||
encoder2_cw.time = (timer_read() | 1);
|
encoder2_cw.time = timer_read();
|
||||||
action_exec(encoder2_cw);
|
action_exec(encoder2_cw);
|
||||||
} else {
|
} else {
|
||||||
encoder2_ccw.pressed = true;
|
encoder2_ccw.pressed = true;
|
||||||
encoder2_ccw.time = (timer_read() | 1);
|
encoder2_ccw.time = timer_read();
|
||||||
action_exec(encoder2_ccw);
|
action_exec(encoder2_ccw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,46 +44,50 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
keyevent_t encoder1_ccw = {
|
keyevent_t encoder1_ccw = {
|
||||||
.key = (keypos_t){.row = 0, .col = 4},
|
.key = (keypos_t){.row = 0, .col = 4},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder1_cw = {
|
keyevent_t encoder1_cw = {
|
||||||
.key = (keypos_t){.row = 0, .col = 5},
|
.key = (keypos_t){.row = 0, .col = 5},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder2_ccw = {
|
keyevent_t encoder2_ccw = {
|
||||||
.key = (keypos_t){.row = 0, .col = 6},
|
.key = (keypos_t){.row = 0, .col = 6},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder2_cw = {
|
keyevent_t encoder2_cw = {
|
||||||
.key = (keypos_t){.row = 0, .col = 7},
|
.key = (keypos_t){.row = 0, .col = 7},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
if (IS_PRESSED(encoder1_ccw)) {
|
if (IS_PRESSED(encoder1_ccw)) {
|
||||||
encoder1_ccw.pressed = false;
|
encoder1_ccw.pressed = false;
|
||||||
encoder1_ccw.time = (timer_read() | 1);
|
encoder1_ccw.time = timer_read();
|
||||||
action_exec(encoder1_ccw);
|
action_exec(encoder1_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder1_cw)) {
|
if (IS_PRESSED(encoder1_cw)) {
|
||||||
encoder1_cw.pressed = false;
|
encoder1_cw.pressed = false;
|
||||||
encoder1_cw.time = (timer_read() | 1);
|
encoder1_cw.time = timer_read();
|
||||||
action_exec(encoder1_cw);
|
action_exec(encoder1_cw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder2_ccw)) {
|
if (IS_PRESSED(encoder2_ccw)) {
|
||||||
encoder2_ccw.pressed = false;
|
encoder2_ccw.pressed = false;
|
||||||
encoder2_ccw.time = (timer_read() | 1);
|
encoder2_ccw.time = timer_read();
|
||||||
action_exec(encoder2_ccw);
|
action_exec(encoder2_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder2_cw)) {
|
if (IS_PRESSED(encoder2_cw)) {
|
||||||
encoder2_cw.pressed = false;
|
encoder2_cw.pressed = false;
|
||||||
encoder2_cw.time = (timer_read() | 1);
|
encoder2_cw.time = timer_read();
|
||||||
action_exec(encoder2_cw);
|
action_exec(encoder2_cw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -92,21 +96,21 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
if (index == 0) { /* First encoder */
|
if (index == 0) { /* First encoder */
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder1_cw.pressed = true;
|
encoder1_cw.pressed = true;
|
||||||
encoder1_cw.time = (timer_read() | 1);
|
encoder1_cw.time = timer_read();
|
||||||
action_exec(encoder1_cw);
|
action_exec(encoder1_cw);
|
||||||
} else {
|
} else {
|
||||||
encoder1_ccw.pressed = true;
|
encoder1_ccw.pressed = true;
|
||||||
encoder1_ccw.time = (timer_read() | 1);
|
encoder1_ccw.time = timer_read();
|
||||||
action_exec(encoder1_ccw);
|
action_exec(encoder1_ccw);
|
||||||
}
|
}
|
||||||
} else if (index == 1) {
|
} else if (index == 1) {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder2_cw.pressed = true;
|
encoder2_cw.pressed = true;
|
||||||
encoder2_cw.time = (timer_read() | 1);
|
encoder2_cw.time = timer_read();
|
||||||
action_exec(encoder2_cw);
|
action_exec(encoder2_cw);
|
||||||
} else {
|
} else {
|
||||||
encoder2_ccw.pressed = true;
|
encoder2_ccw.pressed = true;
|
||||||
encoder2_ccw.time = (timer_read() | 1);
|
encoder2_ccw.time = timer_read();
|
||||||
action_exec(encoder2_ccw);
|
action_exec(encoder2_ccw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,91 +82,99 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
keyevent_t encoder1_ccw = {
|
keyevent_t encoder1_ccw = {
|
||||||
.key = (keypos_t){.row = 4, .col = 0},
|
.key = (keypos_t){.row = 4, .col = 0},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder1_cw = {
|
keyevent_t encoder1_cw = {
|
||||||
.key = (keypos_t){.row = 4, .col = 1},
|
.key = (keypos_t){.row = 4, .col = 1},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder2_ccw = {
|
keyevent_t encoder2_ccw = {
|
||||||
.key = (keypos_t){.row = 4, .col = 2},
|
.key = (keypos_t){.row = 4, .col = 2},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder2_cw = {
|
keyevent_t encoder2_cw = {
|
||||||
.key = (keypos_t){.row = 4, .col = 3},
|
.key = (keypos_t){.row = 4, .col = 3},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder3_ccw = {
|
keyevent_t encoder3_ccw = {
|
||||||
.key = (keypos_t){.row = 9, .col = 1},
|
.key = (keypos_t){.row = 9, .col = 1},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder3_cw = {
|
keyevent_t encoder3_cw = {
|
||||||
.key = (keypos_t){.row = 9, .col = 0},
|
.key = (keypos_t){.row = 9, .col = 0},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder4_ccw = {
|
keyevent_t encoder4_ccw = {
|
||||||
.key = (keypos_t){.row = 9, .col = 3},
|
.key = (keypos_t){.row = 9, .col = 3},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder4_cw = {
|
keyevent_t encoder4_cw = {
|
||||||
.key = (keypos_t){.row = 9, .col = 2},
|
.key = (keypos_t){.row = 9, .col = 2},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
if (IS_PRESSED(encoder1_ccw)) {
|
if (IS_PRESSED(encoder1_ccw)) {
|
||||||
encoder1_ccw.pressed = false;
|
encoder1_ccw.pressed = false;
|
||||||
encoder1_ccw.time = (timer_read() | 1);
|
encoder1_ccw.time = timer_read();
|
||||||
action_exec(encoder1_ccw);
|
action_exec(encoder1_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder1_cw)) {
|
if (IS_PRESSED(encoder1_cw)) {
|
||||||
encoder1_cw.pressed = false;
|
encoder1_cw.pressed = false;
|
||||||
encoder1_cw.time = (timer_read() | 1);
|
encoder1_cw.time = timer_read();
|
||||||
action_exec(encoder1_cw);
|
action_exec(encoder1_cw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder2_ccw)) {
|
if (IS_PRESSED(encoder2_ccw)) {
|
||||||
encoder2_ccw.pressed = false;
|
encoder2_ccw.pressed = false;
|
||||||
encoder2_ccw.time = (timer_read() | 1);
|
encoder2_ccw.time = timer_read();
|
||||||
action_exec(encoder2_ccw);
|
action_exec(encoder2_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder2_cw)) {
|
if (IS_PRESSED(encoder2_cw)) {
|
||||||
encoder2_cw.pressed = false;
|
encoder2_cw.pressed = false;
|
||||||
encoder2_cw.time = (timer_read() | 1);
|
encoder2_cw.time = timer_read();
|
||||||
action_exec(encoder2_cw);
|
action_exec(encoder2_cw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder3_ccw)) {
|
if (IS_PRESSED(encoder3_ccw)) {
|
||||||
encoder3_ccw.pressed = false;
|
encoder3_ccw.pressed = false;
|
||||||
encoder3_ccw.time = (timer_read() | 1);
|
encoder3_ccw.time = timer_read();
|
||||||
action_exec(encoder3_ccw);
|
action_exec(encoder3_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder3_cw)) {
|
if (IS_PRESSED(encoder3_cw)) {
|
||||||
encoder3_cw.pressed = false;
|
encoder3_cw.pressed = false;
|
||||||
encoder3_cw.time = (timer_read() | 1);
|
encoder3_cw.time = timer_read();
|
||||||
action_exec(encoder3_cw);
|
action_exec(encoder3_cw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder4_ccw)) {
|
if (IS_PRESSED(encoder4_ccw)) {
|
||||||
encoder4_ccw.pressed = false;
|
encoder4_ccw.pressed = false;
|
||||||
encoder4_ccw.time = (timer_read() | 1);
|
encoder4_ccw.time = timer_read();
|
||||||
action_exec(encoder4_ccw);
|
action_exec(encoder4_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder4_cw)) {
|
if (IS_PRESSED(encoder4_cw)) {
|
||||||
encoder4_cw.pressed = false;
|
encoder4_cw.pressed = false;
|
||||||
encoder4_cw.time = (timer_read() | 1);
|
encoder4_cw.time = timer_read();
|
||||||
action_exec(encoder4_cw);
|
action_exec(encoder4_cw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -175,41 +183,41 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
if (index == 0) {
|
if (index == 0) {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder1_cw.pressed = true;
|
encoder1_cw.pressed = true;
|
||||||
encoder1_cw.time = (timer_read() | 1);
|
encoder1_cw.time = timer_read();
|
||||||
action_exec(encoder1_cw);
|
action_exec(encoder1_cw);
|
||||||
} else {
|
} else {
|
||||||
encoder1_ccw.pressed = true;
|
encoder1_ccw.pressed = true;
|
||||||
encoder1_ccw.time = (timer_read() | 1);
|
encoder1_ccw.time = timer_read();
|
||||||
action_exec(encoder1_ccw);
|
action_exec(encoder1_ccw);
|
||||||
}
|
}
|
||||||
} else if (index == 1) {
|
} else if (index == 1) {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder2_cw.pressed = true;
|
encoder2_cw.pressed = true;
|
||||||
encoder2_cw.time = (timer_read() | 1);
|
encoder2_cw.time = timer_read();
|
||||||
action_exec(encoder2_cw);
|
action_exec(encoder2_cw);
|
||||||
} else {
|
} else {
|
||||||
encoder2_ccw.pressed = true;
|
encoder2_ccw.pressed = true;
|
||||||
encoder2_ccw.time = (timer_read() | 1);
|
encoder2_ccw.time = timer_read();
|
||||||
action_exec(encoder2_ccw);
|
action_exec(encoder2_ccw);
|
||||||
}
|
}
|
||||||
} else if (index == 2) {
|
} else if (index == 2) {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder3_cw.pressed = true;
|
encoder3_cw.pressed = true;
|
||||||
encoder3_cw.time = (timer_read() | 1);
|
encoder3_cw.time = timer_read();
|
||||||
action_exec(encoder3_cw);
|
action_exec(encoder3_cw);
|
||||||
} else {
|
} else {
|
||||||
encoder3_ccw.pressed = true;
|
encoder3_ccw.pressed = true;
|
||||||
encoder3_ccw.time = (timer_read() | 1);
|
encoder3_ccw.time = timer_read();
|
||||||
action_exec(encoder3_ccw);
|
action_exec(encoder3_ccw);
|
||||||
}
|
}
|
||||||
} else if (index == 3) {
|
} else if (index == 3) {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder4_cw.pressed = true;
|
encoder4_cw.pressed = true;
|
||||||
encoder4_cw.time = (timer_read() | 1);
|
encoder4_cw.time = timer_read();
|
||||||
action_exec(encoder4_cw);
|
action_exec(encoder4_cw);
|
||||||
} else {
|
} else {
|
||||||
encoder4_ccw.pressed = true;
|
encoder4_ccw.pressed = true;
|
||||||
encoder4_ccw.time = (timer_read() | 1);
|
encoder4_ccw.time = timer_read();
|
||||||
action_exec(encoder4_ccw);
|
action_exec(encoder4_ccw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,7 +96,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
key.row = 1;
|
key.row = 1;
|
||||||
key.col = 0;
|
key.col = 0;
|
||||||
}
|
}
|
||||||
action_exec((keyevent_t){.key = key, .pressed = true, .time = (timer_read() | 1)});
|
action_exec(MAKE_KEYEVENT(key.row, key.col, true));
|
||||||
action_exec((keyevent_t){.key = key, .pressed = false, .time = (timer_read() | 1)});
|
action_exec(MAKE_KEYEVENT(key.row, key.col, false));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -178,7 +178,8 @@ void encoder_action_unregister(void) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
|
.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
|
||||||
.pressed = false,
|
.pressed = false,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
encoder_state[index] = 0;
|
encoder_state[index] = 0;
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
@ -190,7 +191,8 @@ void encoder_action_register(uint8_t index, bool clockwise) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
||||||
.pressed = true,
|
.pressed = true,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
|
encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
|
|
@ -29,7 +29,9 @@ void encoder_action_unregister(void)
|
||||||
keyevent_t encoder_event = (keyevent_t){
|
keyevent_t encoder_event = (keyevent_t){
|
||||||
.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
|
.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
|
||||||
.pressed = false,
|
.pressed = false,
|
||||||
.time = (timer_read() | 1)};
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
|
};
|
||||||
encoder_state[index] = 0;
|
encoder_state[index] = 0;
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
}
|
}
|
||||||
|
@ -40,7 +42,9 @@ void encoder_action_register(uint8_t index, bool clockwise)
|
||||||
keyevent_t encoder_event = (keyevent_t){
|
keyevent_t encoder_event = (keyevent_t){
|
||||||
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
||||||
.pressed = true,
|
.pressed = true,
|
||||||
.time = (timer_read() | 1)};
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
|
};
|
||||||
encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
|
encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
}
|
}
|
||||||
|
|
|
@ -169,7 +169,8 @@ void encoder_action_unregister(void) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
|
.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
|
||||||
.pressed = false,
|
.pressed = false,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
encoder_state[index] = 0;
|
encoder_state[index] = 0;
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
@ -181,7 +182,8 @@ void encoder_action_register(uint8_t index, bool clockwise) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
||||||
.pressed = true,
|
.pressed = true,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
|
encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
|
|
@ -54,24 +54,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
keyevent_t encoder_ccw = {
|
keyevent_t encoder_ccw = {
|
||||||
.key = (keypos_t){.row = 5, .col = 0},
|
.key = (keypos_t){.row = 5, .col = 0},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder_cw = {
|
keyevent_t encoder_cw = {
|
||||||
.key = (keypos_t){.row = 5, .col = 1},
|
.key = (keypos_t){.row = 5, .col = 1},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
if (IS_PRESSED(encoder_ccw)) {
|
if (IS_PRESSED(encoder_ccw)) {
|
||||||
encoder_ccw.pressed = false;
|
encoder_ccw.pressed = false;
|
||||||
encoder_ccw.time = (timer_read() | 1);
|
encoder_ccw.time = timer_read();
|
||||||
action_exec(encoder_ccw);
|
action_exec(encoder_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder_cw)) {
|
if (IS_PRESSED(encoder_cw)) {
|
||||||
encoder_cw.pressed = false;
|
encoder_cw.pressed = false;
|
||||||
encoder_cw.time = (timer_read() | 1);
|
encoder_cw.time = timer_read();
|
||||||
action_exec(encoder_cw);
|
action_exec(encoder_cw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,11 +81,11 @@ void matrix_scan_user(void) {
|
||||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder_cw.pressed = true;
|
encoder_cw.pressed = true;
|
||||||
encoder_cw.time = (timer_read() | 1);
|
encoder_cw.time = timer_read();
|
||||||
action_exec(encoder_cw);
|
action_exec(encoder_cw);
|
||||||
} else {
|
} else {
|
||||||
encoder_ccw.pressed = true;
|
encoder_ccw.pressed = true;
|
||||||
encoder_ccw.time = (timer_read() | 1);
|
encoder_ccw.time = timer_read();
|
||||||
action_exec(encoder_ccw);
|
action_exec(encoder_ccw);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -63,7 +63,8 @@ void encoder_action_unregister(void) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
|
.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
|
||||||
.pressed = false,
|
.pressed = false,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
encoder_state[index] = 0;
|
encoder_state[index] = 0;
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
@ -75,7 +76,8 @@ void encoder_action_register(uint8_t index, bool clockwise) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
||||||
.pressed = true,
|
.pressed = true,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
|
encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
|
|
@ -115,7 +115,8 @@ void encoder_action_unregister(void) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
|
.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
|
||||||
.pressed = false,
|
.pressed = false,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
encoder_state[index] = 0;
|
encoder_state[index] = 0;
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
@ -127,7 +128,8 @@ void encoder_action_register(uint8_t index, bool clockwise) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
||||||
.pressed = true,
|
.pressed = true,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
|
encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
|
|
@ -87,7 +87,8 @@ void encoder_action_unregister(void) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = encoder_state >> 1 ? ENC_CW : ENC_CCW,
|
.key = encoder_state >> 1 ? ENC_CW : ENC_CCW,
|
||||||
.pressed = false,
|
.pressed = false,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
encoder_state = 0;
|
encoder_state = 0;
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
@ -99,7 +100,8 @@ void encoder_action_register(uint8_t index, bool clockwise) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = clockwise ? ENC_CW : ENC_CCW,
|
.key = clockwise ? ENC_CW : ENC_CCW,
|
||||||
.pressed = true,
|
.pressed = true,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read()
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
encoder_state = (clockwise ^ 1) | (clockwise << 1);
|
encoder_state = (clockwise ^ 1) | (clockwise << 1);
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
|
|
@ -135,7 +135,8 @@ void encoder_action_unregister(void) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = encoder_state >> 1 ? ENC_CW : ENC_CCW,
|
.key = encoder_state >> 1 ? ENC_CW : ENC_CCW,
|
||||||
.pressed = false,
|
.pressed = false,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
encoder_state = 0;
|
encoder_state = 0;
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
@ -146,7 +147,8 @@ void encoder_action_register(uint8_t index, bool clockwise) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = clockwise ? ENC_CW : ENC_CCW,
|
.key = clockwise ? ENC_CW : ENC_CCW,
|
||||||
.pressed = true,
|
.pressed = true,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
encoder_state = (clockwise ^ 1) | (clockwise << 1);
|
encoder_state = (clockwise ^ 1) | (clockwise << 1);
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
|
|
@ -48,24 +48,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
keyevent_t encoder_ccw = {
|
keyevent_t encoder_ccw = {
|
||||||
.key = (keypos_t){.row = 4, .col = 0},
|
.key = (keypos_t){.row = 4, .col = 0},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder_cw = {
|
keyevent_t encoder_cw = {
|
||||||
.key = (keypos_t){.row = 4, .col = 1},
|
.key = (keypos_t){.row = 4, .col = 1},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
if (IS_PRESSED(encoder_ccw)) {
|
if (IS_PRESSED(encoder_ccw)) {
|
||||||
encoder_ccw.pressed = false;
|
encoder_ccw.pressed = false;
|
||||||
encoder_ccw.time = (timer_read() | 1);
|
encoder_ccw.time = timer_read();
|
||||||
action_exec(encoder_ccw);
|
action_exec(encoder_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder_cw)) {
|
if (IS_PRESSED(encoder_cw)) {
|
||||||
encoder_cw.pressed = false;
|
encoder_cw.pressed = false;
|
||||||
encoder_cw.time = (timer_read() | 1);
|
encoder_cw.time = timer_read();
|
||||||
action_exec(encoder_cw);
|
action_exec(encoder_cw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -73,12 +75,12 @@ void matrix_scan_user(void) {
|
||||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder_cw.pressed = true;
|
encoder_cw.pressed = true;
|
||||||
encoder_cw.time = (timer_read() | 1);
|
encoder_cw.time = timer_read();
|
||||||
action_exec(encoder_cw);
|
action_exec(encoder_cw);
|
||||||
wait_ms(20);
|
wait_ms(20);
|
||||||
} else {
|
} else {
|
||||||
encoder_ccw.pressed = true;
|
encoder_ccw.pressed = true;
|
||||||
encoder_ccw.time = (timer_read() | 1);
|
encoder_ccw.time = timer_read();
|
||||||
action_exec(encoder_ccw);
|
action_exec(encoder_ccw);
|
||||||
wait_ms(20);
|
wait_ms(20);
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,24 +54,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
keyevent_t encoder_ccw = {
|
keyevent_t encoder_ccw = {
|
||||||
.key = (keypos_t){.row = 6, .col = 0},
|
.key = (keypos_t){.row = 6, .col = 0},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder_cw = {
|
keyevent_t encoder_cw = {
|
||||||
.key = (keypos_t){.row = 6, .col = 1},
|
.key = (keypos_t){.row = 6, .col = 1},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
if (IS_PRESSED(encoder_ccw)) {
|
if (IS_PRESSED(encoder_ccw)) {
|
||||||
encoder_ccw.pressed = false;
|
encoder_ccw.pressed = false;
|
||||||
encoder_ccw.time = (timer_read() | 1);
|
encoder_ccw.time = timer_read();
|
||||||
action_exec(encoder_ccw);
|
action_exec(encoder_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder_cw)) {
|
if (IS_PRESSED(encoder_cw)) {
|
||||||
encoder_cw.pressed = false;
|
encoder_cw.pressed = false;
|
||||||
encoder_cw.time = (timer_read() | 1);
|
encoder_cw.time = timer_read();
|
||||||
action_exec(encoder_cw);
|
action_exec(encoder_cw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -86,14 +88,14 @@ uint8_t current_frame = 0;
|
||||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder_cw.pressed = true;
|
encoder_cw.pressed = true;
|
||||||
encoder_cw.time = (timer_read() | 1);
|
encoder_cw.time = timer_read();
|
||||||
action_exec(encoder_cw);
|
action_exec(encoder_cw);
|
||||||
wait_ms(20);
|
wait_ms(20);
|
||||||
anim_sleep = timer_read32();
|
anim_sleep = timer_read32();
|
||||||
oled_on();
|
oled_on();
|
||||||
} else {
|
} else {
|
||||||
encoder_ccw.pressed = true;
|
encoder_ccw.pressed = true;
|
||||||
encoder_ccw.time = (timer_read() | 1);
|
encoder_ccw.time = timer_read();
|
||||||
action_exec(encoder_ccw);
|
action_exec(encoder_ccw);
|
||||||
wait_ms(20);
|
wait_ms(20);
|
||||||
anim_sleep = timer_read32();
|
anim_sleep = timer_read32();
|
||||||
|
|
|
@ -29,24 +29,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
keyevent_t encoder_ccw = {
|
keyevent_t encoder_ccw = {
|
||||||
.key = (keypos_t){.row = 13, .col = 0},
|
.key = (keypos_t){.row = 13, .col = 0},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder_cw = {
|
keyevent_t encoder_cw = {
|
||||||
.key = (keypos_t){.row = 13, .col = 1},
|
.key = (keypos_t){.row = 13, .col = 1},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
if (IS_PRESSED(encoder_ccw)) {
|
if (IS_PRESSED(encoder_ccw)) {
|
||||||
encoder_ccw.pressed = false;
|
encoder_ccw.pressed = false;
|
||||||
encoder_ccw.time = (timer_read() | 1);
|
encoder_ccw.time = timer_read();
|
||||||
action_exec(encoder_ccw);
|
action_exec(encoder_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder_cw)) {
|
if (IS_PRESSED(encoder_cw)) {
|
||||||
encoder_cw.pressed = false;
|
encoder_cw.pressed = false;
|
||||||
encoder_cw.time = (timer_read() | 1);
|
encoder_cw.time = timer_read();
|
||||||
action_exec(encoder_cw);
|
action_exec(encoder_cw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -54,11 +56,11 @@ void matrix_scan_user(void) {
|
||||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder_cw.pressed = true;
|
encoder_cw.pressed = true;
|
||||||
encoder_cw.time = (timer_read() | 1);
|
encoder_cw.time = timer_read();
|
||||||
action_exec(encoder_cw);
|
action_exec(encoder_cw);
|
||||||
} else {
|
} else {
|
||||||
encoder_ccw.pressed = true;
|
encoder_ccw.pressed = true;
|
||||||
encoder_ccw.time = (timer_read() | 1);
|
encoder_ccw.time = timer_read();
|
||||||
action_exec(encoder_ccw);
|
action_exec(encoder_ccw);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -37,24 +37,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
keyevent_t encoder_ccw = {
|
keyevent_t encoder_ccw = {
|
||||||
.key = (keypos_t){.row = 12, .col = 0},
|
.key = (keypos_t){.row = 12, .col = 0},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
keyevent_t encoder_cw = {
|
keyevent_t encoder_cw = {
|
||||||
.key = (keypos_t){.row = 12, .col = 1},
|
.key = (keypos_t){.row = 12, .col = 1},
|
||||||
.pressed = false
|
.pressed = false,
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
if (IS_PRESSED(encoder_ccw)) {
|
if (IS_PRESSED(encoder_ccw)) {
|
||||||
encoder_ccw.pressed = false;
|
encoder_ccw.pressed = false;
|
||||||
encoder_ccw.time = (timer_read() | 1);
|
encoder_ccw.time = timer_read();
|
||||||
action_exec(encoder_ccw);
|
action_exec(encoder_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder_cw)) {
|
if (IS_PRESSED(encoder_cw)) {
|
||||||
encoder_cw.pressed = false;
|
encoder_cw.pressed = false;
|
||||||
encoder_cw.time = (timer_read() | 1);
|
encoder_cw.time = timer_read();
|
||||||
action_exec(encoder_cw);
|
action_exec(encoder_cw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -62,11 +64,11 @@ void matrix_scan_user(void) {
|
||||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder_cw.pressed = true;
|
encoder_cw.pressed = true;
|
||||||
encoder_cw.time = (timer_read() | 1);
|
encoder_cw.time = timer_read();
|
||||||
action_exec(encoder_cw);
|
action_exec(encoder_cw);
|
||||||
} else {
|
} else {
|
||||||
encoder_ccw.pressed = true;
|
encoder_ccw.pressed = true;
|
||||||
encoder_ccw.time = (timer_read() | 1);
|
encoder_ccw.time = timer_read();
|
||||||
action_exec(encoder_ccw);
|
action_exec(encoder_ccw);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -37,7 +37,8 @@ void encoder_action_unregister(void) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
|
.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
|
||||||
.pressed = false,
|
.pressed = false,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
encoder_state[index] = 0;
|
encoder_state[index] = 0;
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
@ -49,7 +50,8 @@ void encoder_action_register(uint8_t index, bool clockwise) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
||||||
.pressed = true,
|
.pressed = true,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
|
encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
|
|
@ -98,7 +98,8 @@ void encoder_action_unregister(void) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
|
.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
|
||||||
.pressed = false,
|
.pressed = false,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
encoder_state[index] = 0;
|
encoder_state[index] = 0;
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
@ -110,7 +111,8 @@ void encoder_action_register(uint8_t index, bool clockwise) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
||||||
.pressed = true,
|
.pressed = true,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
|
encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
|
|
@ -37,7 +37,8 @@ static void exec_encoder_action(uint8_t index, bool clockwise, bool pressed) {
|
||||||
keyevent_t encoder_event = (keyevent_t) {
|
keyevent_t encoder_event = (keyevent_t) {
|
||||||
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
||||||
.pressed = pressed,
|
.pressed = pressed,
|
||||||
.time = (timer_read() | 1)
|
.time = timer_read(),
|
||||||
|
.type = KEY_EVENT
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
action_exec(encoder_event);
|
action_exec(encoder_event);
|
||||||
|
|
|
@ -43,20 +43,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||||
};
|
};
|
||||||
#ifdef ENCODER_ENABLE
|
#ifdef ENCODER_ENABLE
|
||||||
keyevent_t encoder1_ccw = {.key = (keypos_t){.row = 4, .col = 4}, .pressed = false};
|
keyevent_t encoder1_ccw = {.key = (keypos_t){.row = 4, .col = 4}, .pressed = false, .type = KEY_EVENT};
|
||||||
|
|
||||||
keyevent_t encoder1_cw = {.key = (keypos_t){.row = 4, .col = 6}, .pressed = false};
|
keyevent_t encoder1_cw = {.key = (keypos_t){.row = 4, .col = 6}, .pressed = false, .type = KEY_EVENT};
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
if (IS_PRESSED(encoder1_ccw)) {
|
if (IS_PRESSED(encoder1_ccw)) {
|
||||||
encoder1_ccw.pressed = false;
|
encoder1_ccw.pressed = false;
|
||||||
encoder1_ccw.time = (timer_read() | 1);
|
encoder1_ccw.time = timer_read();
|
||||||
action_exec(encoder1_ccw);
|
action_exec(encoder1_ccw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_PRESSED(encoder1_cw)) {
|
if (IS_PRESSED(encoder1_cw)) {
|
||||||
encoder1_cw.pressed = false;
|
encoder1_cw.pressed = false;
|
||||||
encoder1_cw.time = (timer_read() | 1);
|
encoder1_cw.time = timer_read();
|
||||||
action_exec(encoder1_cw);
|
action_exec(encoder1_cw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -64,11 +64,11 @@ void matrix_scan_user(void) {
|
||||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
encoder1_cw.pressed = true;
|
encoder1_cw.pressed = true;
|
||||||
encoder1_cw.time = (timer_read() | 1);
|
encoder1_cw.time = timer_read();
|
||||||
action_exec(encoder1_cw);
|
action_exec(encoder1_cw);
|
||||||
} else {
|
} else {
|
||||||
encoder1_ccw.pressed = true;
|
encoder1_ccw.pressed = true;
|
||||||
encoder1_ccw.time = (timer_read() | 1);
|
encoder1_ccw.time = timer_read();
|
||||||
action_exec(encoder1_ccw);
|
action_exec(encoder1_ccw);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue