我试图用Gdk (在vala)捕获笔输入。这是我的密码
var source = anEvent.get_device().get_source();
if (source == Gdk.InputSource.MOUSE) {
stdout.printf("mouse\n");
} else if (source == Gdk.InputSource.PEN) {
stdout.printf("pen\n");
} else if (source == Gdk.InputSource.ERASER) {
stdout.printf("eraser\n");
} else {
stdout.printf("something else\n");
}
Gtk.main_do_event(anEvent);然而,笔输入似乎被认为是鼠标输入!然而,触摸和键盘输入似乎是正确识别的。这一点特别奇怪,因为我在我的Thinkpad X1瑜伽上测试了集成的wacom笔,以及一个独立的Intuos,两者都被Gnome所识别。另外,在Xorg / Wayland之间切换也没有什么区别。我遗漏了什么?还是仅仅是Gdk / Gtk / Gnome的一个问题?谢谢!
发布于 2018-02-09 16:14:38
通过使用Gdk.DeviceToolType来解决它。
var tool = anEvent.get_device_tool().get_tool_type();
if (tool == Gdk.DeviceToolType.PEN) {
stdout.printf("pen?\n");
}
... 反而管用。
https://stackoverflow.com/questions/48695212
复制相似问题