
Markovkeyboard: Keyboard layout that changes by Markov frequency - luu
https://github.com/shapr/markovkeyboard
======
afandian
This reminds me of Dasher:

[https://en.wikipedia.org/wiki/Dasher_(software)](https://en.wikipedia.org/wiki/Dasher_\(software\))

[https://dasher.zone/](https://dasher.zone/)

A little dizzying to use but a great fusion of some nice concepts. And for its
target audience probably a lot more possible than a traditional keyboard.

~~~
RubenSandwich
Dasher is such a novel concept of a keyboard it's almost alien. I love
everything about it. You can install it on Ubuntu with:

apt-get install dasher
([https://packages.ubuntu.com/disco/dasher](https://packages.ubuntu.com/disco/dasher))

And here is Dasher's source code:
[https://github.com/GNOME/dasher](https://github.com/GNOME/dasher)

------
k__
Someone I studied with made a keyboard that changed the size of keys based on
the probability that they are used next.

It was unusable. Because of the constant size changes you would hit the wrong
keys and some were getting so small you couldn't hit them anymore.

~~~
agumonkey
anecdata: smartphone keyboards do this invisibly, no visual change but the
most probable next keys get larger input geometry so that even if you don't
hit it right, it will register.

~~~
Funes-
Do you have a source for that? I'm quite interested in reading about it.

~~~
agumonkey
It was in a video about the early development of the iphone IIRC, they were
discussing how much detail went into the keyboard. I don't have the url in
mind right now sorry.

~~~
zb
I believe the first version of the iPhone OS did this. It was terrible (often
it was literally impossible to type the thing you wanted) and they quickly
replaced it with autocorrect instead.

~~~
agumonkey
hm interesting, from memory it was a bit of glorifying the history of the
iphone and its innovation, so maybe they hid how user felt. But to me it felt
like real great work...

------
AstralStorm
You can replace a whole keyboard with markovian 1D input. See Dasher project
for that, it's an interesting input method. (Swiping keyboards use something
of that, but work on word basis not letter.)

[https://en.m.wikipedia.org/wiki/Dasher_(software)](https://en.m.wikipedia.org/wiki/Dasher_\(software\))

------
wiggler00m
> _The Big Idea: Static keyboard layouts are boring and predictable. Let 's
> spice up the whole idea of keyboard layouts by having the layout CHANGE
> WHILE YOU ARE TYPING!_

~~~
inflatableDodo
I giggled at;

> _how do I make it stop?_

------
bookofjoe
>how do I make it stop?

That's the most frequent question I have when I try something new with my
computer. Sign me "card-carrying TechnoDolt"

------
vortico
Could be useful for hunt-and-peck typers, although I'm not sure there are many
emacs users like that...

~~~
vectorEQ
what a polite way to describe someones typing? :D i'm more of a wack-a-mole
typer

------
amelius
Next step: a car dashboard layout that changes by markov frequency.

~~~
inflatableDodo
Battle ready Gundam with full panoply of armaments and transdermal neural
interface, that changes by markov frequency.

~~~
hestefisk
He he :)

------
mitchtbaum
Colemak's 4 transitional learning layouts, called Tarmak, also bases its
stepped changes on learned key use frequency.

[https://forum.colemak.com/topic/1858-learn-colemak-in-
steps-...](https://forum.colemak.com/topic/1858-learn-colemak-in-steps-with-
the-tarmak-layouts/)

[https://colemak.com/](https://colemak.com/)

------
someone-knows
This is very similar to my first foray into programming - a small script that
outputs how likely each letter is to occur, given some input string:
[https://github.com/jake-mason/probability_keyboard](https://github.com/jake-
mason/probability_keyboard)

------
deerpig
It's in elisp? Of course it is. It's emacs!

------
mrighele
Could almost be usable with something like an Optimus keyboard [1]

[1]
[https://www.artlebedev.com/optimus/popularis/](https://www.artlebedev.com/optimus/popularis/)

~~~
make3
after a while the keyboard stabilises. they should share a pretrained keyboard
for "regular" English, fixed. I wonder how different it would be to all the
other keyboards currently available

------
bscphil
This is a really fun idea!

I wonder if any research has been done since Colemak was released about the
optimal keyboard layout for English. Because letter positioning is not the
only concern - you also need to worry about how easy it is to type common
sequences of letters - finding the optimal layout is probably a very hard
problem, requiring sophisticated mathematical analysis.

I can vouch for the advantages of using Dvorak, but I would totally consider a
switch if someone had a "provably optimal" layout.

~~~
jrspurr
There's a project called Carpalx [1] which is dedicated to trying to optimize
keyboard layouts. The three layouts it offers as fully optimal according to
their measurements (each with its own restrictions) seem to offer quite some
improvement, though their names aren't quite as nice as some of the more
popular alternatives (copied from [2] + some clarification):

\- QFMLWY - this is best layout obtained by relocating all QWERTY letters

\- QGMLWB - this optimized layout uses a Colemak-like character layout [ie.
where the P and ; keys are swapped]

\- QGMLWY - this is similar to the layout above, but keeps ZXCV in place

It's an interesting project but the inconveniences of switching from QWERTY to
an alternative already stops me from switching to Dvorak or Colemak, so I
doubt I'll move to something even more obscure any time soon.

[1] [http://mkweb.bcgsc.ca/carpalx/](http://mkweb.bcgsc.ca/carpalx/)

[2]
[http://mkweb.bcgsc.ca/carpalx/?full_optimization](http://mkweb.bcgsc.ca/carpalx/?full_optimization)

~~~
bscphil
Thanks, I've been looking at this site. QGMLWB seems pretty decent and KDE
actually has support for Carpalx layouts already, so switching would be easy.

It's surprising that the layout didn't move more punctuation and symbols
around - the Qwerty default positions for the comma and period are surely not
optimal (bottom row, ring finger for period). I wonder what results one would
get running the same algorithm but allowing these changes as well.

~~~
bscphil
Update for anyone who was curious about that last point: I figured out how to
use the simulated annealing software on that website, which allows you to use
a custom mask for the characters than can be swapped. On my very first run I
got a result better than QGMLWB: in fact QGMLWB requires 2.5% more effort to
type the training corpus than the one I generated.

I bet a huge win would be moving the exclamation point, but I haven't figured
out how to allow the program to remap shifted keys.

------
paxys
Neat. Although obviously not feasible, the overall idea isn't that far removed
from the sentence prediction/completion that all mobile keyboards do today.

------
bulletsvshumans
Why predict the next letter when you can just predict the whole sentence?
[https://youtu.be/9BnLbv6QYcA?t=62](https://youtu.be/9BnLbv6QYcA?t=62)

------
hestefisk
Next goal: MLPkeyboard :)

------
mshockwave
sounds like a doable third-party keyboard app on smartphones

