在我的C#应用程序中,我在OnKeyDown
中处理 CTRL 和 SHIFT ,如下所示。它的作用是有意的。但是,当我按下Logitech M705上的中间按钮时,我会收到一系列不需要的按键事件。 {/ em> 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();
}
答案 0 :(得分:2)
听起来像你的logitec驱动程序有一个绑定到中间按钮点击的某个组合键宏。由于驱动程序故意模拟键盘输入,我不确定是否可以过滤掉“假”按键。