This is a simple test to try out a chording keyboard system. I'm building a physical device, but wanted to build a web mock-up so collaborators could try it out before the firmware was finalized.
This demo is meant for desktop computers with physical keyboards. I can't imagine the experience will be satisfactory on a mobile device.
The Quick Word About Chorded Keyboards page provides a brief background about chorded keyboards and a few notes about how I developed the layout. The Admission of Sub-Optimal Behaviour page lists bugs in the implementation and design.
To see the demo, put your mouse in your left hand and your right hand's fingers over the space bar, J-key, K-key, L-key and semi-colon key. Now press the J & K keys at the same time. Then the space bar, J & L keys. Then the J & L keys. Then the J, K & L keys. Congratulations! You've spelled "THIS."
The space bar makes a space, the J key is Backspace and the K key is Enter. There are four "character sets" you can cycle through with the "Shift Top" and "Shift Next" key chords. The L key takes you to the first set and the L & Space Bar together take you to the next set. There's a table below, see if you can make sense of it.
Upper | Lower | Symbol 1 | Symbol 2 |
-JKL; [NUL] |
-JKL; [SPACE] |
-JKL; [BS] |
-JKL; E |
-JKL; [ENTER] |
-JKL; O |
-JKL; T |
-JKL; N |
-JKL; [NEXT] |
-JKL; [TOP] |
-JKL; I |
-JKL; H |
-JKL; A |
-JKL; R |
-JKL; S |
-JKL; D |
-JKL; L |
-JKL; W |
-JKL; M |
-JKL; G |
-JKL; F |
-JKL; Y |
-JKL; P |
-JKL; J |
-JKL; U |
-JKL; B |
-JKL; K |
-JKL; Q |
-JKL; C |
-JKL; X |
-JKL; V |
-JKL; Z |
-JKL; [NUL] |
-JKL; [SPACE] |
-JKL; [BS] |
-JKL; e |
-JKL; [ENTER] |
-JKL; o |
-JKL; t |
-JKL; n |
-JKL; [NEXT] |
-JKL; [TOP] |
-JKL; i |
-JKL; h |
-JKL; a |
-JKL; r |
-JKL; s |
-JKL; d |
-JKL; l |
-JKL; w |
-JKL; m |
-JKL; g |
-JKL; f |
-JKL; y |
-JKL; p |
-JKL; j |
-JKL; u |
-JKL; b |
-JKL; k |
-JKL; q |
-JKL; c |
-JKL; x |
-JKL; v |
-JKL; z |
-JKL; [NUL] |
-JKL; [SPACE] |
-JKL; [BS] |
-JKL; 0 |
-JKL; [ENTER] |
-JKL; 3 |
-JKL; 1 |
-JKL; 5 |
-JKL; [NEXT] |
-JKL; [TOP] |
-JKL; 4 |
-JKL; 7 |
-JKL; 2 |
-JKL; 8 |
-JKL; 6 |
-JKL; 9 |
-JKL; : |
-JKL; @ |
-JKL; . |
-JKL; & |
-JKL; ? |
-JKL; # |
-JKL; < |
-JKL; - |
-JKL; / |
-JKL; > |
-JKL; " |
-JKL; ( |
-JKL; = |
-JKL; , |
-JKL; + |
-JKL; ) |
-JKL; [NUL] |
-JKL; [SPACE] |
-JKL; [BS] |
-JKL; 0 |
-JKL; [ENTER] |
-JKL; 3 |
-JKL; 1 |
-JKL; 5 |
-JKL; [NEXT] |
-JKL; [TOP] |
-JKL; 4 |
-JKL; 7 |
-JKL; 2 |
-JKL; 8 |
-JKL; 6 |
-JKL; 9 |
-JKL; { |
-JKL; [ |
-JKL; ] |
-JKL; \ |
-JKL; ; |
-JKL; | |
-JKL; _ |
-JKL; $ |
-JKL; } |
-JKL; * |
-JKL; ^ |
-JKL; ~ |
-JKL; ' |
-JKL; ` |
-JKL; % |
-JKL; ! |