■USBテンキーからの入力で・・・。
ELECOM製USBテンキーを買ってきました。
その説明書にNumLock問題として、「USBテンキーから数字を入力するには、NumLockキーを オンにしなければならないが、そのことによりノートパソコン上のキーボードも 数字入力に切り替わってしまう。」というような内容が書いてありました。 そして、この製品はハードウェアレベルでこの問題を解決しているとのことでした。
実際に使ってみるとOnKeyPressでは問題ありませんが、OnKeyDownで処理するときには 注意が必要です。 というのも、テンキーを押すとそのコードの前後にVK_NUMLOCKが送られてくるからです。
1を押すと
長い時間押すとキーリピート機能が働き
00という特殊なキーは、長い時間押してもキーリピート機能が働かず、
まあ、基本的なことですが条件分岐をきちんと書かなければいけないということですね。
その説明書にNumLock問題として、「USBテンキーから数字を入力するには、NumLockキーを オンにしなければならないが、そのことによりノートパソコン上のキーボードも 数字入力に切り替わってしまう。」というような内容が書いてありました。 そして、この製品はハードウェアレベルでこの問題を解決しているとのことでした。
実際に使ってみるとOnKeyPressでは問題ありませんが、OnKeyDownで処理するときには 注意が必要です。 というのも、テンキーを押すとそのコードの前後にVK_NUMLOCKが送られてくるからです。
1を押すと
VK_NUMLOCK(144) VK_NUMPAD1(97) VK_NUMLOCK(144)と送られてきます。
長い時間押すとキーリピート機能が働き
VK_NUMLOCK(144) VK_NUMPAD1(97) VK_NUMPAD1(97) ・ ・ (押した分だけ) ・ VK_NUMLOCK(144)と送られてきます。
00という特殊なキーは、長い時間押してもキーリピート機能が働かず、
VK_NUMLOCK(144) VK_NUMPAD0(96) VK_NUMPAD0(96) VK_NUMLOCK(144)と送られてきます。
まあ、基本的なことですが条件分岐をきちんと書かなければいけないということですね。
| 固定リンク