diff options
-rw-r--r-- | quantum/dip_switch.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/quantum/dip_switch.c b/quantum/dip_switch.c index ab74222d1..66c166ce4 100644 --- a/quantum/dip_switch.c +++ b/quantum/dip_switch.c | |||
@@ -52,13 +52,13 @@ void dip_switch_read(bool forced) { | |||
52 | for (uint8_t i = 0; i < NUMBER_OF_DIP_SWITCHES; i++) { | 52 | for (uint8_t i = 0; i < NUMBER_OF_DIP_SWITCHES; i++) { |
53 | dip_switch_state[i] = !readPin(dip_switch_pad[i]); | 53 | dip_switch_state[i] = !readPin(dip_switch_pad[i]); |
54 | dip_switch_mask |= dip_switch_state[i] << i; | 54 | dip_switch_mask |= dip_switch_state[i] << i; |
55 | if (last_dip_switch_state[i] ^ dip_switch_state[i] || forced) { | 55 | if (last_dip_switch_state[i] != dip_switch_state[i] || forced) { |
56 | has_dip_state_changed = true; | 56 | has_dip_state_changed = true; |
57 | dip_switch_update_kb(i, dip_switch_state[i]); | 57 | dip_switch_update_kb(i, dip_switch_state[i]); |
58 | } | 58 | } |
59 | } | 59 | } |
60 | if (has_dip_state_changed) { | 60 | if (has_dip_state_changed) { |
61 | dip_switch_update_mask_kb(dip_switch_mask); | 61 | dip_switch_update_mask_kb(dip_switch_mask); |
62 | memcpy(last_dip_switch_state, dip_switch_state, sizeof(dip_switch_state)); | ||
62 | } | 63 | } |
63 | memcpy(last_dip_switch_state, dip_switch_state, sizeof(&dip_switch_state)); | ||
64 | } | 64 | } |