Sticky keys

AndyJ

02 Mar 2023, 18:16

I've been doing a bunch of reading on the Colemak forum. They have a lot of side-threads on faster keyboarding in general. In one of them, it was mentioned that some of the fastest keyboarders don't use the shift key; for them, it's faster to hit capslock-char-capslock than shift[hold]-char-shift[release].

I doubted that at first, but I was willing to give it a try. The shift key is something I've had difficulty with for a long time. Most shifted letters seem to be on the left side, where the alpha keys are right up against the modifier and tab keys. When I learned to type I used the shift key nearest the letter key; since I have large hands, I wind up cramping my hand up to use my little finger or, almost as often, my thumb on the left shift.
The right side is no problem; the two columns of symbols give plenty of room for my fingers, but the right shift gets used *much* less than the left.

I've been trying to develop the habit of using the right hand for the left side shifted characters and vice versa, but there it has been a slow and frustrating thing. The capslock thing was interesting, but I don't have a capslock key any more; I remapped it to a right control key. I use LShift-RShift to enter capslock mode when needed, and the two-hand keypress take a lot of time compared to a single keypress.

Also, modern windowing users interfaces make heavy use of control-key shortcuts; ZXCV,F,R,S, and Q. All those are on the left side. I've had poor progress learning to use the right control key for those, too.

So... no capslock. But I remembered "sticky" keys. I tried a program called xkbset (I'm running Linux) that didn't work out quite like I expected. It turned out KDE has sticky keys built in, under the keyboard settings. I enabled it.

"Sticky keys" watches the six modifier keys - left and right control, alt, and shift. When you tap one of those keys, the next key you tap will be passed on as control-C, shift-Enter, alt-S, etc.

That turned out to work quite well; instead of cramping my hand up to hold the shift key down, I just tap the shift key and then the letter key. And it's noticeably faster than cramp-and-hold. I am learning to use the tap-modifier thing quickly.

>>However<<, I sometimes have unexpected results while typing, and I've managed to lock the whole KDE desktop up twice in two days; I couldn't even get to a virtual terminal, and had to use the power switch. Arguably KDE shouldn't let some arbitrary keystrokes do that, but given the developers probably don't care, I'm learning not how to fumble around on the modifier keys. The main issue seems to be once you tap a sticky modifier, the next key *will* be ctrl, alt, or shift-whatever; there's no way to abort the next keypress. Or at least, I haven't discovered one.

User avatar
Muirium
µ

02 Mar 2023, 19:18

The Caps Lock double-dance sounds dubious indeed, but sticky modifiers strike me as a credible idea for increasing speed. Simultaneity is a stretch, when you think about it.

We all learn to type in our own way, I suppose. My own dodgy technique is at least pretty well behaved when it comes to Shift hygiene. Though, as I type that, guess which bloody Shift key I just discovered that I use for S!? Quit making me notice my flaws! :lol:

I know nothing about KDE, so I don't even know if this could cause more problems, but escaping modes is exactly what the Escape key is for, surely? I suppose Control Escape etc. may do undesired things, but I'd at least give Esc a shot.

AndyJ

02 Mar 2023, 22:14

I think the KDE developers would just cock an eyebrow and assume a pitying look. "What, you didn't mean to press that modifier key? Maybe you should be using a pencil and paper." They're noticeably unresponsive to feedback from users.

I managed to lock things up with xkbset, too.

I think part of the problem might lie in a conflict between the shift-shift=capslock script, which runs down in xorg.conf. I picked it up off the web; I didn't even know you could assign keys with xorg. I'll command it out and see what happens.

If you're running Linux (or anything with Xorg, I guess) and want simultaneous left and right shift to toggle capslock, it works perfectly... without sticky keys, anyway. I seldom used it, so I won't miss disabling it.

FYI:

add this block to /etc/X11/xorg.conf:

Section "InputClass"
# from Colemak forum; make shift-shift into capslock
Identifier "keyboard defaults"
MatchIsKeyboard "on"
Option "XKbOptions" "shift:both_capslock"
EndSection

AndyJ

03 Mar 2023, 15:56

I found that KDE's keyboard setup had a shift-shift=capslock function. I tried that, and still managed to lock up the desktop twice yesterday. KDE's "sticky keys" setting seemed to enable capslock on its own if you somehow double-tapped a shift key, and then that collided with the shift-shift thing.

Part of it is probably sloppy keyboarding - I think I tend to rest a finger on a modifier key while thinking, and then lift and tap it properly. It looks like a double-tap to KDE, which it seems to interpret as some sort of "spacefn" thing.

For now, I've disabled space-space, and this morning all I have enabled is the sticky setting.

I wish I had a decent keystroke recorder. So far all the ones I've found for X11 either require compiling from source code, or have bizarre output formats, or both. Ideally I want something that also logs the time between keystrokes so I could look at double-tap stuff.

AndyJ

05 Mar 2023, 03:02

No crashes with shift-shift=capslock turned off. I don't understand the reason they interfere with each other, but sticky modifiers are worth a lot more to me than capslock, A couple of days and I'm already using the heck out of that.

AndyJ

15 Mar 2023, 23:52

Two weeks with "sticky keys" enabled. Apparently I have developed a habit of resting fingers on modifier keys like shift, alt, and ctrl while paused. Probably to hold my hands up instead of using the forearm muscles to bend my wrists back. I'm still in the process of breaking that habit.

Sticky keys has become very handy and I use it a lot. I have also been trying to break myself of scrunching my left hand up for ctrl-S and ctrl-V by using my left for ctrl and my right for the command. Still working on that one.

It's also very handy to take shift or ctrl, then the command when the other hand is busy with something, like the trackball or holding a piece of paper.

In KDE, just go into Settings -> Input Devices -> Keyboard -> Advanced and turn sticky keys on. I assume other desktops/OSs have something similar.

User avatar
Muirium
µ

16 Mar 2023, 11:28

AndyJ wrote:
15 Mar 2023, 23:52
I have also been trying to break myself of scrunching my left hand up for ctrl-S and ctrl-V by using my left for ctrl and my right for the command. Still working on that one.
S and V are both left hand keys. Use your right Control key! It’s out there for a reason.

Control’s placement is downright daft anyway, for a prime modifier. Try it up on Caps Lock. I like it there, where it used to be before the Model M shoved it down, much better. Though, granted, my primary modifier is the Command key next to the spacebar: ideal for thumbs.

AndyJ

23 Mar 2023, 21:29

Follow-up:

I'm getting better at not depressing modifier keys when I'm not planning to use them.

I figure five, six more years to break the habit, and I'll have that whipped...

AndyJ

31 Mar 2023, 15:38

Muirium wrote:
16 Mar 2023, 11:28
S and V are both left hand keys. Use your right Control key! It’s out there for a reason.
After a month I'm using the sticky left Shift key about 30% of the time and sticky Control about 10%, And even after going back to a 1.25U PC-XT left Shift key, I'm still crinking my left thumb around to hit the key as often as using my little finger.

I never had a right Control key other than a few years with a Model M and a "compact" USB keyboard, so all my Control-key reflexes are focused on the left Control key.

Probably 95% of Shift key use is the left Shift. It would be a lot more convenient to use the right Shift for a lot of pairs, but the left Shift is do deeply ingrained I haven't been making much headway on that, either.

I'm tempted to comment left Shift and left Control out in xmodmap, but that's the nuclear solution. I'd probably get twitchy in about five minutes. But that might be the only way to break the left key habit.

User avatar
Muirium
µ

31 Mar 2023, 16:47

Actually, you may be onto something…

Is there a way you could force—in software—correct Shift key use? You know what you want to do: press the opposite Shift key for each hand. Let's dig up a diagram:

Image

If you could disable Left Shift for QWERT ASDFG and ZXCVB, you'd be all set. You don't want to learn the other mistake: using Right Shift for YUIOP etc! But letting the computer handle this by (smartly) disabling keys does strike me as a very good idea in your case. That is if you can figure out how to do it.

If you were on a Mac, I'd suggest Karabiner, which is my go to tool for things like this. But you could probably do it with Soarer's converter just as well, or other programmable keyboards.

AndyJ

26 Jul 2023, 04:26

I gave it almost five months, then turned off the sticky keys.

The main problem was if I pressed a modifier key, then the next keystroke was a modifier. I backspaced over a lot of unwanted caps, and found that most web browsers are loaded with control-key shortcuts you can't turn off.

The obvious fix was "don't press a modifier unless you intend to use it", but that turned out to be hard to unlearn. Plus, with big hands and arthritis, I'd sometimes hit the left control key - right there by the A key - anyway, and I lost of lot of half-finished messages as browser tabs got closed accidentally or weird stuff happened.

Even if you were aware you tapped the modifier, the obvious action - tapping it again to toggle it off - didn't work.

The sticky modifiers were very handy when I wasn't hitting them accidentally.

Well, I gave it a fair try. I still think it's a useful thing, it just didn't work for me.

Post Reply

Return to “Keyboards”