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

  • I might misunderstood some terms here, but I feel like our understanding of what tap-dance is might be different.

    That said, here’s an ilustration of what I got on my Minidox. I also use something similar on my QAZ, although that one got 32 keys instead of 36.

    Edit: actually, I think the latest version got the whole semicolon and Backspace switched. The semicolon button is backspace by default and P + Backspace gives me semicolon. Main reasoning are: rarely use semicolon and fighting the primal urge of pinky finger to backspace is hard (I rotate between sub40s and 40s at least once a week)

    1000116796

    • 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!