Встроенная функция для преобразования между символами Unicode и виртуальными кодами клавиш в Какао? - PullRequest
1 голос
/ 28 сентября 2010

Есть ли способ преобразовать символ Unicode в виртуальный код клавиши Mac?(без создания моей собственной таблицы?) Похоже, что в Windows есть VkKeyScanEx, но я не знаю о подобной функции для Какао в OS X.

На самом деле я пытаюсь сделать это для iPad,Я хочу преобразовать символы, взятые с клавиатуры, и преобразовать их в коды клавиш, поскольку клавиатура iPad не будет предоставлять коды клавиш.

Ответы [ 2 ]

0 голосов
/ 29 сентября 2010

Меня интересует причина, по которой он должен быть помечен iPhone / iPad & mdash; Конечно, вы можете сделать все преобразования в OS X? Кроме того, «клавиатура» iPhone / iPad - это, по сути, метод ввода текста (см. UITextInput) - дело не в том, что он «не будет предоставлять коды клавиш»; их просто нет (и какой код / ​​модификаторы ключей он должен предоставить, когда вы нажимаете «A», удерживаете немного и выбираете случайную версию с акцентом?).

Если вы собираетесь это сделать, протестируйте его на множестве (нечетных) методов ввода как на iPad, так и на OS X. Если есть API для вставки строки, сделайте это (но это может работать не так хорошо) для игр, которые читают коды сканирования ...). Вы даже можете написать собственное расширение метода ввода, которое принимает строки Unicode.

Это спорный вопрос, что должно произойти, когда типы клиентов Dvorak VNC на сервер QWERTY VNC ...


Я закончу тангенциальной историей:

Чуть больше года назад (до того, как у меня появился iPhone) я получил N810. Во всяком случае, он делает полуприличный SSH / VNC-клиент и имеет приличную клавиатуру.

За исключением того, что это не стандартная клавиатура. 1 - это Fn-Q и! это Fn-A, но когда я набираю Fn-A, чтобы получить «!», сервер VNC заканчивает тем, что набирает «1». Ввод Shift-Fn-A дает мне "!" Я искал (думаю Shift-Fn-Q тоже работает).

Что-то где-то анализирует символ «!», Решает, что он имеет тот же код сканирования, что и «1», и вводит код сканирования для 1 без модификатора. Это может автоматически удерживать Shift. Это может даже быть в состоянии вставить строку. Вместо этого это просто терпит неудачу.

0 голосов
/ 28 сентября 2010

Проект ShortcutRecorder в GoogleCode имеет подкласс NSValueTransformer для преобразования строк в коды клавиш и наоборот , но я не уверен, будет ли он работать на iOS.Это отличное место, чтобы начать искать, хотя.

...