« 12.30 0次会から2次会まで | ココ | 12.31 2009 Topics »

2009年12月31日

日本語キーボードを訪ねて三千里(xrdp 0.5 相棒)   このエントリーを含むはてなブックマーク 

とりあえずその後判明したことがありました。

  • RPM版xrdp0.5は、keymap対応にバグがある

そう、これまでcvsから引っ張り出して作り出していたxrdp-genkeymapでできたファイルをrpm版のxrdpで読み込ませるとキーの配置がちゃんと適用されないどころかsegmentation faultが起こる。てことで、rpmは消した。
不思議なことに、rpm版は自分でビルドするのと出来上がりのファイルサイズが全然違って小さい。謎。

  • km-e0010411.iniでマッピングされていても、rdpレベルで弾かれるキーがある?

Keyboard Scancode Map(ref. livedoor Wiki -smnb) からたどって見つけたJapanese Keyboard (layout and scancode)なんてのがあって、これがこれまでの中で一番分かりやすいスキャンコードのリストやったんやけど…やっぱりこれを見ても「_」=0x73で、「¥ / |」=0x7d。とりあえず「_」を入力できるようにすることは容易かったけど。

RDPの情報によると、なんでもスキャンコードはWindowsでもLinuxでも関係なくそのままの値が渡されるらしい…ということで、自分のキーボードのタイプを確認してみたら、びっくりなことに「101/102」と書いてあった(どうやってこのPCは「¥」と「|」を入力できるようにしてるんだろ?)…てことで、影響はないと思うが1つずつ可能性を潰していくしか今は他にない。

Windows XP で PS/2 接続の Microsoft 日本語キーボードを使用すると、デバイス マネージャの一覧に 101/102 配列の英語キーボードとして表示される場合がある(ref. マイクロソフトサポートオンライン)

↑で直してみたものの、やっぱりというか影響はなく、「¥」と「|」は入力できない。

で、スキャンコードを取得できるというAPIを使って「|」と「_」のコードを取ってみることにした。ちなみに、これは他所からコピペしたのを弄ったやつやけど、意外や初C#(何かの目的を達成するコードを書いたのは)。APIを使ってちょこっとコードを書こうと思えば、VBよりもC#やね。

でも…得られた値とiniファイルのkeymapとはどうにも整合性がない。謎。

By ただ at 10:05 カテゴリー ; プログラミングとか

« 12.30 0次会から2次会まで | 12月の記事 | 12.31 2009 Topics »




トラックバック

このエントリーのトラックバックURL:
http://pinmarch.sakura.ne.jp/mt/mt-tb.cgi/1523

このリストは、次のエントリーを参照しています: 日本語キーボードを訪ねて三千里(xrdp 0.5 相棒):

» 日本語キーボードを訪ねて三千里(xrdp 0.5 ブエノスアイレス) from PinMarch
やっと感動の最終回が近くなってきた? なんやかんやで、結局はlang.cがおかし...

トラックバック時刻: 2010年1月 6日 01:54