1

我在13" MacBook Pro(型号 7,1。2010 年中)上,我最近安装了 Ubuntu 12.04 LTS。基本上我想做的是制作一个程序,当用户点击时调用右键菜单Mac 触控板的右下角。

这里的主要问题是检测用户在触控板上的确切位置。当然,这在 OSX 中很容易使用NSTouch

- (void)touchesBeganWithEvent:(NSEvent *)event {
    NSSet *touches = [event touchesMatchingPhase:NSTouchPhaseBegan inView:self];
    for(NSTouch *touch in touches) {
        NSPoint normalizedPosition = touch.normalizedPosition;

        //points inside `normalizedPosition`
        //top center: (.5, 1), bottom left: (1, 0)
    }
}

然而,问题是在 Ubuntu 中做同样的事情(说实话,任何编程语言都可以)。现在,我看到了这样的帖子但是,因为我已经知道如何在 OSX 中做到这一点,所以我认为这个问题不相关。我也看过这篇文章,但是,我并不是在寻找一种通用的、标准化的方法来检测绝对手指位置。老实说,我很乐意让 Ubuntu检测Mac 制造的触控板的手指位置。也看到了这个 AskUbuntu 帖子,但回答者(虽然他做了一个很好的总结)似乎说得更普遍。

有谁知道如何在 Ubuntu(或在 Ubuntu 上编译的编程语言)中获得类似NSTouchnormalizedPosition的属性?

4

1 回答 1

0

您可以使用mtdev库来做到这一点。从evtest开始,找出您需要的输入设备和来自输入设备的信息,然后使用 mtdev 库从 C 中访问它。

另一个很棒的库来做我最初想做的事情(即,在触控板上创建一个区域,它会调用一个右键单击菜单)是mtrack库(以节省一些工作)。如果您想浏览代码,它还提供了从 mtdev 访问信息的示例。

于 2013-07-19T14:46:22.753 回答