summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--quantum/dip_switch.c4
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));
}