OS X Cocoa - Перевести код виртуального сканирования в и из Char - PullRequest
1 голос
/ 02 сентября 2011

Есть ли в окнах какао / углеродный эквивалент функций VkKeyScan и ToUnicode для перевода между кодами виртуального сканирования и строкой Unicode?Я также хотел бы выполнить это преобразование наоборот (переход от символа к коду сканирования).

Ответы [ 2 ]

1 голос
/ 03 сентября 2011

UCKeyTranslate().

1 голос
/ 03 сентября 2011

Я не уверен, что есть, к сожалению. CGEvent и NSEvent (которые не являются платными мостами, но NSEvent может конвертировать туда и обратно) являются стандартными контейнерами для событий, включая нажатия клавиш и результат может преобразовываться из кодов сканирования, зависящих от устройства, в строковые последовательности в юникоде, но, похоже, нет никакого другого способа пойти в другом направлении - от символа юникода до требуемой последовательности нажатий в зависимости от устройства.

Под кратким комментарием CGEventCreateKeyboardEvent есть следующий комментарий:

Необходимо ввести все нажатия клавиш, необходимые для создания символа, включая клавиши-модификаторы. Например, чтобы создать 'Z', нажмите клавишу SHIFT должен быть вниз, клавиша 'z' должна идти вниз, а затем клавиши SHIFT и 'z' должен быть освобожден:

Но показанная последовательность имеет жестко закодированные и необъяснимые константы для клавиш Shift и Z.

...