macOS 默认假设用户的鼠标在右手,所以他们的二次点击是“右键点击”。有些用户左手握着鼠标,所以他们的二次点击是“左键点击”。
我想在对话框中写一些文本来描述是执行主单击还是辅助单击。但是,我认为“二次点击”这个词并不常见,以至于大多数用户都无法理解。如何检查鼠标惯用手的系统偏好,以便我可以根据用户的偏好换出对话框的文本?
我使用的框架是 SwiftUI 和 Cocoa,但如果这是解决这个问题的唯一方法,我愿意使用其他框架。
macOS 默认假设用户的鼠标在右手,所以他们的二次点击是“右键点击”。有些用户左手握着鼠标,所以他们的二次点击是“左键点击”。
我想在对话框中写一些文本来描述是执行主单击还是辅助单击。但是,我认为“二次点击”这个词并不常见,以至于大多数用户都无法理解。如何检查鼠标惯用手的系统偏好,以便我可以根据用户的偏好换出对话框的文本?
我使用的框架是 SwiftUI 和 Cocoa,但如果这是解决这个问题的唯一方法,我愿意使用其他框架。
可以读取用户默认com.apple.mouse.swapLeftRightButton
从终端运行:
defaults -currentHost read -globalDomain com.apple.mouse.swapLeftRightButton
如果键不存在,则不交换按钮(即主按钮为“左”)。
从 Cocoa 中,可以使用以下命令读取NSUserDefaults
:
UserDefaults.standard.bool(forKey: "com.apple.mouse.swapLeftRightButton")
NSString* const SwapLeftRightButtonKey = @"com.apple.mouse.swapLeftRightButton";
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSNumber *swap = [userDefaults objectForKey:SwapLeftRightButtonKey];
NSLog(@"com.apple.mouse.swapLeftRightButton == %@",
([swap boolValue] ? @"YES" : @"NO"));