Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/abkwreu/plover-left-hand-modifiers


https://github.com/abkwreu/plover-left-hand-modifiers

plover

Last synced: about 10 hours ago
JSON representation

Awesome Lists containing this project

README

        

# Abby's Left Hand Modifiers Dictionary

## Table Of Contents

- [Abby's Left Hand Modifiers Dictionary](#abbys-left-hand-modifiers-dictionary)
- [Table Of Contents](#table-of-contents)
- [Design](#design)
- [Modifiers](#modifiers)
- [Single modifier keys](#single-modifier-keys)
- [Modifier key combinations](#modifier-key-combinations)
- [Keys](#keys)
- [Letters](#letters)
- [Numbers](#numbers)
- [Function Keys](#function-keys)
- [Numpad](#numpad)
- [Symbol keys](#symbol-keys)
- [Navigation keys](#navigation-keys)
- [Other keys](#other-keys)
- [Only modifiers](#only-modifiers)
- [Cancel](#cancel)
- [Examples](#examples)

## Design

This dictionary is inspired by and can essentially be seen as a combination of
[Emily's Modifiers](https://github.com/EPLHREU/emily-modifiers) and
[Achim Siebert's Left Hand Modifier Keys](http://www.openstenoproject.org/stenodict/dictionaries/lh_modifier_keys.html).
Essentially, it allows every shortcut to be typed in two strokes and using only
the left hand. As such, only the following keys are used:

![Key layout](img/all.png)

In some combinations, the asterisk key is used. This requires the asterisk key
to be pressed using the left hand, which should be fine on most hobbyist writers
but may be a problem on some professional writers.

## Modifiers

The first of the two strokes in each combination is used to specify the modifier
keys that should be pressed. It is also possible to not press any modifier keys,
since some applications have shortcuts that are activated by just a single
keypress.

### Single modifier keys

Patterns for single modifier keys.

| Stroke | Modifier | Explanation |
| ------------------ | ----------------------- | ------------------------------------ |
| ![](img/ctrl.png) | Control | **C**ontro**L** |
| ![](img/alt.png) | Alt | **ALT** (reversed) |
| ![](img/shift.png) | Shift | **SH**ift |
| ![](img/super.png) | Super (Windows/Command) | Purely positional, no phonetic basis |

### Modifier key combinations

Modifier key combinations are made by stacking the chords for individual
modifier keys on top of each other, with three exceptions:

- The Ctrl + Alt + Super combination is given `TKPWHRAO`, with an additional `O`
due to a conflict with `TKPWHRA` for Alt + Super.
- The Ctrl + Shift + Super combination is given `SKPWHRO`, with an additional
`O` due to a conflict with `SKPWHR` for Shift + Super.
- The Ctrl + Alt + Shift + Super combination is given `STKPWHRAO`, with an
additional `O` due to a conflict with `STKPWHRA` for Alt + Shift + Super.

| Stroke | Modifiers |
| --------------------------------- | -------------------------- |
| ![](img/alt-shift.png) | Alt + Shift |
| ![](img/ctrl-alt.png) | Ctrl + Alt |
| ![](img/ctrl-shift.png) | Ctrl + Shift |
| ![](img/ctrl-alt-shift.png) | Ctrl + Alt + Shift |
| ![](img/ctrl-super.png) | Ctrl + Super |
| ![](img/alt-super.png) | Alt + Super |
| ![](img/ctrl-alt-super.png) | Ctrl + Alt + Super |
| ![](img/shift-super.png) | Shift + Super |
| ![](img/ctrl-shift-super.png) | Ctrl + Shift + Super |
| ![](img/alt-shift-super.png) | Alt + Shift + Super |
| ![](img/ctrl-alt-shift-super.png) | Ctrl + Alt + Shift + Super |

The pattern for no modifier keys is `TKPWHR`. This presses a key specified in
the second stroke without any additional modifier keys.

| Stroke | Modifiers |
| ------------------------- | --------- |
| ![](img/no-modifiers.png) | None |

## Keys

The second of the two strokes in each combination specifies what key to press
along with the modifiers (if any) selected above.

### Letters

The patterns for letter keys are the same as the fingerspelling pattern for that
letter (without the asterisk), except for E, I, and U which have been given
special patterns so they fit on the left hand. (Using `E`, `EU`, and `U` for E,
I, and U still work, but are not shown below.)

| Stroke | Letter |
| --------------- | --------------- |
| ![](img/a.png) | `A` |
| ![](img/b.png) | `B` |
| ![](img/c.png) | `C` |
| ![](img/d.png) | `D` |
| ![](img/e.png) | `E` |
| ![](img/f.png) | `F` |
| ![](img/g.png) | `G` |
| ![](img/h.png) | `H` |
| ![](img/i.png) | `I` |
| ![](img/j.png) | `J` |
| ![](img/k.png) | `K` |
| ![](img/l.png) | `L` |
| ![](img/m.png) | `M` |
| ![](img/n.png) | `N` |
| ![](img/o.png) | `O` |
| ![](img/p.png) | `P` |
| ![](img/q.png) | `Q` |
| ![](img/r.png) | `R` |
| ![](img/s.png) | `S` |
| ![](img/t.png) | `T` |
| ![](img/u.png) | `U` |
| ![](img/v.png) | `V` |
| ![](img/w.png) | `W` |
| ![](img/x.png) | `X` |
| ![](img/y.png) | `Y` |
| ![](img/z.png) | `Z` |
| ![](img/z2.png) | `Z` (alternate) |

### Numbers

When `AO` is held, `STPH` will act as binary number input for numbers 0-9.

| Stroke | Number |
| -------------- | ------ |
| ![](img/0.png) | `0` |
| ![](img/1.png) | `1` |
| ![](img/2.png) | `2` |
| ![](img/3.png) | `3` |
| ![](img/4.png) | `4` |
| ![](img/5.png) | `5` |
| ![](img/6.png) | `6` |
| ![](img/7.png) | `7` |
| ![](img/8.png) | `8` |
| ![](img/9.png) | `9` |

### Function Keys

When `R` is held in addition to the pattern for any number 1-12, the
corresponding function key will be used.

| Stroke | Function Key |
| ---------------- | ------------ |
| ![](img/f1.png) | `F1` |
| ![](img/f2.png) | `F2` |
| ![](img/f3.png) | `F3` |
| ![](img/f4.png) | `F4` |
| ![](img/f5.png) | `F5` |
| ![](img/f6.png) | `F6` |
| ![](img/f7.png) | `F7` |
| ![](img/f8.png) | `F8` |
| ![](img/f9.png) | `F9` |
| ![](img/f10.png) | `F10` |
| ![](img/f11.png) | `F11` |
| ![](img/f12.png) | `F12` |

### Numpad

When `*` is held in addition to the pattern for any number, the number key on
the numpad will instead be used.

| Stroke | Number |
| ----------------- | ------------ |
| ![](img/kp_0.png) | `0` (numpad) |
| ![](img/kp_1.png) | `1` (numpad) |
| ![](img/kp_2.png) | `2` (numpad) |
| ![](img/kp_3.png) | `3` (numpad) |
| ![](img/kp_4.png) | `4` (numpad) |
| ![](img/kp_5.png) | `5` (numpad) |
| ![](img/kp_6.png) | `6` (numpad) |
| ![](img/kp_7.png) | `7` (numpad) |
| ![](img/kp_8.png) | `8` (numpad) |
| ![](img/kp_9.png) | `9` (numpad) |

### Symbol keys

| Stroke | Key | Explanation |
| ------------------------- | --- | --------------------- |
| ![](img/period.png) | `.` | **P**e**R**iod |
| ![](img/comma.png) | `,` | **C**o**MM**a |
| ![](img/slash.png) | `/` | **SL**ash |
| ![](img/backslash.png) | `\` | **B**ack**SL**ash |
| ![](img/semicolon.png) | `;` | **S**emi**C**o**L**on |
| ![](img/apostrophe.png) | `'` | **QUO**te |
| ![](img/bracketleft.png) | `[` | **B**racket **L**eft |
| ![](img/bracketright.png) | `]` | **B**racket **R**ight |
| ![](img/minus.png) | `-` | **D**as**H** |
| ![](img/equal.png) | `=` | e**QUA**ls |
| ![](img/grave.png) | `ˋ` | **GR**ave |

### Navigation keys

Holding down `A` (for **a**rrow) will cause `PKWR` to act as arrow keys.

| Stroke | Key |
| ------------------ | ----- |
| ![](img/up.png) | Up |
| ![](img/down.png) | Down |
| ![](img/left.png) | Left |
| ![](img/right.png) | Right |

Holding down `*` in addition to the stroke for any arrow key will cause the keys
to act as page up, page down, home, and end.

| Stroke | Key |
| ------------------ | --------- |
| ![](img/prior.png) | Page Up |
| ![](img/next.png) | Page Down |
| ![](img/home.png) | Home |
| ![](img/end.png) | End |

### Other keys

| Stroke | Key | Explanation |
| ------------------------ | ------------ | ------------------------------ |
| ![](img/caps_lock.png) | Caps Lock | **C**aps **L**ock + asterisk |
| ![](img/scroll_lock.png) | Scroll Lock | **SC**roll **L**ock + asterisk |
| ![](img/num_lock.png) | Num Lock | **N**um lock + asterisk |
| ![](img/space.png) | Space | **SP**ace |
| ![](img/return.png) | Return | **ENT**e**R** |
| ![](img/tab.png) | Tab | **T**a**B** |
| ![](img/backspace.png) | Backspace | **B**ack**S**pace |
| ![](img/delete.png) | Delete | **D**e**L**ete |
| ![](img/escape.png) | Escape | e**SCA**pe |
| ![](img/insert.png) | Insert | i**NS**ert |
| ![](img/menu.png) | Menu | **M**enu + asterisk |
| ![](img/print.png) | Print Screen | **SC**reen **PR**int |

### Only modifiers

The pattern `TPHO` ("no") allows only modifier keys to be pressed, with no other
keys included.

| Stroke | Key |
| --------------- | ---- |
| ![](img/no.png) | None |

### Cancel

If you pressed a modifier key pattern on accident, you can use `SKPH` to cancel
it.

| Stroke | Key |
| ------------------- | ------ |
| ![](img/cancel.png) | Cancel |

## Examples

| Strokes | Keys Pressed | Use |
| ------------------------------------------------- | ------------------- | ------------------------------- |
| ![](img/ctrl.png)
![](img/a.png) | Ctrl + A | Select all (Windows or Linux) |
| ![](img/super.png)
![](img/a.png) | Super + A | Select all (Mac) |
| ![](img/alt.png)
![](img/f4.png) | Alt + F4 | Close window (Windows or Linux) |
| ![](img/ctrl-alt.png)
![](img/t.png) | Ctrl + Alt + T | Open terminal (Linux) |
| ![](img/super.png)
![](img/no.png) | Super (Windows key) | Open start menu (Windows) |
| ![](img/no-modifiers.png)
![](img/print.png) | Print Screen | Take screenshot |