Keyboard Layout Tinkering

Warsaw, 2023

Warsaw JUG

Professional tools won't make you a pro,
but a pro won't compromise on their tools.

 

~ Alan Reiser

The purpose

Part 1

Buying a keyboard

https://www.wikihow.tech/Choose-a-Gaming-Keyboard

Membrane vs Mechanical

https://www.penaddict.com/blog/2020/3/11/a-brief-introduction-to-mechanical-keyboard-switches

Switch type

https://github.com/bluepylons/Open-Switch-Curve-Meter/tree/main/Force%20curve%20measurements

https://github.com/bluepylons/Open-Switch-Curve-Meter/tree/main/Force%20curve%20measurements

https://splitkb.com/products/mbk-legend-40s-choc-low-profile-keycaps

Keycaps

https://www.computerlounge.co.nz/blog/tips-and-tricks/is-there-a-best-keyboard-size--sizing-up-mechanical-keyboards

Layout

Keyboard size guide

Key clusters

https://trauring.org/how-many-keys-are-there-on-a-keyboard/

Full size - 100%

https://www.keychron.com/blogs/news/keyboard-size-layout-buying-guide

96% - compact full

https://www.keychron.com/blogs/news/keyboard-size-layout-buying-guide

Missing Keys: some navigation keys (PrtScn, Scroll Lock, and Pause)

80% - TKL

https://www.keychron.com/blogs/news/keyboard-size-layout-buying-guide

Missing Keys: number pad

75% - compact TKL

https://www.eurogamer.net/digitalfoundry-best-75-percent-keyboards

Missing Keys: number pad

65%

https://www.keychron.com/blogs/news/keyboard-size-layout-buying-guide

Missing Keys: number pad, some navigation keys (Del, End, Insert, PrtScn, Scroll Lock, and Pause), function keys

60%

https://www.keychron.com/blogs/news/keyboard-size-layout-buying-guide

Missing keys: number pad, navigation keys, function keys, arrow keys

https://labs.library.concordia.ca/blog/why-mechanical-keyboards-keyboard-sizes/

Full vs TKL vs 60%

50%

https://www.keychron.com/blogs/news/keyboard-size-layout-buying-guide

Missing keys: number pad, navigation keys, function keys, arrow keys, number row

40%

https://thegamingsetup.com/gaming-keyboard/reviews/best-40-percent

Missing keys: number pad, navigation keys, function keys, number row, arrow keys

30%

https://boingboing.net/2017/04/24/30-keyboard-is-tiny-adorable.html

Missing keys: almost all but the base cluster

Requirements

  • normal
  • low profile
  • compact / minimalistic
  • mechanical (tactile switches)
  • programmable (nice to have)
  • wireless (nice to have)

16.03.2022

Nuphy Air75

Touch typing

https://www.ratatype.com/learn/

Cramped Wrists & Hands

https://cloudnineergo.com/products/cloud-nine-ergotkl-ergonomic-split-mechanical-keyboard

Towards the ergonomy

Part 2

Kinesis Advantage 2

  • programmable*
  • thumb cluster
  • fixed split
  • 20 degree tenting
  • palm support
  • key wells

https://twitter.com/DygmaLab/status/1153993228871438336/photo/1

Ulnar deviation

Forearm Pronation

http://www.ergopedia.ca/risk_factors/Pronation_or_Working_with_the_Hands_Flat_on_the_Worksurface.html

https://zty.pe/

Kinesis layout

https://www.reddit.com/r/MechanicalKeyboards/comments/5qaqrd/show_us_your_customized_keyboard_layouts_heres_my/

Row staggered

Row staggered

Ortholinear

https://sampo.website/blog/en/2021/lily58/

Ergodox

Moonlander

https://ergodox-ez.com/

Dygma Raise

https://www.tomshardware.com/reviews/dygma-raise

Dactyl manuform

https://ohkeycaps.com/products/built-to-order-dactyl-manuform-keyboard

Thumb cluster ideas

  • space/enter
  • backspace/delete
  • special action - menu action (e.g. Alfred on mac)
  • shift/command
  • tab
  • layers?
  • letter?

Part 3

Do I need that many keys?

Minimalism

"We are moving our keys to the fingers, we're not moving our fingers to the keys"

Layers

https://thomasbaart.nl/2018/12/06/qmk-basics-how-to-add-a-layer-to-your-keymap/

"... this amounts to a function key that allows for different keys, much like what you would see on a laptop or tablet keyboard."

https://dreymar.colemak.org/layers-extend.html

Extended layer

Software

  • QMK - keyboard firmware, most popular
  • ZMK - keyboard firmware for wireless
  • kMonad - OS level software
  • and many others

QMK Features

Grave Escape is a feature that allows you to share the grave key (` and ~) with Escape.

Most of the time this key will output KC_ESC when pressed. However, when Shift or GUI are held down it will output KC_GRV instead.

QMK Features

Hold-tap will output the 'hold' behavior if it's held for a while, and output the 'tap' behavior when it's tapped quickly

  • auto-shift
  • layer switch
  • modifier activation

Example usages:

QMK Features

One Shot Keys ("Sticky keys" or "Dead keys") are keys that remain active until the next key is pressed, and then are released.

Example usages:

  • modifiers
  • layers

QMK Features

Caps Word It is often useful to type a single word in all capitals, for instance abbreviations like “QMK”, or in code, identifiers like KC_SPC. It is a modern alternative to Caps Lock.

Same idea:

  • number words
  • snake_case
  • kebab-case

QMK Features

Combos - The Combo feature is a chording type solution for adding custom actions. It lets you hit multiple keys at once and produce a different effect. For instance, hitting A and B within the combo term would hit ESC instead, or have it perform even more complex tasks.

Example usages:

  • emulate less frequent keys

QMK Features

Space cadet - when you tap Left Shift on its own, you get an opening parenthesis; tap Right Shift on its own and you get the closing one. When held, the Shift keys function as normal. Yes, it’s as cool as it sounds, and now even cooler supporting Control and Alt as well!

QMK Features

Tap dance

With this feature one can specify keys that behave differently, based on the amount of times they have been tapped, and when interrupted, they get handled before the interrupter.

  • Tap = Send Esc
  • Double Tap = Send CapsLock
  • Tap = Send x
  • Hold = Send Control
  • Double Tap = Send Escape
  • Double Tap and Hold = Send Alt

Home row mods

"In simple terms, home row mods are the main modifier keys (namely Ctrl, Option/Alt, Command and Shift) on the home row of the keyboard set as Mod-taps."

https://www.reddit.com/r/KeyboardLayouts/comments/rcje4n/thoughts_on_this_34_key_layout/

Example 34-keys

https://www.reddit.com/r/KeyboardLayouts/comments/rcje4n/thoughts_on_this_34_key_layout/

Example 34-keys

https://www.reddit.com/r/KeyboardLayouts/comments/rcje4n/thoughts_on_this_34_key_layout/

Example 34-keys

https://www.reddit.com/r/KeyboardLayouts/comments/rcje4n/thoughts_on_this_34_key_layout/

Example 34-keys

Base/Alpha layer

  • qwerty
  • dvorak
  • colemak (+dh mod)
  • workman/norman
  • halmak
  • engram
  • rsthd

Base/Alpha layer

https://paulguerin.medium.com/the-search-for-the-worlds-best-keyboard-layout-98d61b33b8e1

QWERTY

Base/Alpha layer

https://paulguerin.medium.com/the-search-for-the-worlds-best-keyboard-layout-98d61b33b8e1

Dvorak

Base/Alpha layer

https://ksprashu.medium.com/an-analysis-of-keyboard-layouts-fdd3be74f584

Colemak-dh

Base/Alpha layer

  • Same Finger Bigram (SFB)
  • Disjointed SFB (dSFB)/SFS
  • Lateral Stretch Bigram (LSB)
  • Alternation
  • Roll (in/out)
  • Redirect/Redirection
  • Hand Balance

Base/Alpha layer

Colemak-dh

Alt: 22.55%

Rol: 46.16% (In/Out: 27.34% | 18.82%)

One: 2.19% (In/Out: 1.29% | 0.89%)

Red: 6.58% (Bad: 0.43%)

SFB: 1.47%

SFS: 8.26%

LH/RH: 50.57% | 49.43%

Dvorak

  Alt: 37.10%

Rol: 35.85%   (In/Out: 18.30% | 17.55%)

One:  0.43%   (In/Out:  0.27% |  0.15%)

Red:  2.26% (Bad:     0.83%)

 SFB: 3.26%

SFS: 6.45%

  LH/RH: 43.92% | 56.08%

Base/Alpha layer

Colemak-dh

Alt: 22.55%

Rol: 46.16% (In/Out: 27.34% | 18.82%)

One: 2.19% (In/Out: 1.29% | 0.89%)

Red: 6.58% (Bad: 0.43%)

SFB: 1.47%

SFS: 8.26%

LH/RH: 50.57% | 49.43%

Qwerty

  Alt: 16.33%

Rol: 38.24%   (In/Out: 21.27% | 16.97%)

One:  3.08%   (In/Out:  1.46% |  1.62%)

Red:  7.53%   (Bad: 0.48%)

SFB: 7.04%

SFS: 9.17%

  LH/RH: 59.53% | 40.47%

Fast forward to today...

Current keyboard 1

https://bastardkb.com/tbk-mini/

Current keyboard 2

https://splitkb.com/products/kyria-rev3-pcb-kit

https://www.popularmechanics.com/technology/gadgets/a27123/model-f-project-buckling-spring-keyboard/

ghostbuster91

kkondzielski

ghostbuster91@fosstodon.org

r/ErgoMechKeyboards

r/MechanicalKeyboards

Keyboard Layout Tinkering

By Kasper Kondzielski

Keyboard Layout Tinkering

  • 123