How to create your very own keyboard layout

Create a new file in the
/usr/share/X11/xkb/symbols/directory. You can name the file anything you like, but it's recommended to use a name that reflects your new layout.For example, you can create a file called "mydvorak" by opening a terminal and typing the following command:
sudo gedit /usr/share/X11/xkb/symbols/mydvorakIn the new file, define your new layout. You can use the existing
dvoraklayout as a starting point, and make modifications as needed.Here's an example of a modified
dvoraklayout that makes the symbol positioning easier for people coming fromqwerty.// My custom Dvorak layout partial alphanumeric_keys xkb_symbols "basic" { include "us(dvorak)" key <AE11> { [ minus, underscore ] }; key <AE12> { [ equal, plus ] }; key <AC11> { [ slash, question ] }; key <AD11> { [ bracketleft, braceleft ] }; key <AD12> { [ bracketright, braceright ] }; key <BKSL> { [ backslash, bar ] }; };Save the file and exit the editor.
Edit the
/usr/share/X11/xkb/rules/evdev.xmlfile to include a reference to your new layout.I added the following next to all the
dovrakentries<variant> <configItem> <name>mydvorak</name> <description>mydvorak</description> </configItem> </variant>Restart your computer to apply the changes.
How to switch keyboard layouts
you can use the setxkbmap program to change the keyboard layouts.
I have setup the following aliases to switch back and forth between the qwerty vs mydvorak layout.
alias asdf="setxkbmap -v mydvorak"
alias aoeu="setxkbmap -v us"





