[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/05/14(Sun) 15:28
投稿者名:deadjail
URL :
タイトル:
USBテンキーのNumLock制御
いつも拝見させてもらっています。

ここに載っていたsampleと同じように
NumLockの制御を行ってみましたが、
通常のキーボードでは動きました。

しかし、USBテンキーのNumLockは
ON/OFF状態を判別できませんでした。
(両方デバイスがついている状態では
通常キーボードの状態を取得しています)

そもそもUSBテンキーと通常キーボードの
NumLockのスキャンコードが
違ったりする?等あるのかも分かりません。

試したのはサンワダイレクトの
NT-2Uというテンキーです。
別のテンキーでは試していません。

ボタンが押されたタイミングで
NumLockの状態をチェックし、強制的にNumLockをOnしています。

補足ですがNumLockは通常のキーボードではキーコード114で
キーダウンイベントが発生しますが、テンキーのNumLockの場合は
キーダウンイベント自体が走っていませんでした。


USBテンキーのNumLock状態を判別・制御する為には
どうすればよいでしょうか?

投稿時間:2006/05/15(Mon) 03:40
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: USBテンキーのNumLock制御
# 回答にあらず

その手のテンキー側のNumLockは、本体側キーボードのNumLockに連動して動作するものもあれば、
本体側のNumLockとは連動しないもの(独立して動作するもの)とがあります。
(本体側では常に文字入力し、テンキー側は数値入力に特化させたいという状況に対応した設計です)

そして、それによって、たとえば「2」キーの動作が、
 本体側NumLock-on / テンキーNumLock-on
 本体側NumLock-off/ テンキーNumLock-on
 本体側NumLock-on / テンキーNumLock-off
 本体側NumLock-off/ テンキーNumLock-off
のそれぞれのパターンによって、
 vbKeyNumpad2
 vbKey2
 vbKeyDown
のいずれを返すのかが異なりますが、これはそれぞれの製品によって異なります。


連動型であれば、通常のNumLock判定法が、そのまま利用できるかと思います。
非連動型だとすれば、それは製品によって、それらのNumLock制御が、専用のドライバ等によって
制御されている物と、そうでないものとがあり、そのいずれになっているのかは、自分で
調査するか、メーカーに問い合わせるかする必要があるでしょう。

# 専用ドライバを使わないタイプだとすると、送信キーコードを機械的に変更している可能性があり、
# その場合、テンキー側NumLockの変更が、OS側に通達されない(判定不可能)な可能性があります。

投稿時間:2006/05/15(Mon) 18:05
投稿者名:deadjail
URL :
タイトル:
Re^2: USBテンキーのNumLock制御
魔界の仮面弁士さん、レスありがとうございます。

やはりそういったことがあるのですね。
一応メーカーに問い合わせて、OSにキーコードを
送っているか?などは確認してみたいと思います。

色々試してダメな場合は
ちょっとかっこ悪いですけど、
例えば←キー入力ならば"4"と"←"は「←を押した時の
サブルーチン」といった感じで対応しようと思います。

ありがとうございました。

追伸:先ほどメーカーに確認したところ細かい仕様は
   調べないと分からない&教えられない
   ということでしたので、あきらめます。