Skip to content

Layout design for the Twiddler3 keyboard that exploits row chords for faster, slicker typing

Notifications You must be signed in to change notification settings

benbongalon/slickr-layout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

slickr-layout

Keyboard layout design for the Twiddler3 that exploits row chording for faster, slicker typing.

Background

On March 2019, Tek Gear quietly released row chording as an experimental feature for the Twiddler3. This ability to press keys on the same row is a game changer, as it significantly increases the number of chord combinations one can enter. As a rough analogy, the added dexterity is as revolutionary as our pre-human ancestors evolving an opposable thumb.

What's the big deal? With row chording, you gain 3 extra chords per row1

    (LM), (MR), (LMR)

for a total of 12 more chords on the 3x4 keypad. If you're willing to invest time training your fingers, you can even combine row chords with keystrokes in other columns to create more complex combinations.

So I began to wonder: how can one create a (hopefully) faster, more expressive and fluid layout design that exploits the power of row chording? Slickr is my work-in-progress answer.

Design Philosophy

In designing Slickr, I looked at the four most popular layouts-- the Twiddler default, TabSpace, BackSpice and TypeMax, to understand their design rationale and draw inspiration from their best ideas. In my opinion, here are their defining attributes:

Default HandyKey (1990s) Logical arrangement of keys for ease of learning
TabSpace Brandon Rhodes (1999) Simple key sequence for most common characters; pressing 2 chars outputs both letters in the order they most often occur in English text.
Letters, numbers, punctuations are chordable without modifiers.
Numbers in 3x3 grid like phone pad.
BackSpice Alex Bravo (2014) Inspired by TabSpace, but vastly modified for day-to-day programming.
Improve placement of frequenty used letters/chords.
Easy access to arrow keys, Cut-and-Paste, etc.
TypeMax Lance Gatlin (2017) Maximize finger "stride" on bigrams / ngrams.
Repurpose 3 mouse buttons as keys.
Space key in center column.

I really like TypeMax's stride concept and it heavily influences Slickr's alphabet layout. For example, in Slickr you can type "sion", "ter", "ard" and other common sequences in one stride. I also followed TabSpace's and BackSpice's philosophy of making frequently used characters easier to chord, repeatedly consulting Norvig's frequency counts to tweak where certain letters go. After several experiments, the idea of straddling bigrams popped up. What this means is that we can fit 2 bigrams in one row if they share a common letter. For example, a row containing the letters [s t r] holds the stradding bigrams:

[st] and [th]

Row Chords

The defining feature of Slickr is its use row chords to emit frequently-used bigrams (e.g, "th"). There are 7 straddling bigrams in total that are row-chorable in the 3x4 grid.

Space, Tab, Backspace placement

In order to hold 12 frequently-used letters in the 3x4 grid, the Space, Tab and Backspace characters are no longer given single key allocations. Instead, you press a 2CC (2-character combination) using the index and middle fingers. My experience so far is that the 2CC chords are not that much slower than single key presses. I'm open to feedback.

This is a significant change compared to previous designs and it remains to be seen if this tradeoff pays off.

Keyboard Layout

(Diagrams are drawn for Twiddler facing away from the user. Credit to Griatch for his layout template.)

NOTE: There is a left- and right-handed version of the layout (and .cfg file) available. However I normally twiddle with my right hand (being a leftie) so I have not tested the left-hand version as much. Please let me know if you have any suggestions for improving.

Below is the layout for the English alphabet. Things to highlight:

  • the most frequently used letters (E,T,A,O,I,N,S,R,H,L,D) are single keystrokes
  • vowels are arranged in sequence (sort of)
  • common suffixes can be typed with a single downward stride. Examples:
    • sion
    • tion
    • ter
    • ted
    • erd
    • ard
  • the letter q comes paired with u since that sequence is a very common. Press <BackSpace> to delete u if needed.
Left-hand Right-hand

You may have noticed that the letters y and z are swapped. This is intentional. I placed y on (000L) so words such as "you" and "my" can be typed with the fingers staying in the same column.

Multi Character Chords (MCC)

Slickr is designed for fast typing of several common 2-character sequences (bigrams) by row chording. Press the row chord comprising the 2 letters to emit the combo. As you can see, I've designed the layout to accommodate 7 bigrams on the grid. I consider this to be the defining feature of Slickr.

Examples
store ->  [st] [or] e
theater ->  [th] [ea] t e r
pearl ->  p [ea] [rl]
health ->  h [ea] l [th]
friend ->  f r [ie] [nd] 

Additional MCCs are supported but they require more complex chording:

Examples
pi ->  p i [nt]
whack ->  [wh] a [ck]

Digits, Symbols and Function Keys

I don't use these a lot, so I simply copied them from TabSpace. I will be adding more punctuations and the function keys soon. Also, these may likely require changes for Left-hand use.

Digits

Footnotes

[1] There is a fourth (LR) chord but it is almost impossible to press with one finger without accidentally hitting the (M) key.

About

Layout design for the Twiddler3 keyboard that exploits row chords for faster, slicker typing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published