xrdp-km.toml - xrdp key mapping file
Key mapping files are located at
/usr/local/etc/xrdp-devel/km-XXXXXXXX.toml where XXXXXXXX is
the input locale identifier sent by the RDP client.
The key mapping files are used to translate RDP scan codes into
one of the following forms:-
- X11 KeySyms
- These are used when xrdp connects to a VNC server.
- Unicode
characters
- These are used on the xrdp login screen.
Each keymap file consists of several sections. Each section starts
with the section name in square brackets, followed by a list of
parameter=value lines.
The following sections are recognized:
- [Globals]
- Global configuration
- [noshift]
- Key mappings if no modifier keys (i.e. shift, alt gr, caps lock) are
down.
- [shift]
- Key mappings if the shift key is down.
- [altgr]
- Key mappings if the alt gr key is down.
- [shiftaltgr]
- Key mappings if the shift and alt gr keys are down.
- [capslock]
- Key mappings if the caps lock key is down.
- [shiftcapslock]
- Key mappings if the caps lock and shift keys are down.
- [shiftcapslockaltgr]
- Key mappings if the shift, caps lock and alt gr keys are down.
- [numlock]
- Key mappings if the numlock key is down.
All parameters and values are case insensitive, and are described
in detail below. If any parameter is specified more than once, the last
entry will be used. Options specified outside their proper section will be
ignored.
Following parameters can be used in the [Globals]
section.
- Version=number
- Version of the file format in use. Can be used to check for file format
mis-matches when a file is loaded.
All other sections contain lines formatted in one of the following
ways:-
- <scancode>=<KeySym>
- <scancode>=<KeySymNum>:<unicode-char>
Each line may also be followed by a comment (preceded by '#')
which contains more information about the key, for example a KeySym
string.
- scancode
- A scancode is an RDP scancode received from the client. These
correspond to Windows "Scan Code Set 1" scan codes, and can be
displayed in Windows by using an appropriate utility.
The scancode is in one of these two forms:-
- <hex-digit><hex-digit>
- Standard scancodes. For example, '1C' refers to the enter key. These are
'key down' scancodes, and so are always between 00 and 7F.
- E0_<hex-digit><hex-digit>
- Extended scancodes. For example, 'E0_1C' refers to the enter key on the
numeric keypad.
- KeySymNum
- A decimal number representing an X11 KeySym
- unicode-char
- A string of the format U+XXXX U+XXXXX,, U+XXXXX,
where X is a hexadecimal digit.
This file format has the following limitations.
- Not all combinations of shift keys are stored in the file. For example, at
present there is no section for shift and numlock combined.
- Modifier keys, other than the ones supported above, are not supported.