QMK features that rely on a timer are not working reliably for me on the new
Planck rev6. This includes:
To reproduce an example:
1) Change the default Planck keymap to add "CTL_T(KC_ESC)" to the keymap.
2) Add "#define TAPPING_TERM 300" to config.h for the default keymap.
Once flashed with this, my Planck rev6 will almost always treat the key as ctrl, and not esc. Occasionally (1 in 30 presses maybe) I'll get an actual escape.
I added some debugging statements to process_user_record to print out timer value on a keypress:
static uint16_t press_timer = 0;
switch (keycode) {
case KC_J:
print("message for j\n");
printf("timer elapsed = %d\n", timer_elapsed(press_timer));
press_timer = timer_read();
printf("timer = %d\n", press_timer);
return true;
...
}
The values I'm seeing don't make much sense. The elapsed timings seem to fall between the range of 30000 and 50000, but occasionally low values (low hundreds) pop up. These variances appear regardless of the length of my key presses.
i have the same experience, and tried setting up to #define DEBOUNCE 50000 but did not seem to fix the issue.
@jmagee this fix should be in master now - the problem was related to the timer, unsurprisingly :)
Confirmed: I pulled from master and all is well now! Awesome, thanks @ishtob and @jackhumbert!
Most helpful comment
@jmagee this fix should be in master now - the problem was related to the timer, unsurprisingly :)