Linux переключение раскладки caps lock

fedora 20, gnome 3.10, caps lock, раскладка

Опустим кучу нелестных слов в адрес девелоперов гнома и перейдем сразу к вопросу.

Как сделать переключение раскладки языков по капсу?

хуже win+space может быть только какой-нибудь win+F8+tab+backspace+right_ctrl+L+left_shift

setxkbmap -layout us,ru -option grp:caps_toggle

это всегда и везде работало, если в гном смогли ее запретить, то linux уже готов для декстопа.

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

В gnome-tweak-tools, ЕМНИП, ещё можно включить переключение раскладок по капсу.

Как сделать переключение раскладки языков по капсу?

Зайти в настройки клавиатуры и выбрать капс

И извиниться за свою бестолковость может быть?

В tweak-tool как угодно настраивается.

И извиниться за свою бестолковость может быть?

за подсказку спасибо, но стоило ли грубить?

В tweak-tool как угодно настраивается.

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

А где тут грубость-то?

В первом посте обругал гномовцев, а оказалось зря. Самое время это признать и извиниться, по-моему.

Что за шрифты на скрине?

Как много топиков об этой раскладке. Я один что ли, не зная проблем, пользуюсь дефолтным shift+alt со времен венды?

просто настрой через настройки в GUI

Как много топиков об этой раскладке. Я один что ли, не зная проблем, пользуюсь дефолтным shift+alt со времен венды?

Кедобоги тоже недоумевают.

Как много топиков об этой раскладке. Я один что ли, не зная проблем, пользуюсь дефолтным shift+alt со времен венды?

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

тут вот господин alpha обижается, но признать не хочет, что волнения против разработчиков гнома в массах не на ровном месте, а за выпиливание всего и вся, даже самого нужного. хер бы с ним, убирали бы из базовых гуёв, но из продвинутых настроек лишь бы не выкидывали и оставляли возможность. я вот как пересел на капс в этих целях, так мне сейчас никакой другой переключалки не нужно ибо когда набираешь быстро и слепым методом, то тянуться до альт-шифта, и уж тем более до вин-спейса, это адова корявость. ровно как заставляют тебя хромать через каждые Н-шагов, не смотря на отсутствие причин к этому. нужно всего лишь разок попробовать понабирать разнобойный (рус, анг) текст быстро и вслепую, чтобы понять, что дефолтный вариант переключения — хромота. капс в этом случае абсолютно не заметен для механики набора, а вин-спейс — это как «перевод каретки» на печатной машинке — с усилием и размахом и мысленным прочерком новой строки.

Набираю слепым методом, shift жму мизинцем, alt — большим пальцем, проблем и дискомфорта нет. А вот вин+спейс я не знаю, как нажимать при слепой печати, не изогнувшись.

Читайте также:  Linux proxy settings console

shift жму мизинцем, alt — большим пальцем

а теперь попробуй, ради эксперимента, «поработать» на caps’е. просто для сравнения. дело в том, что я до капса очень долго сидел именно на альт-шифте и переключал ровно таким же образом.

Источник

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 можно найти:

Читайте также:  Окна не сворачиваются панель задач windows

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

Alt и Win

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Windows 10 enterprise 2016 ltsb 1607 paxweaver

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

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

Замечание

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

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

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

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

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

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

Источник

Переключение языковой раскладки по Caps Lock в новых версиях Ubuntu (18.04, 18.10, 19.04, 19.10…)

Поделитесь этой страницей с друзьями:

Много лет я использовал в Linux клавишу Caps Lock для переключения раскладки. И с этим не было проблем, пока я не решил обновиться до новой Ubuntu 19.04, заодно сменив дефолтную оболочку. Здесь назначить Caps Lock — задача нетривиальная. Насколько я знаю, в Ubuntu 18.04 — тоже. То есть статья пригодится пользователям Ubuntu 18.04 и новее.

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

Первая мысль — попробовать использовать для смены стандартное диалоговое окно.

К сожалению, здесь ничего не выходит. Ну да ничего, мы ведь знаем о существовании «dconf-editor». Если он не установлен, то это можно исправить командой в консоли:

Запускаем программу после установки и переходим в раздел / org / gnome / desktop / wm / keybindings , в котором задаем нужные значения для параметров switch-input-source и switch-input-source-backward :

Как видно на скриншоте выше, я задал этим двум параметрам соответственно следующие значения:

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

И даже в стандартном диалоговом окне теперь отображаются правильные комбинации:

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

Как это можно исправить? Есть варианты отключения клавиши Caps Lock или ее переназначение на другие клавиши, но эти варианты нас не устраивают, поскольку тогда наши комбинации для переключения раскладки вообще перестанут работать. Поэтому нужно постараться отключить функционал перевода в верхний регистр, при этом не отключая и не переназначая саму клавишу. Шел я к этому решению сквозь дебри англоязычных форумов и мануалов довольно долго, но в конце концов решение было найдено. Причем не в мануалах, а проверенным «методом тыка». Поможет нам консольная утилита «xmodmap» (вроде установлена в Ubuntu по дефолту, но если у вас ее нет — установите).

Итак, волшебная команда в консоли, которая делает то, что нам нужно (то есть отключает функционал капслока, при этом не отключая саму клавишу):

Естественно, если вы просто введете эту команду в консоли, то она будет работать ровно до перезагрузки. Чтобы она работала всегда — нужно добавить ее в автозагрузку. Сделать это можно разными способами, я выбрал способ добавления этой строки в файл «.profile» в корне домашней папки пользователя (если такого файла нет — создайте его).

Собственно, на этом все. Надеюсь, эта заметка сильно сэкономит кому-то время на поиск решения.

Время идет, а проблема остается. В Ubuntu 19.10 все еще актуальны те же инструкции.

Источник

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