Java SWT KeyUp事件侦听器未命中键
我有以下代码:Java SWT KeyUp事件侦听器未命中键,java,swt,keylistener,Java,Swt,Keylistener,我有以下代码: display.addFilter(SWT.KeyUp, new Listener() { public void handleEvent(Event e) { System.out.println("Released " + e.character); } }; 当我同时按下“a”、“s”、“d”和“f”键时,KeyDown事件按预期工作。但是,当我同时释放所有键时,我希望输出如下: 发布 释放 释放d 释放f 但事实并非如此。打印出来
display.addFilter(SWT.KeyUp, new Listener()
{
public void handleEvent(Event e)
{
System.out.println("Released " + e.character);
}
};
当我同时按下“a”、“s”、“d”和“f”键时,KeyDown事件按预期工作。但是,当我同时释放所有键时,我希望输出如下:
发布
释放
释放d
释放f
但事实并非如此。打印出来的通常只有一个字符,例如:
释放d
为什么它会跳过其他两三个项目呢?这是一个问题
错误50020-按键释放无法正常工作在以下情况下,KeyReleased似乎发射不正确或根本不发射: 连续按下并按住几个键。一个接一个,钥匙 他们被释放了。keyReleased事件激发,但event.character始终是 按下的最后一个键。如果释放最后按下的键,则所有 其他按键在释放时不会触发释放事件 该错误可能永远无法修复(bugtracker条目中的注释#1): 评论#1
这是一个非常老的错误,我们可能不会修复。问题是 窗口中没有足够的信息来计算密钥 这是在WM_键中按下的