All the layouts in ergoemacs are easy to generate. To add your own
personal layout you just need to match the keybindings for your in a
layout variable from ergoemacs-layout-XXX
. For the US and UK
layouts, the defining variable adds the layout:
(defvar ergoemacs-layout-us '("" "`" "1" "2" "3" "4" "5" "6" "7" "8" "9" "0" "-" "=" "" "" "" "q" "w" "e" "r" "t" "y" "u" "i" "o" "p" "[" "]" "\\" "" "" "a" "s" "d" "f" "g" "h" "j" "k" "l" ";" "'" "" "" "" "" "z" "x" "c" "v" "b" "n" "m" "," "." "/" "" "" "" ;; Shifted "" "~" "!" "@" "#" "$" "%" "^" "&" "*" "(" ")" "_" "+" "" "" "" "Q" "W" "E" "R" "T" "Y" "U" "I" "O" "P" "{" "}" "|" "" "" "A" "S" "D" "F" "G" "H" "J" "K" "L" ":" "\"" "" "" "" "" "Z" "X" "C" "V" "B" "N" "M" "<" ">" "?" "" "" "") "US Engilsh QWERTY Keyboard") (defvar ergoemacs-layout-gb '("" "`" "1" "2" "3" "4" "5" "6" "7" "8" "9" "0" "-" "=" "" "" "" "q" "w" "e" "r" "t" "y" "u" "i" "o" "p" "[" "]" "" "" "" "a" "s" "d" "f" "g" "h" "j" "k" "l" ";" "'" "#" "" "" "\\" "z" "x" "c" "v" "b" "n" "m" "," "." "/" "" "" "" ;; Shifted "" "¬" "!" "@" "#" "$" "%" "^" "&" "*" "(" ")" "_" "+" "" "" "" "Q" "W" "E" "R" "T" "Y" "U" "I" "O" "P" "{" "}" "" "" "" "A" "S" "D" "F" "G" "H" "J" "K" "L" ":" "@" "~" "" "" "|" "Z" "X" "C" "V" "B" "N" "M" "<" ">" "?" "" "" "") "UK QWERTY")
This lists the keyboard positions from left to right for the unshifted and shifted states of he keyboard. After listing the keyboard descriptions it provides a description of the layout which is used for the customization variable `ergoemacs-keyboard-layout'. By simply defining your layout before ergoemacs-mode is loaded, you add it to the ergoemacs-keyboard-layout variable with its description.
If you have generated a keyboard layout that ergoemacs-mode does not yet support please drop me a line.