スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

読点だけ入力できない問題の解消(姫踊子草2.0013.23

みなさましばらくぶりにございます。別件で作業してたら姫踊子草の未解決問題を一つクリアできたらしいのでそれを公開した旨のお知らせです。

パソコンの設定によっては姫踊子草から読点だけが入力できず、半角カンマが未確定文字列の前にねじ込まれるという問題がありました。それらしい報告は前からあったのですが、昨日になって初めて現象を確認できたので対応致しました次第です。

もしかしたら類似の現象がある場合も今回の更新で解決できているかもしれません。

姫踊子草最新版の入手はいつもと同じく公式サイトから、版2.0013号構築23番です。第三者のチェックを行ったものをご利用になる場合はVectorさんにも登録を申請しておりますので数日お待ちのうえで、構築23番になっていることを確認してご利用ください。


技術的解説ー。

現在の姫踊子草はなるべくスキャンコードで代理出力を発生させて、キーボード依存を減らしてみようと試みていたんですが、仮想キーコードは取得できるけどスキャンコードは取得できない場合のフォローが足りてなかったのが原因。

Windows Vista の 64bit 版で気がついたんですが、キーボードのデバイスドライバーが「標準 PS/2 キーボード」の場合はなんの問題もなくても「日本語 PS/2 キーボード(106/109 キー Ctrl+英数)」だったときにカンマを出力するためのスキャンコードが得られない、ということがわかりまして。

同じ名前でなくても実質的に後者の派生物から成るデバイスドライバーなら同じ現象が発生するはずです。

さらに詳しく言うと VkKeyScan 関数に半角カンマを渡すと後者の場合は 0xDF (VK_OEM_8) が返されて、これをさらに MapVirtualKeyEx(MAPVK_VK_TO_VSC, 0xDF, hKl) として呼び出すと 0 が返されてしまい、スキャンコードではカンマを出力できません、という結果になってしまいます。

で、スキャンコードで出力できないなら直接文字で出すしかないよね、となってたのがこれまでの処理。そうでなくて、仮想キーコードまでは得られているんならそっち使いなさいな、というのが今回の更新内容です。

この現象で連絡いただいた方、今まで対処がとれずに申し訳ございませんでした…

スポンサーサイト

theme : キーカスタマイズ
genre : コンピュータ

リンク
RSSフィード
ブログ内検索
最近のトラックバック
月別アーカイブ
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。