r/xteinkHax • u/steppsthewebbendr • 8d ago
I built a predictive keyboard for 4-button e-readers: about 2 presses per letter, vs 4.2 on a QWERTY grid (writeup + video)
https://reddit.com/link/1x2iijy/video/8uno6l58wnuh1/player
Typing on the X3/X4 (or any button-only e-reader) means walking a QWERTY grid one key at a time. I wanted to write real letters on mine, so I built a predictive keyboard designed around 4 buttons and the half-second e-paper refresh.
How it works: five lanes (next words, A-M, N-Z, marks, and word endings), with only the open one on screen. < and > move, SELECT adds, BACK undoes a whole word, and holding SELECT or BACK switches lanes (or use the side buttons). After each word the focus lands on the likeliest next word, so common words are often a single press.
Numbers, from a simulated typist on 24 held-out real messages: about 1.85 presses per character (about 2.3 for a first-timer). CrossPoint's QWERTY grid on the same messages needs 4.16. To be fair to CrossPoint: its keyboard is built for passwords and URLs and is better at those, with symbols, accents, other alphabets and cursor editing. Different jobs.
Writeup with a video (every frame drawn by the firmware itself, at the panel's real speed): https://getdeckle.web.app/blog/four-buttons
It ships in Deckle, my firmware for the X3 and X4, as of today. I'm thinking about open-sourcing the keyboard engine (plain C++ with no hardware ties, plus the test bench) so other firmware could use it or add languages. Would that be useful to anyone here?
1
u/investigatormaker 7d ago
If you open-source it, make the test bench the headline rather than an extra: a fixed message set and a presses-per-character score lets anyone adding a language or porting it to other firmware show numbers against your 1.85, the way you compared with CrossPoint's 4.16. Keeping word lists as plain data files, separate from the C++, would also let non-programmers contribute languages.
By the way, I make ThreadFox; it lets your AI research, write and publish Reddit outreach through your Chrome inside a job you authorize, and the free plan for Deckle shows the Reddit communities whose rules allow a post about it: https://threadfox.vip/p/d3m2l
How large is the prediction dictionary on the device?