Метки

, , , , , , , ,

Даже самая навороченая клавиатура, как правило, содержит лишь стандартный набор символов для набора текста, которые могут меняться в зависимости от текущего языка ввода. Но постоянно переключать раскладки клавиатуры для набора нескольких нужных символов неудобно. Однако выход есть. На клавиатурах ноутбуков (десктопов — реже) правый Alt часто бывает помечен как AltGr. Данная аббревиатура расшифровывается как Alt Green, и служит напоминанием, что правый Alt предназначен для ввода дополнительных символов, отсутствующих в стандартной раскладке простым нажатием AltGr + Клавиша или Shift + AltGr + Клавиша. В линуксе добавить необходимые необходимые символы весьма просто, в винде же, к сожалению, далеко не каждая программа может захотеть их использовать. Далее идут два рецепта для пользователей Linux на примере Ubuntu 8.04 и Windows XP.

Ubuntu

Раскладки клавиатур хранятся в каталоге /usr/share/X11/xkb/symbols (/etc/X11/xkb/symbols было 8.04, в 9-й убунте путь изменился — спасибо за дополнение Владимиру). Он содержит обычные текстовые файлы, названные по стране, для которой раскладка предназначается. Я туда полез, когда захотел отредактировать украинскую раскладку, заменив редко используемый ґ на левый слеш. Чтобы иметь пример клавиатуры в представлении Ubunt’ы, откроем окошко Система > Параметры > Клавиатура на вкладке «Раскладки» и нажав кнопку «Добавить» оставим раскрытым окошко «Выберите раскладку».

Структура файла ua проста. Директива xkb_symbols "basic" открывает стандартный список символов, присваеваемый клавишам. При добавлении новой раскладки он отображается под названием Стандартный (Типовий для моей Убунты с украинской локализацией) в выпадающем списке «Варианты». Остальные группы, к примеру xkb_symbols "winkeys", отображаются там же и содержат лишь список изменений (по умолчанию) по сравнению со стандартной раскладкой. Можно как редактировать существующие так и создать свой собственный вариант раскладки (предварительно создав бекап sudo cp /usr/share/X11/xkb/symbols/ua ~/ua.bac), добавив секцию

// Мой собственный вариант раскладки
partial alphanumeric_keys
xkb_symbols "mykeylist" {


name[Group1]= "Ukraine - My key list";
}

Далее все будет добавляться между фигурными скобками. Чтобы создать вариант раскладки на базе существующего, добавим строку include "language(variant)", где language — базисный язык, например ua, а variant — вариант раскладки, например basic. Так же для задействования правого Alt нужна строка include "level3(ralt_switch)". Я редактировал непосредственно секцию xkb_symbols "basic".

Теперь перейдем непосредственно к символам. На минутку переключимся на открытое ранее окно «Выберите раскладку». Каждая буквенно-цифровая клавиша задается номером строки (отчет начинается снизу латинскими буквами, например AA, AB, AC и т. д.) и номером в строке (например 01, 02, 10, 12), а некоторые спецклавиши задаются своими сокращениями, перечисленными в таблице:

TLDE Клавиша с тильдой, перед 1 в цифровой строке.
BKSL Клавиша, которой соответствует левый слеш в английской раскладке
LSGT У меня эта клавиша находится левее «Я» после Shift на ноуте и отсутствует на десктопе
CAPS Caps Look
ESC Escape
LALT, RALT, LWIN, RWIN Очевидно

Однако для описания partial alphanumeric_keys коды начиная с четвертой строки таблицы не подходят и задаются в отдельных файлах текущего каталога.

Наконец приступим к навешиванию новых символов на клавиши. Например, нужно повесить на клавишу «Й» амперсанд & и знак доллара $, отсутствующие в украинской раскладке. Начнем новую строку в секции (или подредактируем существующую) записав
key <AD01> { [ ] };
Код клавиши AD потому, что «Й» находится на четвертой строке снизу (в понимании Убунты), и 01 так как это первая буквенно-цифровая клавиша в ряду. Между квадратными скобками введем через запятую требуемые символы. Первым идет символ, который вводится непосредственым нажатием клавиши, это Cyrillic_shorti. Далее идет символ, доступный при нажатии Shift, тоесть Cyrillic_SHORTI. Третим записывается символ, доступный при нажатии AltGr, в нашем примере это ampersand, а четвертым, доступный по нажатию Shift + AltGr + Клавиша, тоесть dollar. В результате строка должна принять вид
key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, ampersand, dollar ] };
Собственно, вместо обозначений символа наподобие ampersand можно ввести его юникодовский номер U0026.

Теперь, сохранив файл, можно просмотреть и добавить созданную раскладку клавиатуры через стандартный диалог. Вот как выглядит результат:

Результат. Ubuntu 8.04

Результат. Ubuntu 8.04

MS Windows

Предупрежу сразу, что в винде создание собственной раскладки клавиатуры дело оказалось несколько более муторное, чем в линуксе. При этом Microsoft Word и еще некоторые программы реагировали далеко не на все добавленные символы (в т. ч. когда комбинация их вызова совпадала с горячей клавишей самого ворда) Для редактирования раскладки в винде необходима программа Microsoft Keyboard Layout Creator, которая лежит как на сайте Майкрософта для владельцев лицензионной ОС, так и на многих сайтах инета, следующих в гугле со второй-третьей ссылки. Как и все халявное от Microsoft, данная программа сделана, скажем так, абы сделать. Запустим Keyboard Layout Creator и по центру окна сразу увидим пустой шаблон. Заполнять его придется вручную полностью.

Слева галочками можно выбрать нажатие каких дополнительных клавиш будет обрабатываться. Кликая по пустым клеткам заполним пустой шаблон (так же надо не забыть указать разделитель целой и дробной части (Decimal separator) в правом нижнем углу, если создается раскладка не на базе латинской.

)

В ходе работы 🙂

Закончив ввод всех необходимых символов, сохраним созданную раскладку через File > Save Source File As. По пути оно предложит ввести информацию о раскладке: название (Name), описание (Description), которое будет позже отображаться в диалогах выбора раскладки клавиатуры и прочие. Можно поставить флажок Right Alt treated as Ctrl+Alt (also known as AltGr), что позволит использовать AltGr (или если клавиатура его не поддерживает Ctrl + Alt). Позднее изменить эту информацию можно через Project > Properties. В Project > Test Keyboard Layout можно проверить, как будет работать раскладка. Когда все нужные символы добавлены, можно откомпилировать раскладку командой Project > Build Dll and Setup Package. В ходе компиляции могут выдаваться различные предупреждения, например если один символ доступен разными методами. Результатом сего шаманства будет каталог, размещенный по адресу, указанному в нижней части основного окна. Он будет содержать необходимые файлы инсталляции для различных архитектур компьютеров и, собственно, setup.exe, запустив который установим раскладку в систему. Теперь неплохо было бы перезагрузиться.

Выставить созданную раскладку как рабочую можно через языковой панели в пункте меню Параметры.

Установка раскладки

Установка раскладки

При нажатии кнопки Параметры клавиатуры отобразится окно Дополнительные параметры клавиатуры. Выделив в нем установленную раскладку и нажав Смена сочетания клавиш, зададим способ переключения на наше творение. Все.

Использованные материалы:

Реклама