単一のコンピューターに接続された2つの異なるキーボードにテレパシーがあるのはなぜですか?


1

2つの異なるキーボードをコンピューターに接続しました。(どちらもUSBポートを使用してコンピューターと通信します。)質問は次のとおりです。

1つのキーボードでCaps-LockまたはNum-Lockを押すと、他のキーボードの関連するライト(キーボードのLED)がオンになり、オフになるのはなぜですか?

@Tetsujinが最初のコメントで述べたように、コンピューターが1つのキーボードからリクエストを受信し、すべてのポートにブロードキャストを送信することを推測します。各ポートに特定のアドレスがあり、そのアドレスだけに回答を送信しませんか?この現在のメカニズムは脆弱性を増加させませんか?(たとえば、ハードウェアキーロガー)


1
おそらく、キーボードには「ボタンを押しました」と表示されます。コンピュータは、それが何であったか、それが何を意味するかを決定します。その後、USBバスに「My CapsLockがオンになりました。それを処理してください」と言います。受信機[両方のキーボード]は適切なライトをオンにします。要するに、キーボードはCapsLockの状態が何であるかを自分で決定するのではなく、コンピューターが行います。
鉄人14

@TetsujinコンピューターがUSBポートにメッセージをブロードキャストするのはなぜですか?各ポートに特定のアドレスがありませんか?もしそうなら、放送は脆弱性(キーロガー)を構築しませんか?
アブラハム14

1
キーボードには、Caps Lock状態が何であるかを知る方法がありません。確かにそれを知っているのはコンピューターだけです。「A」を押すと、コンピューターがバスに戻ることを言う理由はありませんが、CapsLockまたはNumLockは実行状態を変更します。
鉄人

ところで、なぜウィンドウはトグル状態リクエストの答えをブロードキャストするのですか?
アブラハム14

2
実際に答えが欲しい質問をしていると確信していますか?または、「一方のキーボードで大文字を入力し、もう一方のキーボードで小文字を入力できないのはなぜですか?」の行に沿っている必要がありますか?
鉄人14

回答:


5

Windowsは一度に1つのキーボードのみを受け入れます(専用のドライバーソフトウェアなし)。そのため、1つのキーボードとの相互作用はすべてのキーボードに影響します。複数のキーボードを接続してすべての作業を行うことができますが、それらはすべてOSの同じ単一のインターフェイスを介して処理され、すべて同等に扱われます。

キーボード自体はWindowsにキーコードを送信するだけで、どのキーが押されたかを伝え、すべてのキーボードは同じキーコードを送信し(一般的に)、それらの処理を決定するのはOS(Windows)次第です。このため、OSはCapsやNumなどの修飾キーの状態を実際に制御します。

接続されたすべてのキーボードは同じ影響を受けるため、使用されているCaps Lockキーに関係なく、Caps Lock(など)が切り替えられると、OSはすべてのキーボードを同じ状態に更新します。

Windowsのオンスクリーンキーボードをオンにすることで、効果を拡張できます。視覚的なキー押下は、物理キーボードで押す修飾キー(Shift、Control、Alt、Caps Lockなど)を反映していることに注意してください。

さらに読むには、これらの他のSUの質問を確認してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.