It's very basic so far, but allows you to specify the keys you want as a simple list, and will lay everything out. For example:
Code: Select all
let dvorakKeyStates = [
["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"],
["'", ",", ".", "p", "y", "f", "g", "c", "r", "l"],
["a", "o", "e", "u", "i", "d", "h", "t", "n", "s"],
["↑", "q", "j", "k", "x", "b", "m", "w", "v", "z"],
["⊙", "⌥", " ", "←", "↵"]
]
let dvorakShiftKeyStates = [
["!", "@", "#", "$", "%", "^", "&", "*", "(", ")"],
["\"", "<", ">", "P", "Y", "F", "G", "C", "R", "L"],
["A", "O", "E", "U", "I", "D", "H", "T", "N", "S"],
["↑", "Q", "J", "K", "X", "B", "M", "W", "V", "Z"],
["⊙", "⌥", " ", "←", "↵"]
]