« 01.04 宇宙戦艦ヤマト 復活篇 | ココ | 01.08 最近の外貨事情(2009.09-12) »

2010年1月 5日

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

やっと感動の最終回が近くなってきた?

なんやかんやで、結局はlang.cがおかしい。という結論に。

keymapのiniファイルを読み込ませるところが根本的に間違ってた(というか、0.4.1の時代から未だちゃんと抜け出せてないだけ)。なんでマッピングは135番目まであるのに128個しかキーを認識しないのか…それは作者が日本語キーボードを触らないから気が付かなかったんでしょう。

ソースコードを直し、iniファイルを直し、やってみたところようやくうまく行った。

スキャンコードがおかしいと思ってOSの本まであちこち探し回ったのに、なんてこった。

で、会社でもやってみたところ、…うまくいかない。km-e0010411.iniではあかんのか? と思い調べた挙句に、IME 2003 を使用している環境で、SetThreadDesktop 関数が実行されたときに問題が発生することがある(ref. マイクロソフトサポートオンライン)を発見。

なお、IME 2003 が設定されている場合、レジストリ値は E0200411 です。また、IME 2002 が設定されている場合、このレジストリ値は E0010411 です。

なんでこんなややこしいことを。とりあえず下4桁だけでキーボードを区別するようにしたらええってことかな。

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

« 01.04 宇宙戦艦ヤマト 復活篇 | 01月の記事 | 01.08 最近の外貨事情(2009.09-12) »




トラックバック

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