0

在我的 C# 应用程序中,我处理CTRLSHIFTinOnKeyDown如下所示。它按预期工作。但是,当我按下 Logitech M705 上的中间按钮时,我会收到一系列不需要的按键事件。两者都 foo()bar()调用,这显然是不受欢迎的行为。(我想驱动程序会生成几个按键来激活一些特殊的缩放工具?)

问:如何检测这些模拟按键?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

在我看来,您的罗技驱动程序有一个特定的组合键宏绑定到您的中键单击。由于驱动程序有意模拟键盘输入,我不确定是否可以过滤掉“假”按键。

于 2012-08-08T14:36:52.880 回答