summaryrefslogtreecommitdiff
path: root/quantum/encoder.c
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/encoder.c')
-rw-r--r--quantum/encoder.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/quantum/encoder.c b/quantum/encoder.c
index 8fb87281c2..59133f872a 100644
--- a/quantum/encoder.c
+++ b/quantum/encoder.c
@@ -59,9 +59,13 @@ static uint8_t thisHand, thatHand;
59static uint8_t encoder_value[NUMBER_OF_ENCODERS] = {0}; 59static uint8_t encoder_value[NUMBER_OF_ENCODERS] = {0};
60#endif 60#endif
61 61
62__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) { return true; } 62__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) {
63 return true;
64}
63 65
64__attribute__((weak)) bool encoder_update_kb(uint8_t index, bool clockwise) { return encoder_update_user(index, clockwise); } 66__attribute__((weak)) bool encoder_update_kb(uint8_t index, bool clockwise) {
67 return encoder_update_user(index, clockwise);
68}
65 69
66void encoder_init(void) { 70void encoder_init(void) {
67#if defined(SPLIT_KEYBOARD) && defined(ENCODERS_PAD_A_RIGHT) && defined(ENCODERS_PAD_B_RIGHT) 71#if defined(SPLIT_KEYBOARD) && defined(ENCODERS_PAD_A_RIGHT) && defined(ENCODERS_PAD_B_RIGHT)
@@ -113,7 +117,7 @@ static bool encoder_update(uint8_t index, uint8_t state) {
113 changed = true; 117 changed = true;
114 encoder_update_kb(index, ENCODER_COUNTER_CLOCKWISE); 118 encoder_update_kb(index, ENCODER_COUNTER_CLOCKWISE);
115 } 119 }
116 if (encoder_pulses[i] <= -resolution) { // direction is arbitrary here, but this clockwise 120 if (encoder_pulses[i] <= -resolution) { // direction is arbitrary here, but this clockwise
117 encoder_value[index]--; 121 encoder_value[index]--;
118 changed = true; 122 changed = true;
119 encoder_update_kb(index, ENCODER_CLOCKWISE); 123 encoder_update_kb(index, ENCODER_CLOCKWISE);
@@ -140,7 +144,9 @@ bool encoder_read(void) {
140#ifdef SPLIT_KEYBOARD 144#ifdef SPLIT_KEYBOARD
141void last_encoder_activity_trigger(void); 145void last_encoder_activity_trigger(void);
142 146
143void encoder_state_raw(uint8_t* slave_state) { memcpy(slave_state, &encoder_value[thisHand], sizeof(uint8_t) * NUMBER_OF_ENCODERS); } 147void encoder_state_raw(uint8_t* slave_state) {
148 memcpy(slave_state, &encoder_value[thisHand], sizeof(uint8_t) * NUMBER_OF_ENCODERS);
149}
144 150
145void encoder_update_raw(uint8_t* slave_state) { 151void encoder_update_raw(uint8_t* slave_state) {
146 bool changed = false; 152 bool changed = false;