Sequence keys: send regular key if no other key pressed within `hotkey_sequence_time`

I've recently discovered sequence key combos, which are a really nice feature.

I imagine I'd be nice to configure pressing (t, t) to open a new tab. However, this prevents the user from typing a single t, as DOpus waits for hotkey_sequence_time on a single t press and if no other key was pressed, DOpus would do nothing.

Wouldn't it be helpful to change that so that if within hotkey_sequence_time no other key is pressed, DOpus sends/triggers the pressed key.

By setting hotkey_sequence_time to something like 200ms, one could then configure sequences as (t, t) and still type a single t by waiting 200ms.

I’m not sure that makes sense as it’ll make typing difficult. (What if you want to type “tt”, for example?)

You’re better off avoiding single letters on their own for lister hotkeys or the start of lister hotkey sequences.

How about a slight variation on the OP's suggestion.

For all keys in Customize - Keys, let, e.g., "Ctrl+A, A" be one action and "Ctrl+A" be another action, if "A" is not depressed within the allotted time period following "Ctrl+A".

Thanks @Leo.

Your point is very valid. I'm using a QMK-based keyboard and have some experience with single letter hotkeys on it. It really depends on whether the combo is used in regular typing.

I very successfully use c,c mapped to ctrl-c; same for x (cut), v (paste), z (undo) etc.; it helps that all of those are non-destructive or reversible. In contrast, my try to map w,w to alt-f4 was a pain when: when I typed a website starting with www. the window was gone. :wink: Btw, I also successfully use t,t,t (instead of t,t) for ctrl-t to avoid the problem you mentioned - regularly typing two t.

Thus, I do think used with less-common letter-combos, it works very well. So I still think a change to DOpus might be helpful, although I have no strong opinion on the exact implementation. I agree with @jinsight, but also think that a sequence of a,a should send an a (after the timeout) when only one a is pressed.

The default time period is 5 seconds. It seems a bit weird that you'd press Ctrl-A and then after 5 seconds something would happen :slight_smile:

I agree. Changing this should only happen via user-opt-in by explicitly enabling the new behavior.

Maybe the tap dance docs of QMK can give a bit of guidance, in case you consider changing the current behavior. (TAPPING_TERM is similar to Dopus' new hotkey_sequence_time.)

Hit the semicolon key once, send a semicolon. Hit it twice, rapidly -- send a colon. That's just one example of what Tap Dance can do.

The TAPPING_TERM time is the maximum time allowed between taps of your Tap Dance key, and is measured in milliseconds. For example, if [...] set up a Tap Dance key that sends Space on single-tap and Enter on double-tap, then this key will send ENT only if you tap this key twice in less than 175ms. If you tap the key, wait more than 175ms, and tap the key again you'll end up sending Space Space instead.

I agree that this should only happen via user-opt-in by explicitly enabling the new behavior.

With the "Added Preferences / Miscellaneous / Advanced: [Limits] hotkey_sequence_time option, which lets you change the default 5000ms timeout between keypresses when using multi-key hotkey sequences" in 13.16.8, I think 2000ms would work well.