1
是否可以发布一个Key
事件,其中包含该字符,因为它应该由焦点小工具接收?如何发布仅包含键盘字符(无修饰符)的SWT键事件?
我想制作一个简单的弹出式键盘,它会生成Key
事件,我想使弹出式键盘完全独立于键盘映射的物理键盘。我现在看到的是,当我将字符设置为'('而没有生成移位事件时,我得到一个'8'(我有一个德国键盘,其中'('是Shift + 8)不同的键盘上“(”将别人再次出现的东西
有什么办法来绕过映射
我当前的代码:?
private void postKey(Key key) {
if(shift) {
Event ke = new Event();
ke.type = SWT.KeyDown;
ke.keyCode = SWT.SHIFT;
refWidget.getDisplay().post(ke);
}
Event ke = new Event();
ke.type = SWT.KeyDown;
ke.character = shift ? key.shifted[0] : key.normal[0];
refWidget.getDisplay().post(ke);
ke.type = SWT.KeyUp;
refWidget.getDisplay().post(ke);
if(shift) {
Event ev = new Event();
ev.type = SWT.KeyUp;
ev.keyCode = SWT.SHIFT;
refWidget.getDisplay().post(ev);
}
}
在仔细看我的第一个答案只适用于'StyledText '。请参阅修订版本。 – 2014-10-07 14:09:22
+1 - 感谢您的信息。我曾希望它会更简单:-)我会看看SWTBot页面... – paul 2014-10-08 05:24:26