Kак редактировать раскладку клавиатуры

Многие знакомы с ситуацией, когда вследствие различных причин, а именно: приобретение ноутбука без русской раскладки, изучение иностранного языка, использование клавиатуры за границей (нужное подчеркнуть), возникает потребность в расширении имеющейся раскладки клавиатуры. Например, необходимо добавить какие-то символы, а какие-то поменять местами. Можно, конечно, подключить стандартную для той или иной страны раскладку, но она может отличаются от той, которую вы использовали ранее. Разные оси, клавиатуры различных производителей, и, в конце концов, разные привычки и предпочтения каждого из нас добавляют сложностей в и без того непростую жизнь. Но к счастью, выход есть. В данной статье я решил представить свой вариант решения данной проблемы. Если стандартные раскладки клавиатуры являются неудобными, то почти всегда их можно изменить.

Описание задачи

Краткая предыстория: так уж вышло, что для набора текстов я использую клавиатуру Macbook Pro без русских букв. Во-первых, большую часть текстов я пишу на работе по-английски или по-немецки, во-вторых, ноутбука с русской раскладкой у меня нет. Можно, конечно сделать гравировку, но это дорого, глупо, да и, на мой взгляд, фонетической раскладкой печатать транслитом гораздо удобнее. При всём при этом я использую одновременно две разных оси: Mac OS  X (дома) и Linux (на работе), ну и иногда Windows, где фонетические раскладки отличаются (к слову, на Windows она отсутствует вовсе). Тем более для набора немецких текстов, мне надо добавить на латинскую клавиатуру умляуты/Umlaute (диакритический знак такой — две точки над буквой. Русское ё — это е-умляут) да еще и с лигатурой ß впридачу (эсцет, используется в немецком как заменитель ss, примеч. автора). Немецкая раскладка, как известно, отличается от стандартной английской тем, что всего-то z и y поменялись местами, но это раздражает дико. Есть еще пара отличий к примеру отсутствие в ряду цифр знака @.

Таким образом, передо мной стояло три проблемы:

  • Унификация фонетических раскладок Linux и MacOSX , чтобы все было одинаково и не приходилось путаться при наборе.
  • Добавление к стандартной американской латинице Apple немецких умлаутов (ä, ü, ö) и ß , без изменения раскладки.
  • Переназначение на клавишу Caps Lock функции смены раскладки

Решения

Все умляуты я решил забиндить на Alt + буква, с которой нужен умляут. Например Alt + U дает Ü. Также с буквой ß (Alt + S). А если при этом добавить шифт — будет большая буква (для лигатуры ß большой буквы нет, поэтому сохраняем ее неизменной). Одинаковые фонетические раскладки под MacOSX и Linux — это просто, нужно переназначить в стандартной линуксовой раскладке всего лишь пару букв. Мне, например, нравится когда Ш расположена на W, a X на Х и т.д. Почему смена раскладки по Caps Lock? Да здесь вообще все просто: Caps Lock клавиша бесполезная и даже вредная, а менять раскладки приходится чаще, чем печатать верхним регистром.

Короче, захотел я, чтобы латинка выглядела так:
Латинская раскладка

Фонетика мне нравится такая:
Фонетическая раскладка

И чтобы при нажатом Alt — латинка выглядела так:
Умляуты (Alt+Буква)

Aber gesagt ist nicht getan.

Решение для Mac OS X 10.6.8

UPDATE: По умолчанию умляут в макоси можно сделать так: Option+u+буква.

Самым лучшим средством для редактирования раскладок в макоси является бесплатная программка Ukelele. Как пользоваться подробно написано в одной статье на хабре. Удобнее всего зайти в меню Keyboard и создать раскладку на основе текущей. Двойным щелчком нажимаем на клавишу, изменяем ее значение. Все просто как барабан. Для умлаутов на соответствующих буквах зажимаем Alt (не забудьте сделать большие умлауты — Shift + Alt + буква). Далее пришиваем к раскладке флажок (Примечание: подтянуть картинки для флажков раскладок в для Apple в формате icns можно здесь) сохраняем раскладки в папку /Library/Keyboard Layout и перезаходим. Далее выбираем в настройках свою. Картинки раскладок, приведенные выше, кстати, поделие Ukelele. Как изменить раскладку по Caps Lock в макоси описано в блоге Dae (метод клавиши F19). Рекомендую использовать именно этот способ, так как он работает без глюков.

UPDATE: найден один прекрасный способ, как можно переназначить переключение раскладки по Caps Lock. Данный способ предполагает использование программы ControllerMate, причем используя этот способ можно сделать, чтобы лампочка при переключении раскладки зажигалась/гасла (метод клавиши F19 это не позволяет). Способ подробно описан здесь.

На всякий случай выкладываю свою фонетическую раскладку для макоси.

UPDATE: Вот хорошая ссылка по раскладкам на Mac. Во многом дублирует представленный выше материал, но есть и что-то новое. Т.к. в мой блог часто приходят люди по поисковым запросам вида «раскладка под mac», я решил добавлятъ полезные ссылки время от времени.

UPDATE: для пользователей Mac OS X El Capitan вышла новая версия переключалки PCKeyboardHack под названием Seil [link]. Также доступны и все предыдущие версии.

Решение для Kubuntu 11.04

Часто говорят, что в Linux всегда есть два способа что-то решить: простой и сложный. Простой способ быстрее, но не работает. В данном случае имеет место обратная ситуация.

Простой способ: использовать утилиту Xmodmap. Для этого создаётся скрипт. Как видно, скрипт меняет еще кнопки Control и Command местами, по образу и подобию макоси (это актуально только для тех, кто использует Linux на компьютере Apple. Jedem das seine!). Чтобы скрипт заработал, нужно положить файл .xmodmap в Home и добавить в автозапуск строчку: xmodmap ~/.xmodmap. При следующем входе в систему заработает новая раскладка. Подробнее об этом способе написано здесь.

Есть еще сложный способ: придется порыться в системных файлах /usr/share/X11/xkb/symbols/ru или /usr/share/X11/xkb/symbols/us. После того как поменяете все что нужно, не забудьте перезапустить Иксы. Этот способ у меня заработал не сразу, но всё-таки заработал, поэтому на всякий случай приведу текст своего файла /usr/share/X11/xkb/symbols/us. Изменения в нем коснулись только, первого блока (то есть раскладки «basic» — базовой раскладки). В тонкости можно и не вдаваться, но если сильно хочется — вам сюда или сюда. Разберемся на примере буквы U (клавиша AD07):

key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };

Где через запятую указаны значения колонок таблицы раскладки, то есть (udiaeresis — это ü):

key <номер буквы на клавиатуре> { [ буква, Shift + буква, Alt + буква, Shift + Alt + буква ] };

Насчет Caps Lock в Linux все просто: этот способ используется для переключения раскладки по умолчанию. Если же в вашем дистрибутиве это не так, исправить ситуацию может одна галочка в настройках клавиатуры.

Решение для Windows XP

Для создания ракладок в Windows придется использовать Microsoft Keyboard Layout Creator (MSKLC). Принцип действия тот же, что и в Ukelele, только интерфейс покондовей. На Alt+Буква забиндить умляуты не получилось (только на Alt+Ctrl+Буква). Выкладываю свою латинку с умляутами и свою же фонетику. Для установки распакуйте архив и установите тот файл, который запустится. Так же в архивах есть исходный код, на случай если вы захотите переделать раскладку под свои нужды.

Для смены раскладки по Caps Lock в Windows есть множество способов. Я рекомендую использовать программу Keyla. Этот способ наиболее простой, да и глюков при использовании Keyla замечено не было (в отличие от Пунто).

Вместо заключения

Напоследок, совет: в своих раскладках старайтесь сильно не отходить от общепринятых принципов и правил. Такие же правила вы можете создать для себя, перед тем как захотите поменять свою раскладку. Это помогает без проблем переходить от одного компьютера к другому не путаясь в клавишах.

Удачи!

PS: Если копируете статью целиком или ее часть, поставьте ссылку на оригинал. Все орфографические, пунктуационные и стилистические ошибки являются интеллектуальной собственностью автора.)))

 

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s