21 June, 2019

Single Stroke Commands

Most people control their computer like a first-person shooter computer game. With one hand on the keyboard and the other flipping back and forth between computer and mouse. It's a point-and-click game for them, played for a living wage, and frankly most people are happy to let their time slowly drain away in just this way. They type a bit,  let the computer catch its breath whilst switching to the mouse, drift the pointer over to the next target, click it, give the computer another nap while swinging their hand back to keyboard, type again at long last, and repeat 1,500 times per day.

Others are not so easily amused.

These people, the lazy and hard to please folk who demand their computer take no pointless breaks, control their computers like a guitar, performing several actions at once. They never take their hands off the keyboard, and issue complex commands with a stroke or two. They compose a new message, switch from email to browser, create a new tab, log on to a remote computer, switch to an ssh prompt, issue commands, copy configuration lines to a text editor, and get hacking without "lifting" at any point, at full throttle throughout.

This is the magic of "keyboard shortcuts", and they're almost enough to run a computer at full throttle, but even the mighty shortcut keys have a problem. Mere mortals cannot use them without lengthening their fingers another inch or so and learning to twist them with precision across two rows of keys to find distant Alt, Super, and Function keys in all their critical combinations and sequences.

Only stenographers can truly run at full throttle. Only stenographers have every keyboard shortcut at their fingertips.

Download the Single Stroke Commands Dictionary

Using the Single Stroke Commands dictionary within Plover, every keyboard shortcut is under your fingers in the home position. Install the dictionary per usual procedures, then hit the following key combinations to activate each keyboard shortcut.

To hit the 4 arrow keys:
KPR-FRLG is [Up] as {#Up}{^}{>}
TWH-FRLG is [Down] as {#Down}{^}{>}
SK-FRLG is [Left] as {#Left}{^}{>}

WR-FRLG is [Right] as {#Right}{^}{>}

To hit page up and page down with home and end keys
PHR-FRLG is [Page_Up] as {#Page_Up}{^}{>}
WHR-FRLG is [Page_Down] as {#Page_Down}{^}{>}
KPWR-FRLG is [Home] as {#Home}{^}{>}
TPWH-FRLG is [End] as {#End}{^}{>}

To hit named action keys
TKP-FRLG is [Escape] as {#Escape}{^}{>}
TKW-FRLG is [Tab] as {#Tab}{^}{-|}

SP-FRLG is [Space] as {#Space}{^}{>}
SHR-FRLG is [Return] as {#Return}{^}{-|}

Any of the keys above can be combined with modifiers, along with any fingerspelled letter key. So, you can hit "[Shift]-[End]" or "[Super]-[T]" or "[Control]-[Shift]-[Alt]-[Tab]". The following diagrams show how to use the right hand to add modifiers to any key hit with the left hand, be it a shortcut key or a simple letter.
?-FRLG is [?] as {#?}{^}{-|}

?*FRLG is [Control]+[?] as {#Control_L(?)}{^}{-|}
?-FRBLG is [Shift]+[?] as {#Shift_L(?)}{^}{-|}
?-FRLGTS is [Alt]+[?] as {#Alt_L(?)}{^}{-|}
?-TSDZ is [Super]+[?] as {#Super_L(?)}{^}{-|}
?*FRBLG is [Control]+[Shift]+[?] as {#Control_L(Shift_L(?))}{^}{-|}
?*FRLGTS is [Control]+[Alt]+[?] as {#Control_L(Alt_L(?))}{^}{-|}
?*FRBLGTS is [Control]+[Shift]+[Alt]+[?] as {#Control_L(Shift_L(Alt_L(?)))}{^}{-|}
?-FRBLGTS is [Shift]+[Alt]+[?] as {#Shift_L(Alt_L(?))}{^}{-|}
?-BTSDZ is [Shift]+[Super]+[?] as {#Shift_L(Super_L(?))}{^}{-|}
?-PTSDZ is [Alt]+[Super]+[?] as {#Alt_L(Super_L(?))}{^}{-|}
?-PBTSDZ is [Shift]+[Alt]+[Super]+[?] as {#Shift_L(Alt_L(Super_L(?)))}{^}{-|}

Hitting the F1, F2, etc. function keys, you hit the simple navigation pattern of -FRLG with the appropriate left-handed number key. You can also add Control, Shift, and Alt to these function key presses. To hit the function keys from 6-9, you use the left hand simple navigation pattern of TKHR-, along with any desired modifier.

1-6R8G is [F1] as {#F1}{^}{>}
2-6R8G is [F2] as {#F2}{^}{>}
3-6R8G is [F3] as {#F3}{^}{>}
4-6R8G is [F4] as {#F4}{^}{>}
56R8G is [F5] as {#F5}{^}{>}
106R8G is [F10] as {#F10}{^}{>}
14R-6R8G is [F11] as {#F11}{^}{>}
12-6R8G is [F12] as {#F12}{^}{>}

2K4R-6 is [F6] as {#F6}{^}{>}
2K4R-7 is [F7] as {#F7}{^}{>}
2K4R-8 is [F8] as {#F8}{^}{>}
2K4R-9 is [F9] as {#F9}{^}{>}

The "[Super]" key is known to Windows users as the "Windows Key" or "Win Key". The "[Super]+" combination is powerful. Hitting -TSDZ with any number 1-5 immediately switches focus to the numbered application as pinned to the Windows Taskbar. You can add Shift or Alt to the Super+number combination. To hit the numbers from 6-9, use the combination STK-.
1-9SDZ is [Super]+[1] as {#Super_L(1)}
2-9SDZ is [Super]+[2] as {#Super_L(2)}
3-9SDZ is [Super]+[3] as {#Super_L(3)}
4-9SDZ is [Super]+[4] as {#Super_L(4)}
59SDZ is [Super]+[5] as {#Super_L(5)}

12K-6 is [Super]+[6] as {#Super_L(6)}
12K-7 is [Super]+[7] as {#Super_L(7)}
12K-8 is [Super]+[8] as {#Super_L(8)}
12K-9 is [Super]+[9] as {#Super_L(9)}

There are only 2 more goodies at this point: repeat commands and strokable help.

Repeat Commands
Stroke any number from 2 to 20, 30, 40, or 50 plus the asterisk and then a command stroke, and that stroke will be submitted that number of times. #H*/KPR-FRLG (which is seen by Plover as 4*/KPR-FRLG), for example, will send "[Up]" 4 times, and you will go up 4 lines.

Strokable Help
Stroking 0* and then a command stroke will print out what that stroke does, like:
Stroking 1* and then a command stroke will print out exactly the definitions you see above, like:
    KPR-FRLG is [Up] as {#Up}{^}{>}

I expect this will prove most useful for those who want to create a phonetic brief for an otherwise hard to remember stroke. Of course, I'd rather give the user a way to type the command they want and have the dictionary print out how to stroke it, but the world doesn't always give us our druthers. To make up that lack, I've written this document, and hope it proves helpful to you.

There are weaknesses in this system. Some are intrinsic and others can be repaired. It's intrinsic to the shortcut key system itself that many are hard to find, to learn, and to remember. I recommend learning them one program at a time and only at a speed at which you can add them to your regular, daily usage without causing excessive stress. A repairable weakness is how the key combinations can be daunting. Anyone with the motivation could come up with a more easily memorable, phonetic name for each combination they use frequently.

If I can help, drop me a line.


Download the Single Stroke Commands Dictionary

Mouse vs keyboard: http://facweb.cs.depaul.edu/sjost/csc423/examples/anova/efficiency.pdf
This study compares the tedious alt+letter+letter method of keyboard navigation. The single stroke commands dictionary allows you to go faster than this document understands. Still, it's a good bit of work.

Links to loads of keyboard shortcuts: https://support.microsoft.com/en-us/help/12445/windows-keyboard-shortcuts

Create your own shortcuts:  https://www.laptopmag.com/articles/create-keyboard-shortcuts-windows-10