keyboardio / Chrysalis

Graphical configurator for Kaleidoscope-powered keyboards
https://github.com/keyboardio/Chrysalis#chrysalis
GNU General Public License v3.0
497 stars 64 forks source link

Dynamic Macros don't work with OneShot keys #1137

Open TreTuna opened 2 years ago

TreTuna commented 2 years ago

Describe the bug Using OneShot Modifier keys in Dynamic Macros does not seem to work.

Part of my layout involves macros that create OneShot Modifier Chords. I used to build these manually in the firmware, but I'm trying to move them to Dynamic Macros in Chrysalis. However, this doesn't seem to work out properly.

To Reproduce - Method #1 Steps to reproduce the behavior:

  1. Create a new Dynamic Macro
  2. Add a tap on a OneShot Shift key as first step
  3. Add a tap on a letter key as second step
  4. Assign to a key
  5. Save to the board
  6. Tap the key

Expected behavior With a OneShot Shift and a Letter key, you should expect a capital letter to be typed.

To Reproduce - Method #2 Second method (for the buttons I'm trying to make):

  1. Create a Dynamic Macro
  2. Add a step to tap OneShot Shift
  3. Add a step to tap OneShot Command
  4. Add a step to tap OneShot Control
  5. Add a step to tap OneShot Alt/Option
  6. Assign to a key
  7. Save to the board
  8. Tap the key

Expected behavior Should produce a OneShot "Hyper" key where all modifiers are in OneShot status waiting for a button to be pressed. If double tapped, all modifiers should go into "locked" position until canceled.

Screenshots Will add some when I'm back at my desk with my board.

Desktop (please complete the following information):

Additional context Add any other context about the problem here.

gedankenexperimenter commented 2 years ago

OneShot keys won't work from inside a Macro, but there's no need to use them that way. A combo OneShot modifier is still possible with automatic OneShot modifiers (or by various means with custom firmware). Because OneShot uses physical key addresses, there's really no way to make one work from inside a macro, so OneShot keys should probably not be selectable for Macro steps.