Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОУК / 09 семестр / Книги и методические указания / Руководство программиста в Photon.doc
Источник:
Скачиваний:
364
Добавлен:
04.03.2014
Размер:
7.99 Mб
Скачать

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

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

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

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

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

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

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

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

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

Скомпонованные последовательностиPhoton'а

В Photon'е задействованы стандартные скомпонованные последовательности. Если Ваша клавиатура не включает в себя символы из стандартной таблицы кодов ASCII, Вы можете генерировать символ, используя скомпонованные последовательности. Например, символ ó может быть сгенерирован нажатием клавиши <Alt>, следом – клавиша <´>, и следом клавиша <о>.

 Это не сочетание клавиш; нажимайте и отпускайте каждую клавишу одна за другой.

Для генерирования букв с символом ударения могут использоваться следующие клавиши:

Клавиша

Ударение

Пример

последовательности

Результат

´

сильное ударение

Alt ´ o

ó

¸

седиль

Alt ¸ c

ç

^

циркумфлекс

Alt ^ o

ô

¨

диарезис (трема)

Alt " o

ö

`

тупое ударение

Alt ` o

ò

/

наклонная

Alt / o

ø

~

тильда

Alt ~ n

ñ

Если на Вашей клавиатуре нет следующих символов, Вы можете создать их, нажав клавишу <Alt>, следом первую клавишу последовательности и следом вторую клавишу последовательности.

Символ

Описание

Значение

Unicode

Последовательность

æ

Маленькая буква "æ" (лигатура)

E6

Alt e a

Æ

Заглавная буква "æ" (лигатура)

C6

Alt E A

Đ

Заглавная буква "eth"

D0

Alt D -

ð

Маленькая буква "eth"

F0

Alt d -

ß

Маленькая буква "острое s"

(немецкая "заострённая s")

DF

Alt s s

µ

Знак микро

B5

Alt / U

þ

Маленькая буква "торн" (руническая "р")

FE

Alt h t

Þ

Большая буква "торн" (руническая "р")

DE

Alt H T

#

Знак номера

23

Alt + +

@

Коммерческое "at"

40

Alt A A

©

Знак копирайта

A9

Alt C 0

Alt C O

Alt C o

Alt c 0

Alt c O

Alt c o

®

Знак зарегистрированной торговой марки

AE

Alt R O

[

Левая квадратная скобка

5B

Alt ((

]

Правая квадратная скобка

5D

Alt ))

{

Левая фигурная скобка

7B

Alt (-

}

Правая фигурная скобка

7D

Alt )-

»

Знак правых двойных угловых кавычек

BB

Alt >>

«

Знак левых двойных угловых кавычек

AB

Alt <<

^

Диакретическое ударение

5E

Alt > пробел

'

Апостроф

27

Alt ´ пробел

`

Тупое ударение

60

Alt ` пробел

|

Вертикальная черта

7C

Alt / ^

Alt V L

Alt v l

\

Обратная наклонная черта

5C

Alt / /

Alt / <

~

Тильда

7E

Alt пробел

Неразрывный пробел (no-break space)

A0

Alt пробел пробел

°

Знак градуса

B0

Alt 0 ^

¡

Знак перевёрнутого восклицательного знака

A1

Alt ! !

¿

Знак перевёрнутого вопросительного знака

BF

Alt ? ?

¢

Знак цента

A2

Alt C /

Alt C |

Alt c /

Alt c |

#

Знак фунта [прим. пер. – знак # стоит в самом оригинале... Вообще-то, полагаю, должно быть "Ł"]

A3

Alt L -

Alt L =

Alt l -

Alt l =

¤

Знак валюты

A4

Alt X 0

Alt X O

Alt x 0

Alt X o

Alt x O

Alt x o

¥

Знак иены

A5

Alt Y -

Alt Y =

Alt y -

Alt y =

¦

Разорванная (вертикальная) черта

A6

Alt ! ^

Alt V B

Alt v b

Alt | |

§

Знак параграфа

A7

Alt S !

Alt S 0

Alt S O

Alt s !

Alt s 0

Alt s o

¨

Трема, или умляут

A8

Alt " "

·

Срединная точка

B7

Alt . .

¸

Седиль

B8

Alt , пробел

¬

Знак отрицания (not sign)

AC

Alt - ,

Мягкий перенос

AD

Alt - -

¯

Макрон (знак долготы над гласным)

AF

Alt - ^

Alt _ ^

Alt _ _

±

Знак плюс-минус

B1

Alt + -

¹

Показатель степени 1

B9

Alt 1 ^

Alt S 1

Alt s 1

²

Показатель степени 2

B2

Alt 2 ^

Alt S 2

Alt s 2

³

Показатель степени 3

B3

Alt 3 ^

Alt S 3

Alt s 3

Знак абзаца (знак параграфа)

B6

Alt P !

Alt p !

ª

Порядковый женский указатель (feminine ordinal indicator)

AA

Alt A -

Alt a -

°

Порядковый мужской указатель (masculine ordinal indicator)

BA

Alt O _

Alt o _

¼

Простая дробь одна четвёртая

BC

Alt 1 4

½

Простая дробь одна вторая

BD

Alt 1 2

¾

Простая дробь три четверти

BE

Alt 3 4

/

Знак деления

F7

Alt - :

*

Знак умножения

D7

Alt x x