Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
macOS/Cocoa/SwiftUI-如何判断用户是否喜欢左键单击作为辅助单击?_Macos_Cocoa_Swiftui_Right Click_User Preferences - Fatal编程技术网

macOS/Cocoa/SwiftUI-如何判断用户是否喜欢左键单击作为辅助单击?

macOS/Cocoa/SwiftUI-如何判断用户是否喜欢左键单击作为辅助单击?,macos,cocoa,swiftui,right-click,user-preferences,Macos,Cocoa,Swiftui,Right Click,User Preferences,macOS默认假定用户的鼠标在其右手中,因此其第二次单击为“右键单击”。一些用户将鼠标放在左手中,因此他们的第二次单击是“左键单击” 我想在对话框中写一些文字,描述是执行主单击还是次单击。然而,我认为“二次点击”这个术语还不够普遍,大多数用户都无法理解如何检查鼠标的惯用手的系统首选项,以便根据用户的偏好交换对话框的文本 我使用的框架是SwiftUI和Cocoa,但如果这是解决这个问题的唯一方法,我愿意使用另一个框架。您可以阅读用户默认的com.apple.mouse.swapLeftRightB

macOS默认假定用户的鼠标在其右手中,因此其第二次单击为“右键单击”。一些用户将鼠标放在左手中,因此他们的第二次单击是“左键单击”

我想在对话框中写一些文字,描述是执行主单击还是次单击。然而,我认为“二次点击”这个术语还不够普遍,大多数用户都无法理解如何检查鼠标的惯用手的系统首选项,以便根据用户的偏好交换对话框的文本


我使用的框架是SwiftUI和Cocoa,但如果这是解决这个问题的唯一方法,我愿意使用另一个框架。

您可以阅读用户默认的
com.apple.mouse.swapLeftRightButton

从终端,运行:

defaults-currentHost read-globalDomain.apple.mouse.swapLeftRightButton
如果钥匙不存在,则不交换按钮(即主按钮为“左”)

从Cocoa中,可以使用
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==%@),
([交换布尔值]?@“是”:@“否”);

您可以阅读用户默认的
com.apple.mouse.swapLeftRightButton

从终端,运行:

defaults-currentHost read-globalDomain.apple.mouse.swapLeftRightButton
如果钥匙不存在,则不交换按钮(即主按钮为“左”)

从Cocoa中,可以使用
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==%@),
([交换布尔值]?@“是”:@“否”);

适合我!现在来看看如何让SwiftUI对这种偏好变化做出反应……对我来说很有用!现在要了解如何使SwiftUI对此首选项更改作出反应…不要忘记,可以完全禁用次单击。此外,有些鼠标只有一个按钮(无法通过多点触摸进行区分)。例如,原始iMac附带的古代冰球鼠就是一个很好的例子!在这种情况下,我如何检测用户使用的输入设备是否不支持二次单击,或者是否禁用了二次单击?不确定。切换时,我没有看到任何首选项设置更改。这可能不是某个用户需要看到的。这可能会影响司机的行为,这是公平的。我想,在检测到这一点之前(或者更可能的是,在SwiftUI注册二次点击之前),我仍然会抛出这条指令。别忘了二次点击可以完全禁用。此外,有些鼠标只有一个按钮(无法通过多点触摸进行区分)。例如,原始iMac附带的古代冰球鼠就是一个很好的例子!在这种情况下,我如何检测用户使用的输入设备是否不支持二次单击,或者是否禁用了二次单击?不确定。切换时,我没有看到任何首选项设置更改。这可能不是某个用户需要看到的。这可能会影响司机的行为,这是公平的。我想,直到有可能检测到(或者更可能的是,直到SwiftUI注册二次点击),我仍然会抛出这个指令。