【发布时间】:2013-07-15 18:01:13
【问题描述】:
我在13" MacBook Pro (model 7,1. Mid-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 中做同样的事情(说实话,任何编程语言都可以)。现在,我看到了像this 这样的帖子,但是,因为我已经知道如何在 OSX 中做到这一点,所以我认为这个问题不相关。我也看过this 的帖子,但是,我并不是在寻找一种通用的、标准化的方法来检测手指的绝对位置。老实说,我很乐意让 Ubuntu仅检测 Mac 制造的触控板的手指位置。也看到了this AskUbuntu post,但回答者(虽然他做了一个很好的总结)似乎说得更普遍。
有人知道如何在 Ubuntu(或在 Ubuntu 上编译的编程语言)中的 NSTouch 上获得类似 normalizedPosition 属性的东西吗?
【问题讨论】:
-
那么这实际上与 Obj-C 和 Cocoa 有什么关系,还是 Obj-C 只是“我在 OS X 中这样做”的东西,否则没有相关性?如果是这样的话,你可能会看到大多数错误的人,因为你已经有效地将它标记为关于 Obj-C 的问题。
-
@nil 好吧,它适用于了解 Obj-C 并且可能对我的问题有话要说的人。它也适用于那些可以在 Ubuntu 上的 Obj-C 中执行此操作的人。