首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gdk事件设备类型错误

Gdk事件设备类型错误
EN

Stack Overflow用户
提问于 2018-02-08 21:38:55
回答 1查看 74关注 0票数 1

我试图用Gdk (在vala)捕获笔输入。这是我的密码

代码语言:javascript
复制
    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的一个问题?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-09 16:14:38

通过使用Gdk.DeviceToolType来解决它。

代码语言:javascript
复制
var tool = anEvent.get_device_tool().get_tool_type();

if (tool == Gdk.DeviceToolType.PEN) {
    stdout.printf("pen?\n");
}

... 

反而管用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48695212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档