Навигация
Если вы планируете создать свою раскладку, то этот раздел - для вас.
Клавиатура поддерживает конвертацию раскладок из Microsoft Keyboard Layout Creator, что позволяет достаточно оперативно создавать новые раскладки и конвертировать существующие.
Скачать MSKLC можно с сайта Microsoft, для работы он требует .NET 2.0.
.
Знание этого формата полезно, если
VirtualKeyboard.addLayout('код языка','название раскладки',
/*
* массив кодов кнопок, не включая 'backspace', 'tab',
* 'enter', 'caps lock', 'shift', 'del', 'alt' и 'space'
*/
[1105,49,50,51,52,53,54,55,56,57,48,45,61,92,1081,1094,1091,1082,
1077,1085,1075,1096,1097,1079,1093,1098,1092,1099,1074,1072,1087,
1088,1086,1083,1076,1078,1101,1103,1095,1089,1084,1080,1090,1100,
1073,1102,46],
/*
* массив кодов кнопок, вводимых при нажатом шифте
* формат - 'смещение' : 'массив кодов кнопок'
*/
{'1': [33,34,8470,59,37,58,63,42,40,41,95,43,47],
'46': [44]},
/*
* массив кодов кнопок, вводимых при нажатом альте
* формат - 'смещение' : 'массив кодов кнопок'
* или null, если таких кнопок нет
*/
null,
/*
* послений параметр это:
* массив "мёртвых" кнопок, используемых в данной раскладке
* подробнее: http://en.wikipedia.org/wiki/Dead_key
*
* доступные кнопки:
* greek tonos - \u0384
* greek dialytika tonos - \u0385
* acute accent - \xb4
* diaeresis - \xa8
* circumflex - \x5e
* grave - \x60
* tilde - \x7e
* ring above - \xb0
* caron - \u02c7
* ogonek - \u02db
* dot above - \u02d9
* breve - \u02d8
* double acute - \u02dd
* cedilla - \xb8
*
* или пользовательская функция, обрабатывающая вводимые символы она должна
* принимать 2 параметра: текущий символ и буфер символов
* возвращать массив: ['новая строка', 'количество символов для сохранения в буфере']
*/
function (char, buf) {}
);
Подробные примеры есть в файлах раскладок, для использования функции-обработчика смотрите файл с корейскими раскладками.
С помощью пользовательской функции, описываемой в предыдущем параграфе, возможно создать раскладки с поддержкой IME 1).
Подробное описание требований и примеры выложены на странице Input Method Engine для программиста.
При компиляции раскладок используется следующая структура:
Дискуссия