vhof @ 17.10.07 12:57:53
но мне кажется, что положение попап-а рулится в конфиге, хорошо бы обнародовать толкование всех неочевидных параметров строки конфига для типового символа
клавиша: строка начинающаяся с
== 'Q' 'q' 0 16 20 32 LATIN 0 'й''Q' - VKEY, константа из winuser.h, для механической клавиатуры это порядковый номер клавиши, очень важно для не-алфавитноцифровых клавиш вроде стрелочек, Esc, F1, Enter, потому что они не передают текст и идентифицируются только по vkey.
для алфавитноцифровых, в принципе, может быть любым (в internet.txt у всех стоит '1'), хотя зависит от программы в которую идёт ввод, смотрит она на vkey или нет, возможно что есть такие которые смотрят (возможно какие-то игры?).
в общем - лучше не трогать, а при создании своей кнопки просто копировать из наиболее похожей по смыслу.
нестандартные vkey:
0xF9 - кнопка "Время"
0xFA - кнопка "Дата"
0xFD - кнопка "Paste"
0xFE - кнопка "Mod"
'q' - собственно текст, может быть не одна буква а несколько
0 16 20 32 - координаты, left, top, right, bottom, для VGA умножаются на 2.
LATIN - группа символов, принадлежность с какой-то группе определяет цвета кнопки и буквы и шрифт (кнопки группа SMALL рисуются шрифтом заданным в FONT_SMALL, остальные FONT_BIG).
Группы CONTROL, ALT и SHIFT также передают в программу сначала отпускание Ctrl (или Alt или Shift), потом нажатие и отпускание клавиши, потом отпускание Ctrl.
0 и
'й' - надписи на кнопке мелким шрифтом,
0 без кавычек соотв. пустой строке
Вообще для всех мест, где предполагается строка (vkey,text и эти надписи): цифры без кавычек - код буквы (unicode), там некоторые буквы так заданы, чтобы не путать одинаково выглядящие французскую и украинскую ї (у них разные коды, и при поиске в гугле по слову, которое содержит ї, надо употребить верную, а то он ничего не найдёт). И vkey не всегда имеет смысл как символ.
клавиша на попапе: строка начинающаяся с
+на попап попадает всё что описано после строки с
= и до следующей строки с
=+ 'Q' 'й' 20 0 36 16 CYRILLIC'Q' 'й' - VKEY и текст, всё аналогично
20 0 36 16 - координаты кнопки на попапе (left, top, right, bottom), задаются относительно левого верхнего угла клавиши, которая вызывает попап.
размеры самого попапа явно не задаются - это минимальный прямоугольник, в который помещаются все описанные клавиши попапа. (получается: min(left), min(top), max(right), max(bottom))
то есть, чтобы сместить их влево, нужно вычесть одинаковые значения от первого (left) и третьего (right) чисел.
CYRILLIC - группа символов, см выше
надписей мелким шрифтом на клавишах попапа нету.