|
|
|
#
|
|
|
|
# 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 read for default section. It
|
|
|
|
# is only a placeholder 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_jp2=0xe0010411
|
|
|
|
rdp_layout_jp3=0xe0200411
|
|
|
|
rdp_layout_jp4=0xe0210411
|
|
|
|
rdp_layout_ru=0x00000419
|
|
|
|
rdp_layout_se=0x0000041D
|
|
|
|
rdp_layout_ch=0x00000807
|
|
|
|
rdp_layout_pt=0x00000816
|
|
|
|
rdp_layout_br=0x00000416
|
|
|
|
rdp_layout_pl=0x00000415
|
|
|
|
|
|
|
|
# <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_jp2=jp
|
|
|
|
rdp_layout_jp3=jp
|
|
|
|
rdp_layout_jp4=jp
|
|
|
|
rdp_layout_ru=ru
|
|
|
|
rdp_layout_se=se
|
|
|
|
rdp_layout_ch=ch
|
|
|
|
rdp_layout_pt=pt
|
|
|
|
rdp_layout_br=br(abnt2)
|
|
|
|
rdp_layout_pl=pl
|
|
|
|
|
|
|
|
# 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
|
|
|
|
model=pc105
|
|
|
|
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_jp2=jp
|
|
|
|
rdp_layout_jp3=jp
|
|
|
|
rdp_layout_jp4=jp
|
|
|
|
rdp_layout_it=it
|
|
|
|
rdp_layout_ru=ru
|
|
|
|
rdp_layout_se=se
|
|
|
|
rdp_layout_ch=ch
|
|
|
|
rdp_layout_pt=pt
|
|
|
|
rdp_layout_br=br(abnt2)
|
|
|
|
rdp_layout_pl=pl
|