Dygmalab / Bazecor

Graphical configurator for Dygma Products
https://dygma.com/
GNU General Public License v3.0
399 stars 90 forks source link

Add "IGNORE_MOD_TAP_INTERRUPT" like in QMK #173

Closed michaelmejaeger closed 3 years ago

michaelmejaeger commented 3 years ago

Is your feature request related to a problem? Please describe. When using home row modifiers but not only then, it may happen, that keys are interpreted as modifiers which happens often when typing fast. If, for example the letter 'f' is the -Key on hold and I quickly press 'f' followed by 'o' it is interpreted as +o in case I am not fast enough to release 'f' before pressing 'o'

Describe the solution you'd like I would like to have an option like "IGNORE_MOD_TAP_INTERRUPT" from QMK which activates the Modifier-functionality only after a configurable timeout. This is probably better described as follows:

That is to say, keys which get pressed while the mod-tap is held down do not automatically activate the modifier of the mod-tap. The mod-tap ignores the interruptions, hence the name.

Now, you might wonder… If mod-taps ignore key presses that happen while it is held down, what do they base themselves on to determine when to activate the modifier and when to send the basic keycode? The answer is that it relies on the tapping term, a user defined period of time which starts when the key gets pressed. Been holding the mod-tap for more than the time defined in the tapping term? Activate the modifier. Pressed the key and then released it before the tapping term expired? That’s the QMK definition of a “tap”, send the letter! https://precondition.github.io/home-row-mods#ignore-mod-tap-interrupt

Describe alternatives you've considered Honestly, I have no clue how to handle this issue without the proposed timeout.

Additional context The use case is very well described here: https://precondition.github.io/home-row-mods#ignore-mod-tap-interrupt

michaelmejaeger commented 3 years ago

Please delete this issue -- I accidentally created it with the wrong user.