Кодовая точка Unicode для комбинаций клавиш - PullRequest
1 голос
/ 22 октября 2010

Может кто-нибудь подсказать, пожалуйста, как определить точку символа Юникод для комбинации из нескольких клавиш, включающей клавишу «команда»?Например, если пользователь одновременно нажимает клавишу «команда» и клавишу «1» на клавиатуре, каково представление символов Юникода для этого?

Может быть, я ищу не ту вещь,но я не могу найти это в таблицах символов, ссылках на клавиатуры или таблицах юникода , которые я нахожу.Я могу отсортировать другие комбинации клавиш (например, shift-1), так как есть очевидный вывод символов "!"что я могу посмотреть и найти, что это U + 0021.Когда я захожу на карту символов или в приложения, командная клавиша всегда выполняет действие, а не выводит символьный результат на экран.

Мое приложение предназначено для iOS, которое, как я ожидаю, будет таким же, как Mac OS Xс точки зрения кодовой точки Unicode.Все API-интерфейсы iOS, предоставляющие доступ к клавиатуре, рассматривают ее как источник символов Unicode.Таким образом, причина, по которой я пытаюсь обнаружить нажатия клавиш таким образом.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 22 октября 2010

Коды клавиатуры в основном не зависят от кодов символов.

Хотя (как вы упомянули) многие клавиши имеют стандартные сопоставления со стандартными кодами ASCII, приложение самостоятельно решает, что с ними делать.

Некоторые API ввода могут широко использоваться в конкретной ОС, а некоторые приложения (например, эмуляторы терминала) могут использоваться в качестве общего метода ввода для класса задач, но универсального стандарта не существует.

Обязательная ссылка на Википедию для Unicode input .

1 голос
/ 23 октября 2010

Вы не можете. Просто нет кодовых точек Unicode, которые соответствуют Command + некоторый другой символ.

Кстати, то же самое относится и к Shift. Тот факт, что ваш компьютер отображает определенные комбинации с определенными кодовыми точками Unicode, не означает, что Unicode определяет такие сопоставления, или что сопоставления существуют для каждой комбинации клавиш, или что эти сопоставления одинаковы для всех остальных. Я использую две клавиатуры каждый день; один из них отображает Shift + 3 на #, другой - на £. Это определяется операционной системой, а не Unicode. Если бы вы попытались обнаружить нажатие клавиши Shift + 3, прослушав #, ваша программа, по-видимому, была сломана в половине случаев.

Это прекрасный пример вопроса XY. На самом деле вас не волнует Unicode - вы действительно хотите знать, как определять нажатия клавиш с помощью модификатора Command на iOS. Вы должны были просто спросить, как это сделать! Вероятно, есть API, который делает именно то, что вам нужно, что вы просто упустили, потому что вы сосредоточились на своем предположении, что решение будет включать Unicode - и, вероятно, есть множество экспертов по iOS, которые вообще не удосужились прочитать этот вопрос, потому что они думали, что ваша проблема связана с Unicode, а не iOS.

0 голосов
/ 22 октября 2010

Простой ответ: нет.

Вы не сказали нам, какой компьютер вы используете.Отображение нажатия клавиши на кодовую точку Unicode зависит от операционной системы, а затем зависит от активной локали.

...