如何取消多点触控事件?

时间:2013-03-08 20:49:39

标签: macos cocoa touch nsevent

我们有一个OS X应用程序,我们需要阻止弹出字典,以响应三指点击。

最初我们考虑更改受触控板首选项面板影响的值,但无论使用这些值,都不会获取更改后的值。只有首选项面板似乎会影响任何内容。我们尝试的命令是:

defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadThreeFingerTapGesture -int 0
defaults -currentHost write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadThreeFingerTapGesture -int 0
defaults write -g com.apple.trackpad.threeFingerTapGesture -int 0
defaults -currentHost write -g com.apple.trackpad.threeFingerTapGesture -int 0

如果您注销并重新登录,则设置将生效。这不是我们的选择。

接下来的想法是在应用程序的主视图中覆盖三图触摸事件。我可以收到活动,但我没有看到任何取消活动。例如:

- (void)touchesBeganWithEvent:(NSEvent *)event {
  NSSet *touches = [event touchesMatchingPhase:NSTouchPhaseTouching inView:nil];
  if(3 == [touches count]) {
    // Okay, now what?
  }
}

思想?

0 个答案:

没有答案