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
Personally, most of my 36 and below boards are programmed such that iβd rely on tap dance less. Iβd rather put it in a layer, explode it inside the layer for things like parantheses and brackets, or arrange a combo for things that are frequently used but cannot be assigned into a designated first layer.
Partially because I already have a layout that works on a bigger 40% boards, but another factor of it is how awkward tapdance have always felt to me.
As for the kanata thing: canβt say I can comment further as Iβve never used it before.
I tend to use tap-dance for modifiers, like my thumb Esc is also Alt, because one I tap (and never hold) and the other I always hold (and has no use taped). Having (e.g.) a key only dedicated to Alt is a wasted key; Alt isnβt a good key to have on a layer; and it would be not only annoying to have to tap a layer switch key to get to Alt, and even then thereβd be a chording issue where you still need to have access to all your keys and Alt so you can type chords like Ctrl-Alt-X.
How do you manage the four(-ish) modifier keys without tap-dance, or having dedicated, single-purpose keys for them? On a 36, thatβs 11% of the keyboard dedicated to modifiers (Ctrl, Shift, Meta, Alt) at best, or 19% if you make use of the fact that there are left/right distinctions for three of those keys (is there a Right Meta?).
Honestly, Iβd be happy with a different solution. Modifier keys are hard enough; I still have trouble with accuracy with only three thumb keys. I had an ErgoDox for years and never really used all twelve of the thumb keys; it was just too hard to reliable hit that inner column.
For that matter, how do you do layer switches without tap dance, or dedicated keys? Are you using momentary layers, or layer switch? Are they dedicated layer keys, and if so, where are your modifiers keys and things like space/return? Can you post your config so I can load it in Vial and look at it?
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)
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!