Here is the keyboard layout I use. I think it's very helpful. Of course I
do, otherwise I wouldn't have done it! But really, with it
- you don't have to switch keyboard layouts whenever you type in a different
language. (not for all the languages in the world, but for most of those that
use roman or arabic script)
- you can type arabic script more intuitively, compared with the default
arabic layouts - a nightmare even for natives. I use (mostly) the buckwalter
transliteration. I did only a couple of changes: the `ayn is 'c', not 'E' and
taa marboota is 'ö', not p. So what I do to type an arabic letter is hold the
Alt-Gr key and type the roman letter on the keyboard that corresponds to the
Arabic character in the transliteration. I type "kitaab" through typing the
following keys while holding the Alt-Gr key: "kitAb", and not the following
keys: ";ajhf".
- you can type A LOT of additional characters thanks to the dead keys, those shown
together with a blue circle in the figure below.
You can use my file, modifying it for your needs if you
want. Quick instructions:
- put it in /etc/X11/xkb/symbols/pc/FILE_NAME
- Add a line to /etc/X11/xkb/rules/xfree86.lst specifying the layout name and description
- (If you want to make the new layout the default), edit /etc/X11/XF86Config and modify the InputDevice section for your keyboard to contain the line:
Option "XkbLayout" "FILENAME"
- Restart X (Ctrl+Alt+Backspace)
If these quick instructions were too quick, or for detailed information on
custom xkb layouts, check this.
Each box in the figure below shows what are the four characters that each
keystroke will produce. The chacaters on the right require holding the Alt-Gr
key, and the characters on the top require holding the Shift key. Arabic
characters are in red. Dead characters are represented by a light blue cirle
where the accent's letter would appear. In addition to being printed above or
below letters, these accents can be printed alone by pressing the dead-key twice
in a row.