diff options
Diffstat (limited to 'quantum/dip_switch.c')
-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 3b5a8dadc9..03c3a56024 100644 --- a/quantum/dip_switch.c +++ b/quantum/dip_switch.c @@ -59,13 +59,13 @@ void dip_switch_read(bool forced) { for (uint8_t i = 0; i < NUMBER_OF_DIP_SWITCHES; i++) { dip_switch_state[i] = !readPin(dip_switch_pad[i]); dip_switch_mask |= dip_switch_state[i] << i; - if (last_dip_switch_state[i] ^ dip_switch_state[i] || forced) { + if (last_dip_switch_state[i] != dip_switch_state[i] || forced) { has_dip_state_changed = true; dip_switch_update_kb(i, dip_switch_state[i]); } } if (has_dip_state_changed) { dip_switch_update_mask_kb(dip_switch_mask); + memcpy(last_dip_switch_state, dip_switch_state, sizeof(dip_switch_state)); } - memcpy(last_dip_switch_state, dip_switch_state, sizeof(&dip_switch_state)); } |