I assume this is QMK, because changing the settings clears or introduces the issue. I’m using Vial for the programming/configuration.
I have a key configured tap-dance, like many others: - on tap, and ctrl on hold. The issue is that most of the time when I type something like -p
, I get only the -
. Then, the next time I type p
, I get 2 of them. So something like this will happen:
I type foo -p bar baz
, but don’t notice the p
is missing until after baz
, cursor left and type p
again, and end up with -pp
Most of my keys are tap-dance of some pattern: <char> on tap, layer shift in hold, <char> on tap-hold. I’ve noticed this buffered character after -
on other characters; it isn’t just p
. Changing the timeout does affect the frequency, but doesn’t entirely eliminate it. I haven’t noticed it on any other combo, although they’re all of the same pattern; it seems to be only happening with the -/ctrl tap-dance. Removing the multitap on -
eliminates the issue.
This is my first QMK. I’d been using an Ergodox for years, and kmonad
on my laptop for a year or so, although I recently switched to kanata
(fantastic piece of software, incidentally), so I’m more or less familiar with the world of layers, multi-tap/tap-dance, combos, and so on. This one has me stumped, though.
I’ve checked and there’s no combo defined that involves dash. I’ve never created a QMK macro, but it occurs to me that I didn’t check if there are any defined.
Does anyone have a suggestion of how I can debug this? Could there be some bug, some bit that I accidentally set, that’s causing this? Is there some QMK feature that does exactly this thing, and I’ve somehow enabled it? I’ve power cycled the keyboard, although I haven’t yet tried a hard or factory reset.
Any ideas would be appreciated!
Edit corrected “multi-tap” to “tap-dance”, as QMK calls it the one thing and not t’other
Oh, Yeah. I’m just calling it what Vial/QMK calls it. I don’t think the *Dox’s use vanilla QMK - they have their own proprietary firmware and configuration format (ZSA), although I think it is based on QMK. I did a bunch of research on this once because I got tired of having to use Oryx and wanted to use a desktop app like Vial, and eventually found out they’re incompatible.
Tap-dance in QMK terms is different behavior of a key based on whether it’s tapped or held; there’s a hold timeout where it can go into repeat if no other key is typed while it’s held, and it can also be configured to have different behavior on double-tap and tap+hold. I haven’t yet set up any double-taps, but I used them a lot in my ErgoDox because of all of the extra in the middle.
Thanks for the screen cap!