Detect and setup Programmer Dvorak keyboard layout
This patch will add the keyboard layout identifier for the Programmer Dvorak keyboard layout, so that if a Windows client has that layout active, it will be mapped to the corresponding xkeyboard-config layout in the X server. An XFreeRDP client knows about this layout too, and will correspondingly map it to the identifier given here, making the layout propagate correctly through X-to-X connections as well. To replicate the full Windows keyboard layout several options have to be set as well as the main layout. To avoid having these options spill over to other layouts that are dumped, the old settings are stored before the dump and then restored afterwards.
This commit is contained in:
parent
76ac0600e4
commit
a9eb5a17d2
@ -15,6 +15,12 @@ setxkbmap -model pc104 -layout us
|
|||||||
setxkbmap -model pc104 -layout dvorak
|
setxkbmap -model pc104 -layout dvorak
|
||||||
./xrdp-genkeymap ../instfiles/km-00010409.ini
|
./xrdp-genkeymap ../instfiles/km-00010409.ini
|
||||||
|
|
||||||
|
# English - US 'dvp' 0x19360409
|
||||||
|
OLD_SETTINGS=$(setxkbmap -query -verbose 4 | sed "s/^\([a-z]\+\):\s*\(.*\)$/-\1 \2/;s/^-options/-option \"\" -option/;s/,/ -option /g" | xargs -d \\n)
|
||||||
|
setxkbmap -rules xfree86 -model pc105 -layout us -variant dvp -option "" -option compose:102 -option caps:shift -option numpad:sg -option numpad:shift3 -option keypad:hex -option keypad:atm -option kpdl:semi -option lv3:ralt_alt
|
||||||
|
./xrdp-genkeymap ../instfiles/km-19360409.ini
|
||||||
|
setxkbmap ${OLD_SETTINGS}
|
||||||
|
|
||||||
# English - UK 'en-GB' 0x00000809
|
# English - UK 'en-GB' 0x00000809
|
||||||
setxkbmap -model pc105 -layout gb
|
setxkbmap -model pc105 -layout gb
|
||||||
./xrdp-genkeymap ../instfiles/km-00000809.ini
|
./xrdp-genkeymap ../instfiles/km-00000809.ini
|
||||||
|
@ -50,7 +50,8 @@ dist_startscript_DATA = \
|
|||||||
km-00000813.ini \
|
km-00000813.ini \
|
||||||
km-00000816.ini \
|
km-00000816.ini \
|
||||||
km-0000100c.ini \
|
km-0000100c.ini \
|
||||||
km-00010409.ini
|
km-00010409.ini \
|
||||||
|
km-19360409.ini
|
||||||
|
|
||||||
#
|
#
|
||||||
# platform specific files
|
# platform specific files
|
||||||
|
1047
instfiles/km-19360409.ini
Normal file
1047
instfiles/km-19360409.ini
Normal file
File diff suppressed because it is too large
Load Diff
@ -59,6 +59,7 @@ layouts_map=default_layouts_map
|
|||||||
[default_rdp_layouts]
|
[default_rdp_layouts]
|
||||||
rdp_layout_us=0x00000409
|
rdp_layout_us=0x00000409
|
||||||
rdp_layout_us_dvorak=0x00010409
|
rdp_layout_us_dvorak=0x00010409
|
||||||
|
rdp_layout_us_dvp=0x19360409
|
||||||
rdp_layout_dk=0x00000406
|
rdp_layout_dk=0x00000406
|
||||||
rdp_layout_de=0x00000407
|
rdp_layout_de=0x00000407
|
||||||
rdp_layout_es=0x0000040A
|
rdp_layout_es=0x0000040A
|
||||||
@ -85,6 +86,7 @@ rdp_layout_pt=0x00000816
|
|||||||
[default_layouts_map]
|
[default_layouts_map]
|
||||||
rdp_layout_us=us
|
rdp_layout_us=us
|
||||||
rdp_layout_us_dvorak=dvorak
|
rdp_layout_us_dvorak=dvorak
|
||||||
|
rdp_layout_us_dvp=us(dvp)
|
||||||
rdp_layout_dk=dk
|
rdp_layout_dk=dk
|
||||||
rdp_layout_de=de
|
rdp_layout_de=de
|
||||||
rdp_layout_es=es
|
rdp_layout_es=es
|
||||||
@ -122,6 +124,7 @@ layouts_map=default_layouts_map
|
|||||||
[rdp_layouts_map_mac]
|
[rdp_layouts_map_mac]
|
||||||
rdp_layout_us=us
|
rdp_layout_us=us
|
||||||
rdp_layout_us_dvorak=dvorak
|
rdp_layout_us_dvorak=dvorak
|
||||||
|
rdp_layout_us_dvp=us(dvp)
|
||||||
rdp_layout_dk=dk
|
rdp_layout_dk=dk
|
||||||
rdp_layout_de=de
|
rdp_layout_de=de
|
||||||
rdp_layout_es=es
|
rdp_layout_es=es
|
||||||
|
Loading…
Reference in New Issue
Block a user