add support for invoking arbitrary key combinations
In order to maximize the utility of a steno machine in a graphical desktop environment, support must be added for non-printable meta commands, such as ENTER, ESCAPE, ALT, CTRL, SHIFT, TAB, UP_ARROW, DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, PAGE_UP, PAGE_DOWN, HOME, and END. Such meta commands can be used for ALT-TABbing between windows, moving between desktops, navigating web forms, etc.
An example dictionary entry for executing arbitrary key combinations:
{# K1 K2 K3 K4(K5 K6 K7(K8) K9) K10}
This example is probably overkill and too complex to happen in the wild, but it demonstrates all the syntax. Namely, dictionary entries that start with # are considered key combination commands, consecutive key presses are separated by spaces, and simultaneous key presses are nested with parentheses. Thus, the above example can be explained as:
press and release the K1 key
press and release the K2 key
press and release the K3 key
press and hold the K4 key
press and release the K5 key
press and release the K6 key
press and hold the K7 key
press and release the K8 key
release the K7 key
press and release the K9 key
release the K4 key
press and release the K10 key
Blueprint information
- Status:
- Complete
- Approver:
- Joshua Harlan Lifton
- Priority:
- High
- Drafter:
- Joshua Harlan Lifton
- Direction:
- Approved
- Assignee:
- Joshua Harlan Lifton
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Implemented
- Milestone target:
- None
- Started by
- Joshua Harlan Lifton
- Completed by
- Joshua Harlan Lifton