0

私の C# アプリケーションでは、次のようにCTRLandを処理SHIFTOnKeyDownます。意図したとおりに機能します。しかし、Logitech M705 の中央のボタンを押すと、一連の不要なキー イベントが発生します。との両方 が呼び出されますが、これは明らかに望ましくない動作です。(ドライバーは、いくつかの特別なズーム ツールをアクティブにするために、いくつかのキーの押下を生成すると思いますか?)foo()bar()

Q:これらのシミュレートされたキーの押下をどのように検出できますか? OnKeyDownまたは、この特定のケースで呼び出されないようにするにはどうすればよいですか?

protected override void OnKeyDown(System.Windows.Forms.KeyEventArgs e)
{
    if (e.KeyCode == Keys.ShiftKey)
        foo();
    else if (e.KeyCode == Keys.ControlKey)
        bar();
}
4

1 に答える 1

2

Logitec ドライバーには、中ボタンのクリックにバインドされた特定のキーの組み合わせマクロがあるように思えます。ドライバーは意図的にキーボード入力をシミュレートするため、「偽の」キー押下を除外できるかどうかはわかりません。

于 2012-08-08T14:36:52.880 に答える