XRDP で「変換」キーが入力できるように対応した

※ 「XRDP で「変換」キーが入力できるように対応した — その後」へ続きます。

あきらは Xubuntu 14.04 に X11RDP-o-Matic で XRDP 導入して Windows 10 のリモートデスクトップ接続で操作しています。

Microsoft の RDCMan だと、リモートデスクトップ接続で高 DPI 環境に対応できそうだとの情報を掴んだので、Surface Pro 3 で試したところ、表示は対応出来たのですが、「変換キー」が入力できませんでした。自分は漢字入力を Mac 風のキーバインドにしているため、変換・無変換キーが使えないと不便でしかたありません。

2日ほど色々調べて、設定ファイルを修正するだけで対応できることが判明しました。
原因は xkeyboard の base ルールの pc105 で、XF86AudioMedia が Henkan を上書きしてしまう事でした。
現在では evdev ルールが主流で、そちらでは同様の問題は無いため何年も放置されているようです。

以下、X11RDP-o-Matic で XRDP を導入している場合の修正内容です。その他の方は参考にして下さい。

/etc/xrdp/xrdp_keyboard.ini

--- xrdp_keyboard.ini.orig	2016-06-24 17:51:44.169447686 +0900
+++ xrdp_keyboard.ini	2016-06-24 07:44:47.317894018 +0900
@@ -98,7 +98,6 @@ layouts_map=rdp_layouts_map_mac
 [rdp_keyboard_jp]
 keyboard_type=7
 keyboard_subtype=2
-model=jp106
 rdp_layouts=default_rdp_layouts
 layouts_map=default_layouts_map
 

/usr/share/X11/xkb/rules/base

--- base.orig	2016-06-24 02:17:08.041738858 +0900
+++ base	2016-06-24 02:02:05.621268995 +0900
@@ -954,13 +954,16 @@
   tm2030USB-106 =       +inet(media_nav_acpi_common)
   trust_slimline =      +inet(media_nav_acpi_common)
   vsonku306     =       +inet(microsoftprooem)
-  $inetkbds     =       +inet(%m)
   $maclaptop    =       +inet(apple)+level3(enter_switch)
   $applealu     =       +inet(apple)
   $macs	        =       +inet(apple)
   sun_type7_jp_usb	=	+sun_vndr/solaris(defaults_type7jp)
   $sun			=		+sun_vndr/solaris(defaults)
 
+! model		layout		=	symbols
+  $inetkbds     jp              =       +inet(jp109)
+  $inetkbds     *               =       +inet(%m)
+
 ! layout	variant		=	compat
   de		neo			=	+caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
   jp        $sun_compat =   complete+japan(kana_lock)

/usr/share/X11/xkb/symbols/inet

--- inet.orig	2016-06-24 16:47:59.730480262 +0900
+++ inet	2016-06-24 07:49:02.387162449 +0900
@@ -1846,6 +1846,12 @@ xkb_symbols "pc105" {
     include "inet(media_nav_acpi_common)"
 };
 
+partial alphanumeric_keys
+xkb_symbols "jp109" {
+    include "inet(media_nav_acpi_common)"
+    key  { [ Henkan ] };
+};
+
 //Intelligent Keyboard K04
 partial alphanumeric_keys
 xkb_symbols "intelligent_keyboard_k04" {

/opt/X11rdp/share/X11/xkb/rules/base

--- base.orig	2016-06-24 02:13:19.832611586 +0900
+++ base	2016-06-24 07:50:04.619465134 +0900
@@ -1012,11 +1012,14 @@
   tm2030USB-106 =       +inet(media_nav_acpi_common)
   trust_slimline =      +inet(media_nav_acpi_common)
   vsonku306     =       +inet(microsoftprooem)
-  $inetkbds     =       +inet(%m)
   $maclaptop    =       +inet(apple)+level3(enter_switch)
   $applealu     =       +inet(apple)
   $macs	        =       +inet(apple)
 
+! model		layout		=	symbols
+  $inetkbds     jp              =       +inet(jp109)
+  $inetkbds     *               =       +inet(%m)
+
 ! layout	variant		=	compat
   de		neo			=	+caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
 

/opt/X11rdp/share/X11/xkb/symbols/inet

--- inet.orig	2016-06-24 02:14:02.548823251 +0900
+++ inet	2016-06-24 00:36:19.415751019 +0900
@@ -1825,3 +1825,9 @@ partial alphanumeric_keys
 xkb_symbols "pc105" {
     include "inet(media_nav_acpi_common)"
 };
+
+partial alphanumeric_keys
+xkb_symbols "jp109" {
+    include "inet(media_nav_acpi_common)"
+    key  { [ Henkan ] };
+};

※ 「XRDP で「変換」キーが入力できるように対応した — その後」へ続きます。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください