Язык страницы:

Создание новых раскладок

Если вы планируете создать свою раскладку, то этот раздел - для вас.

Использование MSKLC

Клавиатура поддерживает конвертацию раскладок из Microsoft Keyboard Layout Creator, что позволяет достаточно оперативно создавать новые раскладки и конвертировать существующие.

Скачать MSKLC можно с сайта Microsoft, для работы он требует .NET 2.0.

Учтите, что с помощью только MSKLC невозможно создать раскладки с поддержкой IME.

.

Формат параметров addLayout

Знание этого формата полезно, если

  • нет возможности использовать MSKLC
  • есть желание написать конвертер для LayoutManager, KbdEdit или других менеджеров раскладок
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

С помощью пользовательской функции, описываемой в предыдущем параграфе, возможно создать раскладки с поддержкой IME 1).

Подробное описание требований и примеры выложены на странице Input Method Engine для программиста.

Файловая структура

При компиляции раскладок используется следующая структура:

  • in – каталог с раскладками в формате MSKLC2)
    • addons – каталог с файлами, содержащими дополнительный текст для включения в layouts.js 3). Файлы именуются 2 заглавными буквами, соответствующими коду страны 4).
      • callbacks – каталог с файлами, содержащими текст (функцию или имя функции), который будет подставлен 6м параметром в addLayout.
  • out – каталог, куда кладётся файл layouts.js
1) Корейские, Китайские, Японские и прочие иероглифические
2) файлы с расширением .klc
3) файл я раскладками в формате VK
4) RU в случае ru-RU

  • Закладки и социальные сети
  • Сохранить "Создание новых раскладок" на del.icio.us
  • Сохранить "Создание новых раскладок" на Digg
  • Сохранить "Создание новых раскладок" на Furl
  • Сохранить "Создание новых раскладок" на Reddit
  • Сохранить "Создание новых раскладок" на Ask
  • Сохранить "Создание новых раскладок" на BlinkList
  • Сохранить "Создание новых раскладок" на blogmarks
  • Сохранить "Создание новых раскладок" на Google
  • Сохранить "Создание новых раскладок" на Ma.gnolia
  • Сохранить "Создание новых раскладок" на Netscape
  • Сохранить "Создание новых раскладок" на ppnow
  • Сохранить "Создание новых раскладок" на Rojo
  • Сохранить "Создание новых раскладок" на Shadows
  • Сохранить "Создание новых раскладок" на Simpy
  • Сохранить "Создание новых раскладок" на Socializer
  • Сохранить "Создание новых раскладок" на Spurl
  • Сохранить "Создание новых раскладок" на StumbleUpon
  • Сохранить "Создание новых раскладок" на Tailrank
  • Сохранить "Создание новых раскладок" на Technorati
  • Сохранить "Создание новых раскладок" на Live Bookmarks
  • Сохранить "Создание новых раскладок" на Wists
  • Сохранить "Создание новых раскладок" на Yahoo! Myweb
  • Сохранить "Создание новых раскладок" на BobrDobr
  • Сохранить "Создание новых раскладок" на Memori
  • Сохранить "Создание новых раскладок" на Faves
  • Сохранить "Создание новых раскладок" на Favorites
  • Сохранить "Создание новых раскладок" на Facebook
  • Сохранить "Создание новых раскладок" на Newsvine
  • Сохранить "Создание новых раскладок" на Yahoo! Bookmarks
  • Сохранить "Создание новых раскладок" на Twitter
  • Сохранить "Создание новых раскладок" на myAOL
  • Сохранить "Создание новых раскладок" на Slashdot
  • Сохранить "Создание новых раскладок" на Fark
  • Сохранить "Создание новых раскладок" на RawSugar
  • Сохранить "Создание новых раскладок" на LinkaGoGo
  • Сохранить "Создание новых раскладок" на Mister Wong
  • Сохранить "Создание новых раскладок" на Wink
  • Сохранить "Создание новых раскладок" на BackFlip
  • Сохранить "Создание новых раскладок" на Diigo
  • Сохранить "Создание новых раскладок" на Segnalo
  • Сохранить "Создание новых раскладок" на Netvouz
  • Сохранить "Создание новых раскладок" на DropJack
  • Сохранить "Создание новых раскладок" на Feed Me Links
  • Сохранить "Создание новых раскладок" на funP
  • Сохранить "Создание новых раскладок" на HEMiDEMi
projects/virtualkeyboard/layoutdevelop.txt · Последние изменения: 2008/02/23 14:56 От Ilya Lebedev
GNU Free Documentation License 1.2 www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0