我们有一个 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?
}
}
想法?