summaryrefslogtreecommitdiffstats
path: root/xrdp/xrdp_keyboard.ini
diff options
context:
space:
mode:
authorJay Sorg <jay.sorg@gmail.com>2014-07-31 15:42:04 -0700
committerJay Sorg <jay.sorg@gmail.com>2014-07-31 15:42:04 -0700
commitd99181aa78bb4de7b1699f20837f109295ad60db (patch)
tree18f07b3c63e14fbeb1b42a67eaf12b4f659e8919 /xrdp/xrdp_keyboard.ini
parentb30b74b3b31e1bfe78fe76bc0ba4ff731e207089 (diff)
downloadxrdp-proprietary-d99181aa78bb4de7b1699f20837f109295ad60db.tar.gz
xrdp-proprietary-d99181aa78bb4de7b1699f20837f109295ad60db.zip
xrdp: added xrdp_keyboard.ini
Diffstat (limited to 'xrdp/xrdp_keyboard.ini')
-rw-r--r--xrdp/xrdp_keyboard.ini105
1 files changed, 105 insertions, 0 deletions
diff --git a/xrdp/xrdp_keyboard.ini b/xrdp/xrdp_keyboard.ini
new file mode 100644
index 00000000..bd4e4e68
--- /dev/null
+++ b/xrdp/xrdp_keyboard.ini
@@ -0,0 +1,105 @@
+#
+# RDP Keyboard <-> X11 Keyboard layout map
+#
+# How this file works:
+# 1. load the file and scan each section to find matching "keyboard_type"
+# and "keyboard_subtype" based on the values received from the client.
+# If not found, then jump to default section.
+# 2. in the selected section, look for "rdp_layouts" and "layouts_map".
+# Based on the "keylayout" value from the client, find the right x11
+# layout value.
+# 3. model/variant are inferred based on the "keyboard_type" and
+# "keyboard_subtype", but they can be overridden.
+#
+
+#
+# RDP Keyboard Type (http://msdn.microsoft.com/en-us/library/cc240563.aspx)
+#
+# 0 is not a valid value
+#
+# 1 - IBM PC/XT or compatible (83-key) keyboard
+# 2 - Olivetti "ICO" (102-key) keyboard
+# 3 - IBM PC/AT (84-key) or similar keyboard
+# 4 - IBM enhanced (101- or 102-key) keyboard
+# 5 - Nokia 1050 and similar keyboards
+# 6 - Nokia 9140 and similar keyboards
+# 7 - Japanese keyboard
+#
+# RDP Keyboard Subtype is vendor dependent. XRDP defines as follows:
+#
+# 0 is not a valid value
+#
+# 1 - Standard
+# 2 - FreeRDP JP keyboard
+# 3 - Macintosh
+# ... - < any vendor dependent subtype >
+#
+# The list can be augmented.
+#
+
+
+# default
+[default]
+# keyboard_type and keyboard_subtype is not readed for default section. It
+# is only as a place holder to keep consistency. Default model/variant are
+# platform dependent, and could be overridden if needed.
+keyboard_type=0
+keyboard_subtype=0
+
+# user could override variant and model, but generally they should be inferred
+# automatically based on keyboard type and subtype
+#variant=
+#model=
+
+# A list of supported RDP keyboard layouts
+rdp_layouts=default_rdp_layouts
+# The map from RDP keyboard layout to X11 keyboard layout
+layouts_map=default_layouts_map
+
+[default_rdp_layouts]
+rdp_layout_us=0x00000409
+rdp_layout_de=0x00000407
+rdp_layout_fr=0x0000040C
+rdp_layout_it=0x00000410
+rdp_layout_jp=0x00000411
+rdp_layout_ru=0x00000419
+rdp_layout_se=0x0000041D
+rdp_layout_pt=0x00000816
+rdp_layout_br=0x00000416
+
+# <rdp layout name> = <X11 keyboard layout value>
+[default_layouts_map]
+rdp_layout_us=us
+rdp_layout_de=de
+rdp_layout_fr=fr
+rdp_layout_it=it
+rdp_layout_jp=jp
+rdp_layout_ru=ru
+rdp_layout_se=se
+rdp_layout_pt=pt
+rdp_layout_br=br(abnt2)
+
+# if two sections have the same keyboard_type and keyboard_subtype, then
+# the latter could override the former.
+[rdp_keyboard_mac]
+keyboard_type=4
+keyboard_subtype=3
+rdp_layouts=default_rdp_layouts
+layouts_map=rdp_layouts_map_mac
+
+[rdp_keyboard_jp]
+keyboard_type=7
+keyboard_subtype=2
+rdp_layouts=default_rdp_layouts
+layouts_map=default_layouts_map
+
+[rdp_layouts_map_mac]
+rdp_layout_us=us
+rdp_layout_de=de
+rdp_layout_fr=fr
+rdp_layout_jp=jp
+rdp_layout_it=it
+rdp_layout_ru=ru
+rdp_layout_se=se
+rdp_layout_pt=pt
+rdp_layout_br=br(abnt2)