Remove the need for shift key

I wonder if it’s possible to change the behavior of a button by keeping it pressed down for longer. in particular, I wonder if one might hold ‘q’ for a second in order to emit ‘Q’. Completely removing the need to touch the shift key. I have an ergonomic reason for this because I am trying to limit the use of my pinky as much as possible.

Is this possible? Any pointers?

It is possible. But I do not recommend doing this. Believe me, especially if you are touch-typist.
Try “press key” + “some other key” simultaneously = other action. In this case no matter how fast you type, it will work (better than long press).

1 Like

Yes, there are multiple mechanisms to achieve this:

  • Secondary role’s timeout behavior
  • The Autoshift feature
  • Manual macro scripting using delayUntil and ifPlaytime; (This way is not recommended)

For more info search firmware/doc-dev/ at master · UltimateHackingKeyboard/firmware · GitHub and firmware/doc-dev/ at master · UltimateHackingKeyboard/firmware · GitHub

1 Like

Using Autoshift is an option, but will slow you down (when you are a fast typist). Another option is to use a key or easy to reach key combo (best one on the left and right side, to be able to alternate with the character key ) and assign oneshot Shift to it. Then you do not need to hold that key to get the shifted character/ symbol.


Thanks to all who responded!

After Googling a bit I’ve decided to investigate home-row mods some more instead. Feels like this may also do what I am interested in.

Home-row mods is an option as well. Did forget to mention those, because I could not get them to work fine. I use a custom layout where the home-row has a high amount of rolls, that did interfere with the home-row mods and led to false triggers. For a qwerty keyboard that is likely less of a problem I guess. I think key combos have a better chance to get them working correctly. But have not tried it with the UHK yet.