macOS / Cocoa / SwiftUI - Как узнать, предпочитает ли пользователь щелчок левой кнопкой мыши как вторичный щелчок? - PullRequest
0 голосов
/ 13 февраля 2020

macOS по умолчанию предполагает, что мышь пользователя находится в правой руке, поэтому его вторичный щелчок - это щелчок правой кнопкой мыши. Некоторые пользователи держат мышь левой рукой, поэтому их вторичный щелчок - это «щелчок левой кнопкой мыши».

Я хочу написать в диалоговом окне текст, описывающий, выполнять первичный или вторичный щелчок. , Тем не менее, я думаю, что термин «вторичный щелчок» недостаточно распространен для понимания большинством пользователей. Как я могу проверить системные настройки для руки мыши, , чтобы я мог поменять текст диалога в зависимости от предпочтений пользователя?

Я использую SwiftUI и Cocoa. , но я был бы открыт для использования другого, если это единственный способ решить эту проблему.

1 Ответ

2 голосов
/ 14 февраля 2020

Вы можете прочитать пользовательское значение по умолчанию com.apple.mouse.swapLeftRightButton

Из терминала запустите:

defaults -currentHost read -globalDomain com.apple.mouse.swapLeftRightButton

Если ключ не существует, кнопка не поменяется местами (т. Е. Основная кнопка «Слева»).

Из Какао это можно прочитать, используя NSUserDefaults:

Swift

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"));
...