[oodisc] M-dash

Alexej Kryukov akrioukov на newmail.ru
Ср Фев 16 19:11:18 MSK 2005


On Wednesday 16 February 2005 17:28, Sergey Kuznetsov wrote:
>
> Исключено. Все происходит с одной и той же раскладкой. Просто
> несколько раз набираю комбинацию и получаю разные результаты. В
> одном случае короткое тире, в другом - последовательность "--.",
> воспроизводится это на _любой_ раскладке (с поправкой на
> местонахождение точки). Скорее всего, что-то с клавой, хотя
> клавиша menu попросту не может быть истертой: я никогда в жизни
> ее не использовал.

И всё это в том же самом приложении (каком, кстати?) в течение 
одного и того же сеанса? Такое практически невероятно...

> > Опять же, это названия не клавиш, а X11 keysyms, т. е. неких
> > кодов,  в которые преобразуются поступающие с клавиатуры
> > сигналы в зависимости от текущей раскладки. А пользовательское
> > приложение, в свою очередь,  уже решает, как преобразовать эти
> > коды в отображаемый на экране текст.
>
> Я имел в виду: как правильно прописывать их в этот файл при
> создании своих комбинаций.

Ничего не имею против :) Но считать X11 keysyms названиями
клавиш, тем не менее, не надо: это уж скорее похоже на названия
символов.

> [yozhik at localhost X11]$ ls /usr/X11R6/include/X11/
> bitmaps  pixmaps
> [yozhik at localhost X11]$ locate keysumdef.h
> [yozhik at localhost X11]$
>
> Не выходит, однако, каменный цветок...

Ну так нужно же установить пакет X11-devel, или как он там
называется.

> > Ну а для юникодовых символов, которые в этом файле отсутствуют,
> > можно использовать обозначения вида Uxxxx, причем числовое
> > значение такого keysym будет равняться сумме его индекса
> > Unicode и  числа 0x1000000.
>
> Типа U+003E? Их проще, пожалуй, подсмотреть в диалоге "вставка
> символа".

Предполагается, что индекс Unicode нужного символа Вы уже знаете:
посмотрели в какой-нибудь таблице символов, или даже в 
спецификации на unicode.org. Речь о другом: о формате его записи
в виде X11 keysym. Далеко не очевидно, что писать надо именно
"U003E", а не "U+003E" или "uni003E". Также не очевидно, что
числовое значение такого keysym будет 0x100003E, а не просто
0x3E, хотя знание этого последнего факта Вам, возможно, и не
понадобится.

Впрочем, не советую проделывать такое именно с 0x3E (знак "больше"):
данный способ записи -- только для тех символов Unicode, которые
не имеют специальных соответствий в keysymdef.h.


-- 
Regards,
Alexej Kryukov <akrioukov at newmail dot ru>

Moscow State University
Historical Faculty


Подробная информация о списке рассылки Oo-discuss