CentOS 上の rdesktop でかな入力

JIS 日本語キーボードのかな刻印をそのままタイプする「かな入力」は最近では減ってきているように思いますが、なにげに現役ばりばりで使っています。
ローマ字から変換するというか漢字変換の仕組みが無い PC で遊んでましたから……。
普段はそれほど困ることもないのですが、表題の通り rdesktop で Windows を操作していていくつか困ることが出てきました。

しばらく我慢して使っていたもののどうにも耐えられなくなって、いろいろいじってみた結果解決したようなのでとりあえずメモ。

rdesktop の keymap を編集するので、とりあえず別名でコピーします。

# cd /usr/share/rdesktop/keymaps; cp ja ja-kana

作った ja-kana というファイルを編集していきます。

Ctrl と Caps がうまく入れ替えられない

まず CentOS 上で Ctrl と Caps を入れ替えておきます。
(システム – 設定 – キーボード の レイアウトオプション にある Ctrl key position で簡単に変更できます)

その上で、ja-kana を以下のように変更します。

-Eisu_toggle 0x3a shift
+Eisu_toggle 0x1d shift
+Caps_Lock 0x1d

どうもトグル動作が悪さをしている感じでした。

「ー」が「ろ」になる

-backslash 0x73
+backslash 0x7d

「ひらがなカタカナ」キーが効かない

+Hiragana_Katakana 0x70

そもそも定義されていませんでした。

「を」が出ない

-asciitilde 0x0b shift
-grave 0x1a shift
+grave 0x0b shift

これに加えて ~/.Xmodmap を以下のように変更します。

-keycode  19 = 0 asciitilde kana_WA kana_WO
+keycode  19 = 0 grave kana_WA kana_WO

以下のコマンドで .Xmodmap の変更を即時に反映できます。

# xmodmap ~/.Xmodmap

grave が入力されると を になるので、 Shift+0 をそもそも grave にしてあげています。
恐らく Shift+0 で tilde がでなくても困らないと思いますので……。

その他

検索しているとまれに、ATOK の場合は以下のように変更した方がよいという記述が見受けられます。
この部分については深く考えずに変更してしまったので一応メモとして残しておきますが、どういう効果があるのかはわかりません……。

-map 0xe0010411
+map 0xe0200411

なお rdesktop は -k オプションで明示的に keymap を指定できますので、これで先ほど編集した keymap ファイルを指定してあげます。
以下は一例です。

# rdesktop -k ja-kana xxx.xxx.xxx.xxx -g 1024x768 -a 16 &

これで快適なかな入力ライフがおくれるようになりました。

2013-07-31 追記

CentOS6.4 で同じような環境を作った際に .Xmodmap ではなく .xmodmaprc で以下のようにしてみました。

keycode  19 = 0 grave kana_WA kana_WO
keycode  97 = underscore underscore kana_RO

UNIX

Posted by yokky