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

  • Metafalls_ (any)
    link
    fedilink
    22 days ago

    Might have something to do with tap hold configuration, though im not sure which one. This applies to almost all key interactions in qmk, so its worth to at least understand the underlying principle.

    You can check the better explanation here

    • Thanks for the link. I am using tap-hold quite a bit.

      I made a mistake going straight for a 36 board. I was a pretty fast touch typer, but I can’t seem to get the settings tweaked such that I’m not either having annoying delays waiting for layer shifts, or getting accidental layer shifts. And because (I know it’s not the most minimal) so many keys have to be in layers, it’s really put a cramp both in my speed, and my confidence (that I typed what I think I typed, especially when I’m transposing).

      I have less trouble with kanata, even with very similar layer configurations. After I got this board configured, I changed my kanata layout to match, and I get much more accuracy out of kanata. I’ve started thinking maybe I should just go to a minimal QMK layout - no layers, etc - and use kanata instead. Or, if there’s a way to extrapolate a QMK config from how kanata’s behavior is programmed.