macOS默认情况下假设用户的鼠标在其右手手中,因此其第二次单击为“右键单击”。一些用户的左手握住鼠标,因此其第二单击为“左键单击”。
我想在对话框中写一些文字来描述是执行一次单击还是二次单击。但是,我认为“二次点击”一词的通用性不足以使大多数用户理解。如何检查系统偏好设置的鼠标惯用性,以便可以根据用户的偏好替换对话框的文本?
我正在使用的框架是SwiftUI和Cocoa,但是如果这是解决此问题的唯一方法,我将开放使用其他框架。
最佳答案
您可以阅读用户默认的com.apple.mouse.swapLeftRightButton
从终端运行:
defaults -currentHost read -globalDomain com.apple.mouse.swapLeftRightButton
如果键不存在,则按钮不会被交换(即主按钮为“左”)。
在可可中,可以使用
NSUserDefaults
进行读取:迅速
UserDefaults.standard.bool(forKey: "com.apple.mouse.swapLeftRightButton")
目标C
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"));