action_exec((keyevent_t){
.key = (keypos_t){ .row = r, .col = c },
.pressed = (matrix_row & (1<<c)),
- .time = timer_read()
+ .time = (timer_read() | 1) /* NOTE: 0 means no event */
});
// record a processed key
matrix_prev[r] ^= (1<<c);
}
}
}
- MATRIX_LOOP_END:
+ // call to update delaying layer when no real event
+ action_exec((keyevent_t) {
+ .key = (keypos_t){ .row = 255, .col = 255 }, // assume this key doesn't exist
+ .pressed = false,
+ .time = 0,
+ });
+
+MATRIX_LOOP_END:
#ifdef MOUSEKEY_ENABLE
// mousekey repeat & acceleration