Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
56
Добавлен:
02.04.2015
Размер:
9 Мб
Скачать
☆

Другие кодировки

Если вашему приложению требуется работать с другими символьными кодировками, Вам надо преобразовать в и из UTF-8. Символьные наборы определены в файле /usr/photon/translations/charsets и включают:

  • Big5 (Chinese)

  • Cyrillic (KOI8-R)

  • Japanese (EUC)

  • Japanese (Shift – JIS)

  • Korean (EUC)

  • Western (ISO 8859-1)

Предлагаются следующие функции преобразования, описанные в "Справочнике библиотечных функций Photon'а":

PxTranslateFromUTF()

Преобразовывает символы из UTF-8

PxTranslateList()

Создаёт список всех поддерживаемых преобразований символов

PxTranslateSet()

Устанавливает новый символьный набор для преобразования

PxTranslateStateFromUTF()

Преобразует символы из UTF-8, используя внутренний буфер состояния

PxTranslateStateToUTF()

Преобразует символы в UTF-8, используя внутренний буфер состояния

PxTranslateToUTF()

Преобразует символы в UTF-8

PxTranslateUnknown()

Управляет тем, как обрабатывать неизвестные кодировки

 Эти функции поддерживаются только в статической форме в библиотеке phexlib Photon'а. Прототипы находятся в файле <photon/PxProto.h>.

Драйверы клавиатуры

Драйвер клавиатуры управляется таблично; он обрабатывает любую клавиатуру со 127 или немного меньшим количеством физических клавиш.

Нажатие клавиши сохраняется в структуре типа PhKeyEvent_t (описанной в "Справочнике библиотечных функций Photon'а").

Пример: текстовые виджеты

Текстовые виджеты используют область key_sym для отображаемых символов. Эти виджеты также проверяют её для обнаружения движения курсора. Например, если содержанием области является Pk_Left, курсор движется влево. key_sym имеет значение Pk_Left как для клавиши "курсор влево", так и для клавиши "курсор влево" на цифровой клавишной панели (предполагается, что NumLock выключено).

Слепые клавиши (dead keys) и скомпонованные последовательности

QNX поддерживает "слепые" клавиши и "скомпонованные" клавиатурные последовательности для генерации key_syms, которые отсутствуют на клавиатуре. Область key_sym применима только к нажатию клавиши, а не к её отпусканию, чтобы гарантировать, что Вы получите только один символ, а не два.

Например, если клавиатура имеет слепую клавишу ударения (например, ` ), и пользователь нажимает её следом за е, Key_sym принимает значение "е" со знаком ударения (è). Если клавиша "е" не отпущена, и затем была нажата другая группа клавиш (или продолжена последовательность, или последовательность слепой клавиши), key_syms будет сохранять это в стеке до завершающего отпускания.

Если в ходе скомпонованной последовательности нажата неверная клавиша, драйверы клавиатуры генерируют key_syms для всех промежуточных клавиш, а не для действительного нажатия или отпускания.

Соседние файлы в папке Литература