2006年04月08日(土) [過去の今日]
#4 rdesktopのキーバインド
付属のkemapping.txtを読むとある程度わかるのだが、keymapファイルを書き換えることで、意図した通りにキーバインドを伝えることができる。ただし、Meta、Super、HyperはすべてWindowsキーとして解釈されてしまう。そして、mapラインで相手に送るキーコードをどう解釈するかを定められる。これはWindowsにおけるキーボードのプロパティを指定する箇所らしいのだが、実は現行のrdesktop 1.4.1ではMS-IMEを指定できない。コードを入れておくg_keylayoutという変数がintなのだが、MS-IMEのコードは0xe0010411だそうで、はみ出してしまうようだ。そのため、jaのマップになってる0x0411では「日本語 - MS-IME 2002」などではなく、「日本語 - 日本語」になってしまう。
昨年にパッチを書いた人 がいるので、それをあてるか、今年の初頭以降のCVSには取り込まれてるので、そちらを利用するのがいいようだ。検索すると CVSでどうにかした人 がいた。
うちは101キーボード(HHK Pro)なのだが、en-usのkeymapファイルを使っていると、mapラインが0x0409、つまりen-us Englishと解釈され、日本語IMEが使われないという悲しい事態になったりする。しょうがないのでen-usのkeymapファイル(debianだと/usr/share/rdesktop/keymaps)をja-usとしてコピーし、mapファイルだけ書き換えることにした。
また、このままだと何故かAlt_Rが効かないので、
Alt_R 0x38
という行をja-usファイルに書き加え、Alt_Lと同じコードを送るように設定した。
これで -k ja-us オプションを付ければ問題無い……はずなんだが、なぜかrdesktopのソースがapt-getできずに試せなかったり……。
(@483)
@ おっけーい:
なんかapt-get source rdesktopするとCPUが100%に張りついたまま止まってたのだが、放置して飯食って帰ってきたら正常終了してた。もいっかいやり直したらさくっとゲット終っちゃうし、なんだったんだろ。
ともかく上記パッチあててrebuildして、-k ja-us で起動したら見事に意図通りに。すばらしいな。
(@598)