Где я могу найти список ключевых эквивалентных строк в MacOSX - PullRequest
5 голосов
/ 14 августа 2010

Мне нужно знать, какие значения NSString я могу использовать для ключевых эквивалентов.

Я не могу найти, что использовать для

  • клавиши курсора
  • Удалить / Backspace
  • функциональные клавиши
  • Числовые элементы

Ответы [ 2 ]

3 голосов
/ 03 сентября 2013

См. Темы программирования кнопок : Установка ключа кнопки Эквивалент :

https://developer.apple.com/library/mac/documentation/cocoa/conceptual/Button/Tasks/SettingButtonKeyEquiv.html

Для одного символа:

[button setKeyEquivalent:@"\r"];

Для непечатаемого символа:

unichar left = NSLeftArrowFunctionKey;
[button setKeyEquivalent:[NSString stringWithCharacters:&left length:1]];

Кнопки и пункты меню используют одинаковые API для ключевых эквивалентов.

1 голос
/ 14 августа 2010

Каждая из ключевых эквивалентных строк является просто символом, который вводит ключ. Для ключей редактирования текста есть символьные константы для каждого символа, определенные в NSText.h и , документированные в документации NSText . Используйте [NSString stringWithFormat:@"%C", desiredCharacterGoesHere], чтобы преобразовать их в строки NSStrings для использования с такими объектами, как NSMenuItems.

То же самое касается клавиш на цифровой клавиатуре, которые не отличаются от своих двоюродных братьев в основной клавиатуре. В конце концов, здесь мы имеем дело с символами , и оба набора клавиш вводят одинаковые символы. Я не думаю, что есть способ установить код клавиши меню, а не его эквивалентный ключ; вам нужно реализовать это самостоятельно.

Обратите внимание, что «delete» (как противоположность backspace) называется «forward delete» на Mac, так как backspace обычно называется delete.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...