Где я могу найти список кодов клавиши для использования с классом Какао NSEvent?

Я ищу всесторонний список доступных кодов клавиши, которые могут использоваться с Какао NSEvent класс. NSEvent класс имеет a keyCode свойство, которое определяется как unsigned short. Следующий код при размещении в соответствующий объект пользовательского интерфейса повторит коды клавиши, поскольку они нажимаются:

- (void)keyDown:(NSEvent *)theEvent
{
    NSLog(@"%d", [theEvent keyCode]);
}

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

enum {
    ...
    NSKeyCodeLeftArrow = 123,
    NSKeyCodeRightArrow = 124,
    ...
};

Но если существует один, я должен все же найти его.

44
задан e.James 17 January 2010 в 07:32
поделиться

3 ответа

Насколько я знаю, нет никаких моментов или списка кодов ключей. Тем не менее, чтобы получить подобное поведение, вы можете позвонить интерпретаторы : в клавише: который позвонит соответствующие методы действия, все из которых документируются в NSRESPONDER (например, Moveleft: , inserttab : , и т. Д.)

23
ответ дан 26 November 2019 в 22:11
поделиться

Держите. Это карта всех виртуальных кодов клавиш на расширенной раскладке клавиатуры США, начиная со старого Inside Macintosh: Text. Большинство кодов клавиш всё ещё остаётся, хотя я подозреваю, что самые новые клавиатуры Apple - те, что с мультимедийными клавишами - могут изменить несколько функциональных клавиш.

Примечание: ISO и нерасширенные клавиатуры могут иметь разные функциональные коды для некоторых клавиш. Если у вас есть такая клавиатура, попробуйте приложение Peter Maurer's Key Codes. Его сайт не работает, поэтому вот моя копия .

29
ответ дан 26 November 2019 в 22:11
поделиться

Согласно этой теме форума, константы доступны в 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
6
ответ дан 26 November 2019 в 22:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: