Chrysalis icon indicating copy to clipboard operation
Chrysalis copied to clipboard

Add timeout for "Layer shift for next action" and "Sticky" modifiers

Open stevep99 opened this issue 3 years ago • 1 comments
trafficstars

Is your feature request related to a problem? Please describe. Chrysalis currently supports changing the layer or modifier state for the next action. These are often known as OSMs or sometimes "sticky" keys. A similar feature exists for layers, called "Layer shift for next action", which makes a layer active for the next keypress only. However what's missing is the ability to have the layer shift or modifier auto-cancel if the subsequent key press does not happen within a reasonable period of time. (This time period should be user configurable, typically around 1 or 1½ seconds). This feature is needed as it allows the user to be sure temporary layer/modifiers are cleared by waiting a short period of time, in the event of accidental or uncertain key presses. NB also, this feature exists in QMK as the "ONESHOT_TIMEOUT" parameter.

Describe the solution you'd like A configurable timeout setting in the Chrysalis editor, which would apply to all keys configured with "OSM/Sticky" or as "Layer shift for next action".

Describe alternatives you've considered Currently no solution (other than using QMK where possible)

stevep99 avatar Dec 31 '21 13:12 stevep99

The feature exists in Kaleidoscope, using the OneShot.setTimeout() method. The timeout is 2.5 seconds by default, but you can compile a custom sketch and set it to something lower.

Mind you, exposing this setting via Chrysalis is something we want to do, indeed.

algernon avatar Dec 31 '21 14:12 algernon

With Chrysalis 0.11.9, and Chrysalis-Firmware-Bundle 0.90.6, this is now complete: Chrysalis has the UI bits, Kaleidoscope has the plugin, and the firmware bundle has it enabled (for the Model100 and the Atreus).

algernon avatar Oct 26 '22 19:10 algernon