keycombiner icon indicating copy to clipboard operation
keycombiner copied to clipboard

Allow to specify a specific modifier key (left VS right)

Open tkainrad opened this issue 2 years ago • 4 comments

Requested via integrated Send Feedback button

A user would like to force the use of modifier keys on the opposite side of the keyboard.

While relatively simple to implement in principle, this would require significant modifications to the key input handling code.

tkainrad avatar Oct 20 '21 06:10 tkainrad

Hi Thomas -- I was the one who emailed you this feature request. First off, thank you for the quick reply and for this software! It fills a long vacant niche in the typing tutor software space. I was very excited to stumble upon it.

Regarding my reasoning for the request: I am strongly left handed and I tend to use only the left modifier keys with my left pinky. I've been typing for a long time and am a pretty good touch typist, but I've noticed when I physically can't look at my keyboard, my touch typing breaks down for keys and key combinations that require my right pinky. Most typing courses recommend using both shift keys to maximize error-free typing speed. Studies have shown that the fastest typists maximize the use of both hands and minimize global hand motion: https://doi.org/10.1145/3173574.3174220 (See screenshot below for more on the eight different kinds of typist from that paper).

A software program that could enforce opposite-hand modifier key use would be useful for folks like me who have developed sub-optimal typing habits. Indeed, it could help anyone who wants to "level up" to the eighth and faster kind of typist: "Fast Rollover Typist". I've been looking for such a program for years -- KeyCombiner is the first to even come close.

Here are a few threads from others who have had the same thought over the years (along with a diversity of strongly held opinions in the comments, of course):

https://ask.metafilter.com/128229/I-need-to-Shift-into-a-higher-plane-of-typing https://www.reddit.com/r/MechanicalKeyboards/comments/2p98kx/fast_typers_of_this_subreddit_when_do_you_use_the/

Screenshot of Page 9 from the paper referenced above:

image

agt24 avatar Oct 20 '21 14:10 agt24

Thanks for this detailed explanation of your use case! I will be sure to read that paper, looks very interesting.

I will think about your request. Please don't expect it to be done soon. There are quite a few things to sort out first, and it doesn't fit particularly well with most of what KeyCombiner does.

While KeyCombiner practice is indeed a mix of shortcut memorization tool and typing trainer, as outlined in one of my first blog posts about it most people use it for memorizing shortcuts.
With keyboard shortcuts, it can actually be a benefit if you are accustomed to using the modifier keys on the same side of the keyboard as the shortcut's non-modifier key. You can then use the shortcut while having the other hand on the mouse.

Implementation-wise, it would require big adaptions to my key-press handling code. At the bottom layer that decides if a shortcut was pressed or not, there is currently no way to distinguish between left or right modifier keys. To be able to determine automatically on which side of the keyboard a key is, I would have to consider different keyboard layouts. I am sure there are a few other issues that I can't think of right now.

Of course, this doesn't mean that it won't be a natural addition to KeyCombiner some time from now. KeyCombiner already has many features that I never thought I would build when I started.

tkainrad avatar Oct 21 '21 05:10 tkainrad

Thanks, Thomas. Definitely no expectations here. I appreciate you considering it and if it makes sense down the road -- great!

agt24 avatar Oct 21 '21 12:10 agt24

I would like to be able to differentiate between the left shift key and the right shift key so that I know for certain that I'm using the "correct" shift key. At the moment KeyCombiner treats both shift keys equally. My "Uncommon Keys (UK)" collection has a shortcut for "Left Shift" and a shortcut for "Right Shift" with both pointing to the same key. In normal situations the use of for either key (left shift key, right shift key) is reasonable. However, for training there is value in some situations to be given an error when the "wrong" shift key is pressed.

jjbushby avatar Sep 02 '23 04:09 jjbushby