Я ищу всесторонний список доступных кодов клавиши, которые могут использоваться с Какао NSEvent
класс. NSEvent
класс имеет a keyCode
свойство, которое определяется как unsigned short
. Следующий код при размещении в соответствующий объект пользовательского интерфейса повторит коды клавиши, поскольку они нажимаются:
- (void)keyDown:(NSEvent *)theEvent
{
NSLog(@"%d", [theEvent keyCode]);
}
От этого кода я могу легко видеть, какие коды соответствуют определенным ключам, но я хотел бы найти официальный документ где-нибудь, который перечисляет всех их. Я ожидал, что Apple будет иметь заголовочный файл где-нибудь, который был похож на это:
enum {
...
NSKeyCodeLeftArrow = 123,
NSKeyCodeRightArrow = 124,
...
};
Но если существует один, я должен все же найти его.
Насколько я знаю, нет никаких моментов или списка кодов ключей. Тем не менее, чтобы получить подобное поведение, вы можете позвонить интерпретаторы : в клавише: который позвонит соответствующие методы действия, все из которых документируются в NSRESPONDER (например, Moveleft: , inserttab : , и т. Д.)
Держите. Это карта всех виртуальных кодов клавиш на расширенной раскладке клавиатуры США, начиная со старого Inside Macintosh: Text. Большинство кодов клавиш всё ещё остаётся, хотя я подозреваю, что самые новые клавиатуры Apple - те, что с мультимедийными клавишами - могут изменить несколько функциональных клавиш.
Примечание: ISO и нерасширенные клавиатуры могут иметь разные функциональные коды для некоторых клавиш. Если у вас есть такая клавиатура, попробуйте приложение Peter Maurer's Key Codes. Его сайт не работает, поэтому вот моя копия .
Согласно этой теме форума, константы доступны в HIToolbox/Events.h
http://forums.macrumors.com/showthread.php?t=780577
Они удобно скопировали+вставили весь набор констант и на форум. Иначе заголовок доступен здесь:
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h