add support for invoking arbitrary key combinations

Registered by Joshua Harlan Lifton

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

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.