A PowerShell module to generate diagrams of Twiddler layouts.
Have a look at this repo. It has some background on Twiddlers and the layout I typically use.
My current Twiddler layout was mostly designed by genetic algorithm: I wrote this layout printer to get a visual representation of the layout every thousand generations or so, to help me check progress. I wanted to be able to:
- Quickly see if high value letters and other keystrokes were moving to easy to press button combinations
- Easily distinguish different classes of keystrokes (letters, symbols, numbers and so on)
- Spot unused gaps which I could use for, say, navigation keys or numbers
- This module only displays chords where no modifier keys are used. For example if 'OOOR' gives you the letter 'A', but Ctrl + 'OOOR' gives you your e-mail address, you won't see the latter on the display.
- Chords that use multiple buttons in the same row are not supported. (At time of writing this is an experimental feature on Twiddlers.)
- Poor accessibility: will not work well with screen readers. This is lack of experience on my part. If you use a screen reader, have suggestions on how to represent layout information in an accessible format, and want something like this, do let me know. Happy to give it some time.
| Colour | Meaning |
|---|---|
| White | Letter, punctuation, brace |
| Blue | Navigation, whitespace, function keys |
| Green | Multi character output |
| Yellow | Numbers |
| Purple | Unassigned chord |
| Red | Indicates an activated key |
The top left grid shows the result from pressing individual buttons and is the easiest to interpret. What you see is what you get.
A red asterisk (*) indicates that the key or keys in question are being held down. The rest of the grid indicates what output will be produced if the key at that location is also pressed.
For reasons of space and readability some keystrokes are shortened or changed. Details below:
| Symbol | Meaning |
|---|---|
| ←X | Backspace |
| |←X| | Ctrl + Backspace (Delete entire word) |
| ↑ | Up arrow |
| PG↑ | Page up |
| → | Right arrow |
| ↓ | Down arrow |
| PG↓ | Page down |
| ← | Left arrow |
| |↑| | Ctrl + up arrow |
| |→| | Ctrl + right arrow (Right one word) |
| |↓| | Ctrl + down arrow |
| |←| | Ctrl + left arrow (Left one word) |
| ←| | Enter |
| PSC | Print Screen |
| DEL | Delete |
| ESC | Escape |
| HME | Home |
| END | End |
| TAB | Tab |
| CAP | Caps Lock |
| _ | Space bar |
| |c| | Ctrl + c |
| |x| | Ctrl + x |
| |v| | Ctrl + v |
| |z| | Ctrl + z |
| |a| | Ctrl + a |
| |b| | Ctrl + b |
| |f| | Ctrl + f |
| <!-> | Markdown comment, then move the cursor left * 4 |
$Layout = Get-LayoutFromCSV 'C:\temp\twiddler_cfg_oran.csv'
Format-Layout $Layout -ReduceDuplicates





