• Stars
    star
    318
  • Rank 131,872 (Top 3 %)
  • Language
    Emacs Lisp
  • License
    BSD 3-Clause "New...
  • Created over 5 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

keyboard layout that changes by markov frequency

markovkeyboard

keyboard layout that changes by markov frequency

screenshot

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!

The layout will update itself to move the keys that most frequently come next to the home row. For example, if you type only "the" all day, then when you press the letter 't' the letter 'h' will be on the home row.

how do I type?

There are minor challenges involved if your keyboard layout could change with every keypress, thus this prototype is an emacs library that displays and updates the current layout with every keypress.

does it work?

Pretty much! It only remaps the letters from a-zA-Z, but it does work!

how do I make it go?

Use the pre-trained markov-all.el with M-x load-file then type in /path/to/markovkeyboard/markov-all.el

After that, use M-x set-input-method and choose markov-insanity-a or replace a with any letter you prefer!

If you want a different set of 26 keymaps:

Download a plain text file for training the markov chain, then run "python crunch_freqs.py filename.txt" and that will generate a markov-all.el file that you can use with M-x load-file .

how do I make it stop?

C-\ is bound to toggle-input-method in stock emacs, and the keybindings are all buffer local, so the code shouldn't make your life too difficult.

what needs to be done?

  • define a new input-method for markov
  • display the keyboard layout when enabling the mode
  • port to X11 to ease getting started

More Repositories

1

fermatslastmargin

tool for creating and sharing annotations, using github for storage and social network
Haskell
87
star
2

ghclive

Google Summer of Code 2012 project, GHCi for the web
JavaScript
52
star
3

bloohm

visual bloom filter to display process status as neotrellis m4 output
Nix
26
star
4

sandwatch

Remember how long commands take, tell me if I have enough time to make a sandwich
Nix
25
star
5

kudzu

coverage driven random testing framework
Nix
20
star
6

trynocular

lazy generators with observation
Haskell
15
star
7

usehaskellfromc

write Haskell code, call it from C code
Haskell
12
star
8

takedouble

duplicate file finder
Haskell
11
star
9

sandsieve

webapp for uploading and collating output of https://github.com/xoreaxeaxeax/sandsifter
Haskell
10
star
10

hlsexamples

Example files demonstrating haskell-language-server features
Nix
7
star
11

aoc2019

Advent of Code 2019 in Haskell
Haskell
6
star
12

adventofcode2018

advent of code 2018 Haskell solutions
Haskell
5
star
13

spookel

prototype of research paper annotation tool
Haskell
5
star
14

sporkle

REST API demo in Haskell / Spock
Haskell
4
star
15

BookWords

Simple Haskell tutorial
Haskell
4
star
16

hammingonhamming

let's chat about Hamming's book on style!
Python
4
star
17

shiptunes

Haskell + Z3 SMT Solver demo
Nix
3
star
18

tictactoa

random tictactoe game
Haskell
3
star
19

deriving-date

deriving-date for custom FromJSON date-time formats
Haskell
3
star
20

nitflixx

create csv output from your netflixx.com/viewingactivity page
Haskell
3
star
21

echoloc

Haskell
3
star
22

HArdalarm

Haskell + Arduino alarm clock
Arduino
2
star
23

extralogical.net

My home page.
Haskell
2
star
24

hamming2024

2
star
25

ScannedInAvianReadingGroup

A repository for notes for the #ScannedInAvian reading group
Scheme
2
star
26

metalogo

metaprogramming in logo
Nix
2
star
27

schrabble

Haskell solver for https://github.com/benjamincrom/scrabble
Haskell
2
star
28

shapr.github.io

my personal blog
HTML
2
star
29

aoc2020

Advent of Code 2020, using nix and Haskell
1
star
30

some_repo

some description
1
star
31

bmnhs

beggar my neighbor haskell
1
star
32

flomp

it's anything at all
1
star
33

protostream

try out streaming with hinotify
Haskell
1
star
34

bmnrs

fast beggar my neighbor in rust
Rust
1
star
35

wreq-it

tiny curl clone in Haskell
Nix
1
star
36

foozle

purely a test
1
star
37

tmuxmarta

tmux plugin for marta updates
Haskell
1
star
38

easystart

Haskell code that reads from a file, runs a function on the file, then prints out the result to the screen
Haskell
1
star
39

graphreductionhardware

ten minute talk with many references for further exploration
1
star
40

adventofcode2016

http://adventofcode.com/2016/
Haskell
1
star
41

aoc2023-rust

Advent of Code 2023 in Rust
Nix
1
star
42

httplogmonitor

http console log monitor
Haskell
1
star
43

sicp

Exercises and Notes for _Structure and Interpretation of Computer Programs_ by Abelson, Sussman, and Sussman
1
star
44

randomtesting

presentation about random testing in Haskell, with bonus content
Haskell
1
star
45

katas

Katas from http://codekata.com/
Haskell
1
star
46

maestrostick

repl for a config thingy
Haskell
1
star
47

shaexmonad

shapr's xmonad setup for ubuntu 19.04
Haskell
1
star
48

scannedinavian

My blog at www.scannedinavian.com
1
star
49

WordCount

literate Haskell (LaTeX) WordCount demo I did for a programming languages university class.
Haskell
1
star