ZevEisenberg / Keyb

Type with one hand on a Mac
MIT License
55 stars 2 forks source link

[Request] Add some configuration for "flip" conditions #23

Open colejd opened 3 years ago

colejd commented 3 years ago

While holding spacebar is great, some folks will likely want some flexibility on how to engage the "flipped" mode. I think you could get some great inspiration from the mechanical keyboard community here.

For example, on my Ergodox EZ, I have the ability to set up the keyboard to change "layers" at the firmware level based on a few criteria. By changing to a new layer, the layout of the rest of the keyboard changes (sound familiar?). For example, I can use a key to toggle the layer until it's pressed again, or I could make it so that the layer is active only when I'm holding the key down. I think it would be helpful to be able to choose a "momentary" or "toggle" mode in this way for Keyb.

In the same way, I can also make any of the keys on my keyboard send any arbitrary combination of keystrokes to the computer. So while it's very helpful to be able to press and hold a key, allowing single presses to engage the original key command, I think it would also be useful to allow "flip" mode to be engaged by a configurable combination of keys. For a practical use case, here's the layout of my keyboard:

I have a bunch of keys under my left thumb that do nothing at the moment. One of those could be the "flip" key. In this case, I could bind one of the thumb keys to spacebar and Keyb would work just fine, but it would be nice to be able to have a configurable macro in Keyb instead.

So, I suppose what I'm asking for is the ability to engage "flip" mode in one of two ways:

  1. By holding a single configurable key, with the option to emit the original keystroke if the key is tapped
    • This is the current functionality, just with a little bit of config in there.
  2. By engaging a macro. This can be either a "toggle" or "momentary" action.
    • This is also a win for accessibility -- some users will have trouble holding a key down while pressing other keys.

Thanks!

ZevEisenberg commented 3 years ago

On your second point, I wonder whether the macOS "sticky keys" accessibility setting works well with Keyb? I haven't tried it, so I have no idea if it operates above or below the level I'm working at, Core Graphics event taps.