What is this about the key numbering? Backspace is 14 under Linux,
22 under X? Well, the numbering can best be regarded as arbitrary;
the Linux number of a key can be found using showkey(1), and the
X number using xev(1). Often the X number will be 8 more than the
Linux number.
Something else people like to change are the bindings of the function keys.
Suppose that you want to make F12 produce the string "emacs ".
Then
will do this. More explicitly, the procedure is like this:
(i) find the keycodes of the keys to be remapped, using showkey(1).
(ii) save the current keymap, make a copy and edit that:
The format of the table can be guessed by looking at the output
of dumpkeys, and is documented in keymaps(5).
When the new keymap functions as desired, you can put an invocation
loadkeys my_new_keymap
in /etc/rc.local or so, to execute it automatically at boot-up.
Note that changing modifier keys is tricky, and a newbie can easily
get into a situation only an expert can get out of.
The default directory for keymaps is /usr/lib/kbd/keymaps.
The default extension for keymaps is .map.
For example, loadkeys uk would probably load
/usr/lib/kbd/keymaps/i386/qwerty/uk.map.
(With kbd-0.95 and older this would be /usr/lib/kbd/keytables
and /usr/lib/kbd/keytables/uk.map.)
(On my machine) /dev/console is a symbolic link to /dev/tty0,
and the kernel regards /dev/tty0 as a synonym for the current VT.
XFree86 1.3 changes the owner of /dev/tty0, but does not reset this
after finishing. Thus, loadkeys or dumpkeys might fail because
someone else owns /dev/tty0;
in such a case you might run X first.
Note that you cannot change keyboard mappings when not at the console
(and not superuser).
the left Control, Shift and Alt keys will act as toggles.
The numbers involved are revealed by showkey
(and usually are 29, 97, 42, 54, 56, 100 for left and right control,
shift and alt, respectively), and the functions are
Control_Lock, Shift_Lock, Alt_Lock, ALtGr_Lock.
"What about `sticky' modifier keys?"
Since version 1.3.33, the kernel knows about `sticky' modifier keys.
These act on the next key pressed. So, where one earlier needed
the 3-symbol sequence Shift_Lock a Shift_Lock to type `A', one
can now use the 2-symbol sequence SShift_Lock a.
You can say
The following text was contributed by Piotr Mitros.
XFree86 supports an accessibility option which allows disabled users
to type single-handed. With sticky keys enabled, the user can hit a
modifier key (ctrl, alt, shift) followed by another key, rather than
having to hold the modifier key while hitting the letter.
To enable sticky keys, first make sure the xkb extension is enabled
(this is done during initial X server configuration and is usually
enabled by default). Next, run the X server with the +accessx
option. If you use startx, either run startx -- +accessx or
add +accessx to the serverargs line in the startx script.
If you use xdm, add +accessx to the appropriate server line
in /etc/X11/xdm/Xservers.
It is also possible to enable X accessibility with some end-user
utilities with a running X server.
Once X accessibility is enabled, press the shift key five times in a
row to enable sticky keys. To disable sticky keys, either press the
shift key five times again, or press a key while holding a modifier
key.
XFree86 also supports Slow Keys, Repeat Keys, Bounce Keys and an
audible bell. xkbcomp can be used to generate a .xkm file
to enable these. The appropriate xkbcomp commands are listed in
/usr/X11R6/lib/X11/xkb/compat/accessx.
Unfortunately, the exact process is still undocumented.