チケット #30909

複数キーボード対応 UnitID切り替えのタイミング変更

登録: 2013-03-06 07:02 最終更新: 2013-04-08 20:21

報告者:
担当者:
(未割り当て)
チケットの種類:
状況:
完了
コンポーネント:
(未割り当て)
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし
ファイル:
なし

詳細

複数キーボードを接続した場合、WM_INPUT(raw_input)で、異なるキーボードデバイスからのキー入力情報であることが判明することを利用して、複数キーボード対応している。 しかし、のどかの場合には、デバイスドライバのレイヤ、LL Hookのレイヤのいずれでキー入力をフックして取り込んでも、WM_INPUTの情報では、Downのタイミングでは切り替わったことが判らず、結果的にUpのタイミングで入力されたキーボードが切り替わったになる。

従って、Key Downが入力されても、デバイス情報が取れるまで、Key Down出力を待たせるモードを実装することが考えられる。 なお、これを実装すると間違いなく、キー入力は遅延するだろう。

待っている間に、同じキーのUp/Downが有ったならば(Down/Downではリピート)、モディファイヤーを変えることは可能だろう。D- ダブルクリックとか。 ちなみに、4.20リリース前に、Window Messageのフックを用いて、WM_INPUTのレイヤーでもフックを試みたが、キー入力をうまく握りつぶすことが出来なかった。

チケットの履歴 (2 件中 2 件表示)

2013-03-06 07:02 更新者: applet
  • 新しいチケット "複数キーボード対応 UnitID切り替えのタイミング変更" が作成されました
2013-04-08 20:21 更新者: applet
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2013-04-08 20:21 に更新されました
コメント

4.22にて、ダミーのキーのDown/Upをデバイスドライバに送る def option FakeUp を実装した。 まだ、環境によっては、うまく行かないケースがある様子だが、OKな環境もある。 アプリによっては、E1-0x16を送ると、Uキーだと判断するものも存在する。

添付ファイルリスト

添付ファイルはありません

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする