rdesktop/keymaps
Peter Åstrand 5c181a1e5f Add support for enabling/disabling local compose handling. Compose support is now disabled per default
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@69 423420c4-83ab-492f-b58f-81f9feb106b5
2002-07-27 23:09:32 +00:00
..
ar Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
be Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
bg Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
br Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
cf Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
common Added "localstate" support to keymapping: Send local modifier state. This fixes problems with Shift-Home etc 2002-07-27 22:35:38 +00:00
convert-map Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
cs Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
da Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
de Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
dv Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
el Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
en Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
es Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
et Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
fi Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
fo Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
fr Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
ga Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
gd Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
he Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
hi Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
hr Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
hu Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
is Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
it Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
ja Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
ka Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
kk Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
ko Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
la Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
lt Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
lv Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
mk Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
modifiers Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
mr Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
nl Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
no Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
pl Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
pt Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
README Add support for enabling/disabling local compose handling. Compose support is now disabled per default 2002-07-27 23:09:32 +00:00
ro Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
ru Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
sf Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
sg Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
sk Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
sl Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
sq Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
sr Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
sv Added "localstate" support to keymapping: Send local modifier state. This fixes problems with Shift-Home etc 2002-07-27 22:35:38 +00:00
ta Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
th Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
tr Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
tt Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
uk Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
us US map is really 0x409 2002-07-23 19:08:37 +00:00
uz Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
vi Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00
zh Merged new keysym-based keyboard handling (from alt. CVS repos) 2002-07-18 18:28:12 +00:00

Keymap-files
============
The keymaps are line based. There are three different types of lines:

1) include-lines
Syntax:
include <another-map-file>


2) map-lines
Syntax:
map <hex-number>

Map-lines specifies how the remote RDP server should interpret the
sent scancodes. 


3) Translation-lines
Syntax:
<keysym-name> <scancode> [flags..]

The scancode can be found in scancodes.h. Note: The scancode value for
extended keys can be calculated by OR:ing with 0x80. Example: The
Delete key have the scancode sequence 0xe0, 0x52. You can get the
scancode value to put into the map file by running:

python -c "print hex(0x80 | 0x52)"

If flags are "altgr", "shift", "numlock", the scancode sent for this
keysym will be prefix with AltGr, Shift or Numlock. 

If flags include "addupper", an translation for this keysyms uppercase
name will as well, in addition to the non-uppercase name. Example:

x 2d addupper

...will add an translation for "X" automatically, just like if you
would specify:

X 2d shift

If flags include "localstate", the modifier to send will be determined
by the local modifier state. 


4) enable_compose

If any line starts with the keyword "enable_compose", rdesktop will
enable local Compose/Multi_key handling. Enabling this will often make
it impossible to compose characters with dead keys (on the remote
side). This is because when local compose support is enabled, dead
keys will not be sent to the remote side. 


Suggested X11 keysym mapping on PCs
===================================
Unfortunately, there is no standard for which keysyms a given key
should generate. If you have a PC-keyboard with Windows keys, I suggest this mapping:

Keyboard keys:
CtrlLeft WinLeft AltLeft Space AltGr WinRight Menu CtrlRight

...should generate keysyms:
Control_L Hyper_L Alt_L space Mode_switch Hyper_R Menu Control_R

Additionally:
Shift-Alt should produce Meta_L
Shift-AltGr should produce Multi_Key. 

Use a modifier-map like this:

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x25)
control     Control_L (0x42),  Control_R (0x6d)
mod1        Alt_L (0x40)
mod2        Num_Lock (0x4d)
mod3        Mode_switch (0x71)
mod4        Hyper_L (0x73),  Hyper_R (0x74)
mod5        Scroll_Lock (0x4e)