Как сделать свою раскладку клавиатуры линукс

Содержание
  1. сделал свою раскладку клавиатуры в офтопике, теперь хочу такую же под Linux
  2. Linux. Настройка клавиатуры
  3. Почему я захотел изменить свою клавиатуру?
  4. Настройка переключения раскладки
  5. Ациклическое переключение раскладок
  6. Замечание
  7. Изменение клавиш
  8. Двоеточие и точка с запятой
  9. ESC и CapsLock
  10. Alt и Win
  11. Модификаторы
  12. Назначение модификатора как второе значение клавиши
  13. Дальнейшие изменения
  14. Замечание
  15. Интересный вариант BackSpace напоследок
  16. 9.3.5. Создание собственной раскладки
  17. Читайте также
  18. Когда цензор понимает вас лучше собственной матери
  19. Создание собственной раздачи
  20. Глава 11 Обеспечение собственной безопасности
  21. 9.3.4. Изменение раскладки клавиатуры для текстового режима
  22. 13.5.2 Конфигурирование раскладки клавиатуры
  23. 1.1.3.2. Начало установки. Выбор языка и раскладки
  24. 1.2.3. Настройка раскладки клавиатуры
  25. Настройка переключения раскладки клавиатуры и служб текстового ввода
  26. «Как создать мощный поток новых клиентов при помощи написания своей собственной книги» /На основе выступления Александра Евстегнеева/
  27. 8.3. Программа автоматического переключения раскладки клавиатуры Punto Switcher
  28. 7.3. Программы автоматического переключения раскладки клавиатуры (Punto Switcher)
  29. Кредо зоолога, или Чему мы можем научиться у собственной животной природы Дмитрий Шабанов
  30. 3.8. Языки раскладки клавиатуры
  31. 4.2.3. Редактирование собственной карточки

сделал свою раскладку клавиатуры в офтопике, теперь хочу такую же под Linux

Чтобы два раза не писать, вот тут тема

Общая идея раскладки.

1. Меняем местами AltGr и пробел.

2. Набиваем кириллицу как обычно, а латиницу — удерживая кнопку ПРОБЕЛ большим пальцем левой руки.

3. Пробел набираем большим пальцем правой руки, нажимая на AltGr.

Соответственно, теперь нужно портировать под xkb. Вопросы:

1. Можно ли в Linux тотально поменять местами пробел и AltGr?

2. Есть ли в xkb понятие dead key?

3. Можно ли без больших трудозатрат портировать klc файл раскладки от Windows под xkb.

4. Как создать свою раскладку под xkb в Debian? Говорят, вот это мне могло бы помочь, но это Ubuntu, а не Debian.

смотря что вкладываешь

теоретически. Я ставил AltGr на Caps например вот так

Говорят, вот это мне могло бы помочь, но это Ubuntu, а не Debian.

Ну и что, не помогло ? если не пробовал, то отстойное оправдание

Неважно, понятие в XKB есть.

Нет, оно не для этого, то есть на для операций с XKB.

Автору темы нужно переназначить клавиши через udev, а потом штатно назначить переключение раскладки на ralt:switch (по-моему, правило называется просто «switch»).

Dead Key — это префиксная кнопка, к-рая сама по себе ничего не делает, а ждёт следующего нажатия. На следующее нажатие может быть назначено всё, что угодно. Допустим, у меня сейчас =й — это q, а == — это =.

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

а потом штатно назначить переключение раскладки на ralt:switch

Спасибо, это был бы интересный вариант, но в моей раскладке есть ещё некие небольшие бонусы, например, у меня только одни способ ввода точки, запятой и кавычки. При постоянном переключении раскладок у меня лично в голове получается каша из-за того, что эти значки в Русской и Английской раскладках находятся на разных местахи я всё время нажимаю что-нибудь не то. Кроме того, я хочу добавить кое-какие значки из unicode в будущем.

Поэтому мне всё же нужна целая отдельная раскладка.

но не будет ли оно тормозить? Кроме того, единственное, что я чётко понимаю в раскладках для Linux — это наличие зоопарка решений. Я упомянул xkb, поскольку раньше начитался о том, что это вроде самый правильный вариант.

ну может я его не понял. По мне выглядит так словно ему 3й или 5й слой надо собрать, с чем (почти) прекрасно справляется xmodmap. Правда некоторые клавиши мапиться отказались, но я не разбирался.

помоему проще уже купить себе клавиатуру которая хардварно умеет хранить раскладки.

но не будет ли оно тормозить? Кроме того, единственное, что я чётко понимаю в раскладках для Linux — это наличие зоопарка решений

В Xorg есть только XKB. Изучаешь синтаксис, пишешь раскладку.

Технически можно, но это боль. К тому же любой вызов setxkbmap, и всё, xmodmap снова дёргать.

В свете грядущего Wayland я вообще отказался от любых кастомизаций XKB. Простое переназначение клавиш лучше делать клавиатурой или правилами udev.

Ну вот, началось, грядущее уже нам грозит сломать то, что даже ещё не начало работать. Упомянуто уже 3 решения и четвёртое грозит. В принципе, и в офтопике моё решение состоит из двух отдельных: переназначение клавиш делается в реестре, а раскладка клавы — это раскладка клавы.

Насчёт клавиатуры — иногда нужно поработать на ноутбуке и место ограничено, всегда внешнюю клавиатуру не подключишь. У меня уже есть G800V, но она эту задачу не решает.

Читайте также:  Gnuradio windows как запустить

Источник

Linux. Настройка клавиатуры

Для чего вообще специально настраивать клавиатуру?

Можно пользоваться и стандартными настройками, но иногда внесенные изменения дают возможность набирать быстрее (это, конечно, не слепая печать, но все же), совершать меньше ошибок, меньше переключать раскладку.

Почему я захотел изменить свою клавиатуру?

Во-первых, когда я начал использовать vim как основной редактор, я понял, что не хочу каждый раз тянуться к ESC . Кроме того, я писал в основном на питоне, поэтому ; нажимал сильно реже, чем : , а в vim разница стала более явной.

Во-вторых, через некоторое время я стал пользоваться вимовскими комбинациями для навигации в браузере, дальше — тайловый оконный менеджер i3 , где они тоже использовались, и хотелось перейти на них везде (вместо обычных стрелок, например, в файловом менеджере).

В-третьих, когда начал писать конспекты на TeX в vim , я понял, что могу реально упростить и ускорить этот процесс; если английская и русская раскладки будут больше похожи друг на друга, то я смогу вводить одинаковые символы (например, точку, запятую, кавычки, доллар) одинаково. Плюс приходится часто менять язык, поэтому надо это делать быстро, надежно и удобно.

Настройка переключения раскладки

Что же, начнем. Сначала разберемся, как можно настроить смену раскладки клавиатуры.

Первый способ. Можно воспользоваться какой-нибудь программой, например, gnome-tweaks :
здесь мы можем выбрать один из вариантов, предлагаемых нам разработчиками.

Главное — мы не можем создать свой вариант. Давайте научимся делать и это.

Второй способ.
Посмотрим, как то же самое можно сделать руками, и чего еще можно добиться.
Давайте поставим переключение на правый Alt (он же AltGr ):

Но где можно узнать, какие еще есть варианты, и как создать свои? Все файлы лежат /usr/share/X11/xkb/symbols/ . И наши переключения находятся в /usr/share/X11/xkb/symbols/group . Вот так выглядит выбранный вариант:

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

Ациклическое переключение раскладок

Изменим циклическое переключение по AltGr на ациклическое: AltGr переключает на латинскую раскладку, Shift+AltGr — на русскую.

Перед тем как что-то менять, посмотрим на текущие настройки:

Должны получить что-такое ( pc105 может отличаться в зависимости от количества клавиш на вашей клавиатуре):

Теперь запишем это в конфигурационный файл

В файле /usr/share/X11/xkb/symbols/group можно найти аналогичный вариант с CapsLock , откуда можно понять, что на us будет переключать ISO_First_Group , а на ru — ISO_Second_Group .

Вот такая строчка

говорит, что клавиша при обычном нажатии вызывает ISO_First_Group , а вместе с Shift — ISO_Last_Group .

Изменим в только что созданном файле xkb_symbols :

Проверим, что у нас получилось. Загружаем конфиг:

Теперь язык должен переключаться по заданным комбинациям.

Замечание

Это очень удобно, когда набираешь текст, используя сразу две раскладки (например, TeX ), потому что, переключение происходит часто и гораздо проще каждый раз когда начинаешь писать русский текст нажимать нужные клавиши, чем проверять, какой язык стоит сейчас, и переключать, если нужно. Просто меньше тратишь умственных сил, меньше совершаешь ошибок.

Еще один плюс ациклического переключения — можно больше не использовать никаких индикаторов.

Изменение клавиш

Двоеточие и точка с запятой

Поменяем местами двоеточие и точку с запятой. Как задать значение мы уже знаем, осталось понять как называются символы. Это можно посмотреть в тех же файлах /usr/share/X11/xkb/symbols/ . Выберем файл us и найдем нужную клавишу:

Осталось записать в наш конфигурационный файл в обратном порядке.

ESC и CapsLock

Поменяем ESC и CapsLock . В той же директории в файле capslock можно найти:

partical — специальные куски, которые мы можем включать в другие раскладки.
Теперь либо пишем include «swapescape» , либо просто копируем код.

Alt и Win

Еще аналогично можно поменять, например, левый Alt и Win , что особенно удобно в i3wm , если поставить главный модификатор на Win , то он будет ближе к остальной клавиатуре, и плюс мы не ограничим себя в использовании Alt в комбинациях различный программ (браузер, файловый менеджер. ).

Модификаторы

Для чего вообще они нужны? Можно задать комбинации, которые будут позволять нам быстрее и удобнее набирать какие-то символы или вызывать какое-то действие, помещая поверх других, то есть эти комбинации не будут пересекаться с уже созданными или с комбинациями заданными системой.

Существует два дополнительных уровня: level3 , level5 . И еще комбинации с Shift .

Сделаем так, чтобы клавиша CapsLock в комбинации с h, j, k, l давала эффект стрелки. Тогда не нужно будет каждый раз тянуться ним.

Назначим модификатор (мы уже решили поставить туда ESC , но можно сделать и то и другое: об этом далее):

Если мы хотим назначить для разных раскладок разное значение, то сначала нужно их определить:

Читайте также:  Сделать загрузочную флешку mac os mojave через windows

Теперь нужно настроить клавиши h, j, k, l. Сначала узнаем их имя — тоже можно посмотреть файл раскладки, это несложно. Их зовут ,… . Какие команды вызывают стрелки можно узнать совершенно аналогично. Дальше пропишем поведение в комбинации с модификатором:

При нормальном нажатии будет обычная буква, при нажатии с шифтом — заглавная, с модификатором третьего уровня — стрелки.

Назначение модификатора как второе значение клавиши

Кроме стрелок можно назначить на третий слой символы или другие операции.
Давайте сделаем, чтобы кроме функции модификатора клавиша CapsLock выполняла и предназначенную ей миссию ранее — была ESC .

Для этого нам понадобится xcape , которая позволяет назначить на на клавишу значение, которое она будет иметь, если нажать ее не в комбинации. Еще есть полезная функция: можно настроить время, после истечения которого ее эффект отменяется.

Как я уже обещал, мы сделаем так, чтобы при однократном нажатии клавиши CapsLock вызывался ESC , а в комбинациях выступала в роли модификатора третьего уровня.

Для этого нужно выполнить

Я использую интервал 500 миллисекунд. Для нашей цели:

Дальнейшие изменения

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

Здесь было две идеи:

Поставим редко используемые русские буквы на крайних правых клавишах на третий слой других букв.
Схема была такая:

Клавиша Третий слой
у ю
в б
ь ъ
з ж
щ х

Для достижения такого эффекта добавляем в конфиг (здесь для у/ю, для остальных аналогично, названия букв русского алфавита можно посмотреть, где и все остальное):

А на освобожденные клавиши просто назначаем такие же символы, как во второй раскладке.
Этот вариант оказался для меня неудобным и скорее снизил скорость, так как приходилось вспоминать и искать нужные буквы (хоть я выбирал специально созвучные), кроме этого я понял, что не так уж и редко они используются. А заглавные вообще тяжело набирать было.

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

Еще можем поставить в русской раскладке слэш и вопросительный знак туда, где они стоят в английской.

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

И главное, что это реально упростило процесс набора текста.

Замечание

Аналогично можно добавлять пятый слой, хотя пока лично я не испытываю никакой нужды — вполне хватает третьего.

Интересный вариант BackSpace напоследок

А может хватит тянуться далеко-далеко в дальний угол клавиатуры?
Поставим-ка BackSpace на $mod3+Space ( $mod3 наш модификатор третьего уровня)!

Все настройки в принципе применимы для любых Linux дистрибутивов, использующих X.

Полные конфиги можно найти на GitHub.

Этот пост стал для меня отправной точкой к пониманию того, как можно и нужно настроить клавиатуру.

Источник

9.3.5. Создание собственной раскладки

9.3.5. Создание собственной раскладки

Если вас не устраивает ни одна из тех раскладок клавиатуры, которые имеются в каталоге /usr/lib/kbd/keytables/i386/qwerty/, можете попробовать подправить ту раскладку, которая ближе всего к вашему идеалу. Попробуем показать, как это делается, на примере выбора клавиши переключения между русской и латинской клавиатурой (этот совет позаимствован у Романа Минакова, pharao@kma.mk.ua).

Для переключения между русской и латинской клавиатурой часто используется правая клавиша ‹Ctrl›, в то время как на любой более-менее современной IBM-клавиатуре есть три клавиши, которые, как правило, в Linux не задействованы. Вот одну из них и приспособим для переключения алфавитов. Для начала надо узнать какой у них код. Запускаем команду showkey с опцией -keycodes (запуск showkey, естественно, производится с консоли и необходимо предварительно выйти из mc) и последовательно (слева направо) нажимаем эти три клавиши, чтобы узнать их коды:

[root]# showkey -keycodes

kb mode was XLATE

press any key (program terminates after 10s of last keypress)…

keycode 125 press

keycode 125 release

keycode 126 press

keycode 126 release

keycode 127 press

keycode 127 release

Числа 125, 126, 127 и есть коды этих клавиш. Далее переходим в каталог /usr/lib/kbd/keytables/i386/qwerty, находим файл, который используется в данный момент (что-то типа ru1.map, если в каталоге /usr/lib/kbd/keytables/i386/qwerty вы найдете только ru1.map.gz, то выполните предварительно разархивацию: gunzip ru1.map.gz).

Читайте также:  Windows не удалась подключиться

Для того, чтобы заставить клавишу работать как временный переключатель с русского на латинский (пока клавиша удерживается), надо придать ей значение AltGr, а чтобы она использовалась как постоянный переключатель — AltGr_Lock. Находим внутри ru1.map:

keycode 126 = AltGr

keycode 127 = AltGr_Lock

Далее надо изменить установки тех клавиш, которые ранее использовались для переключения. Например, если в качестве постоянного переключателя использовалась клавиша ‹Ctrl› (код клавиши 97), находим строку

keycode 97 = Control

В итоге получаем: клавиша, расположенная возле правой клавиши ‹Ctrl›, — фиксированный переключатель «рус/лат», а та что рядом с правой клавишей ‹Alt› — временный переключатель «рус/лат» (т. е. действующий только на то время, пока удерживается в нажатом положении соответствующая клавиша).

После редактирования сохраняем файл под новым именем (например, mymap.kmap) и записываем это имя в /etc/sysconfig/keyboard.

Читайте также

Когда цензор понимает вас лучше собственной матери

Когда цензор понимает вас лучше собственной матери Возможна ли такая индивидуализация цензуры? Будут ли цензоры знать о нас столько, что смогут принимать решения автоматически не просто в отношении каждого пользователя, но и с учетом его (или ее) поведения в определенной

Создание собственной раздачи

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

Глава 11 Обеспечение собственной безопасности

Глава 11 Обеспечение собственной безопасности В этой главе я расскажу вам о некоторых аспектах безопасности при работе в Интернете. Помимо общеизвестных неприятностей, вроде вирусов, вы можете столкнуться и с другими проблемами, не столь известными, но от этого не менее

9.3.4. Изменение раскладки клавиатуры для текстового режима

9.3.4. Изменение раскладки клавиатуры для текстового режима В дистрибутиве Red Hat загрузка таблицы раскладки клавиатуры и системного фонта производится в файле /etc/rc.d/rc.sysinit. Но лезть в этот файл и корректировать его содержимое для изменения раскладки не требуется. Дело в том,

13.5.2 Конфигурирование раскладки клавиатуры

13.5.2 Конфигурирование раскладки клавиатуры Клавиатуры компьютеров PC или Macintosh не идентичны клавиатурам терминалов VT100 или 3270. Приложения telnet обычно обеспечивают способ конфигурирования отдельных клавиш клавиатуры или управляющих комбинаций клавиш для выполнения

1.1.3.2. Начало установки. Выбор языка и раскладки

1.1.3.2. Начало установки. Выбор языка и раскладки После проверки носителя должен загрузиться графический интерфейс (если у вас достаточно ОЗУ). Если все нормально, то вы увидите окно с логотипом Fedora (рис. 1.5). Для продолжения установки нужно просто щелкнуть на кнопке Next. Рис.

1.2.3. Настройка раскладки клавиатуры

1.2.3. Настройка раскладки клавиатуры При установке системы мы выбрали русскую раскладку клавиатуры. После установки системы Будут доступны две раскладки — русская и английская. Для переключения между ними используется комбинация клавиш ‹Shift+Shift› (т.е. вам нужно

Настройка переключения раскладки клавиатуры и служб текстового ввода

Настройка переключения раскладки клавиатуры и служб текстового ввода Далее необходимо проверить (и, при необходимости – изменить) настройки языков и служб текстового ввода. Для перехода в соответствующий режим необходимо на вкладке Языки и клавиатуры нажать кнопку

«Как создать мощный поток новых клиентов при помощи написания своей собственной книги» /На основе выступления Александра Евстегнеева/

«Как создать мощный поток новых клиентов при помощи написания своей собственной книги» /На основе выступления Александра Евстегнеева/ Кратко. Александр Евстегнеев:Основатель образовательного портала «Азбука Денег» http://evstegneev.com/Автор 20 книг. Номинант литературной

8.3. Программа автоматического переключения раскладки клавиатуры Punto Switcher

8.3. Программа автоматического переключения раскладки клавиатуры Punto Switcher Еще одним средством, которое поможет значительно ускорить набор, являются программы автоматического переключения клавиатурных раскладок. Если в вашем тексте встречаются и русские, и английские

7.3. Программы автоматического переключения раскладки клавиатуры (Punto Switcher)

7.3. Программы автоматического переключения раскладки клавиатуры (Punto Switcher) Еще одним средством, которое поможет значительно ускорить набор, являются программы автоматического переключения клавиатурных раскладок. Если в вашем тексте встречаются и русские, и английские

Кредо зоолога, или Чему мы можем научиться у собственной животной природы Дмитрий Шабанов

Кредо зоолога, или Чему мы можем научиться у собственной животной природы Дмитрий Шабанов Опубликовано 15 июня 2013 В моих колонках мне уже приходилось упоминать о TED (Technology, Entertainment, Design) — американской по происхождению системе то ли конференций, то

3.8. Языки раскладки клавиатуры

3.8. Языки раскладки клавиатуры При установке системы по умолчанию выбирается русский язык и русская раскладка клавиатуры. Переключение языка ввода осуществляется комбинацией клавиш + . Иногда возникает потребность добавить дополнительный язык ввода (кроме

4.2.3. Редактирование собственной карточки

4.2.3. Редактирование собственной карточки Двойной щелчок по этому пустому полю вызывает панель добавления фотографии.Ваша личная карточка отличается в общем списке от остальных: рядом с именем расположен значок в виде силуэта человека: Заготовка такой карточки

Источник

Оцените статью