Обработка клавиатуры в Cocoa
От: Went  
Дата: 29.01.21 10:40
Оценка:
Доброго дня.
Разрабатываю под MacOS, нужно отлавливать пользовательский ввод в самодельный EditBox. То есть мне нужны не коды клавиш, а именно коды символов (с большими буквами и национальными символами на альтернативных раскладках). Для этого есть отличный NSEvent у которого есть свойство characters типа NSString. Беру оттуда чарактеры по одному и это и будут наши символы ввода.
Всё отлично, пока мы не нажимаем, например, кнопки вверх или вниз. NSEvent посылает мне какие-то дикие юникодные символы из Private Page, типа f700-f703. И это не единственное, есть еще много всяких классных комбинаций, которые порождают непонятные символы юникода. Зачем cocoa это делает? Как это обойти? Или отключить или как-то фильтровать нормальные символы от этих чудиков?
И, кстати, второй вопрос. На нажатие кнопок "тильда" (слева от "1") и кавычка (слева от "Энтер") она, напротив, молчит и не посылает никаких чарактеров (хотя скан-коды клавиш приходят). Как это обойти?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.