Linux переключение раскладки shift alt

Содержание
  1. Изменение сочетания клавиш для смены раскладки в Ubuntu
  2. Сочетание, используемое по умолчанию, для смены раскладки в Ubuntu
  3. Как изменить сочетание клавиш для переключения раскладки
  4. Смена сочетания клавиш через утилиту Gnome Tweaks
  5. Смена сочетания клавиш через Параметры системы
  6. Решение проблемы с переключением по alt+shift в Linux, в приложениях на Electron
  7. Описание проблемы
  8. Пытался понять в чём дело
  9. Описание решения
  10. Xorg (Русский)/Keyboard configuration (Русский)
  11. Contents
  12. Просмотр настроек клавиатуры
  13. Сторонние утилиты
  14. Настройка раскладки клавиатуры
  15. Через setxkbmap
  16. Через конфигурационные файлы X
  17. С помощью localectl
  18. Часто используемые опции XKB
  19. Переключение раскладок клавиатуры
  20. Завершение Xorg по сочетанию клавиш Ctrl+Alt+Backspace
  21. Перестановка Caps Lock и Левого Control
  22. Включение кнопок мышки
  23. Настройка клавиши Compose
  24. Сочетания клавиш
  25. Значки валют на других кнопках
  26. Переключение состояния клавиши Caps Lock сразу после нажатия
  27. Временное решение
  28. Функции однократного нажатия клавиш
  29. Регулировка задержки и скорости автоповтора
  30. Через xset
  31. Через параметры запуска XServer

Изменение сочетания клавиш для смены раскладки в Ubuntu

В данном материале рассматривается, как изменить сочетание клавиш, которое используется для переключения раскладки клавиатуры в Ubuntu Linux.

Примечание для посетителей: Если произойдут изменения в способе настройки раскладок клавиатуры в Ubuntu, пожалуйста, напишите об этом в комментариях, чтобы мы обновили материал.

Сочетание, используемое по умолчанию, для смены раскладки в Ubuntu

По умолчанию в Ubuntu Linux для смены раскладки клавиатуры используется сочетание клавиш:
Super+Пробел

Для переключения раскладок клавиатуры в обратном порядке используется сочетание клавиш: Super+Shift+Пробел

Как изменить сочетание клавиш для переключения раскладки

Изменить сочетание клавиш для переключения раскладки клавиатуры в Ubuntu можно двумя основными способами:

  • Используя утилиту Gnome Tweaks
  • Используя штатную утилиту Параметры системы (Settings)

Почему мы рассматриваем два способа? Дело в том, что штатная утилита Параметры системы не позволяет установить такие сочетания, как Ctrl+Shift , Alt+Shift и некоторые другие. Утилита Gnome Tweaks позволяет это сделать.

Смена сочетания клавиш через утилиту Gnome Tweaks

Если у вас не установлена утилита Gnome Tweaks, то ее нужно сначала установить. Это можно сделать через штатный Менеджер приложений Ubuntu, используя поиск по фразе «gnome tweaks«. На русском языке приложение переведено как «Доп. настройки GNOME«.

Также можно установить Gnome Tweaks через терминал. Откройте терминал (для этого можно нажать сочетание клавиш Ctrl+Alt+T ). Выполните команду:

Запустите утилиту Gnome Tweaks. Запустить можно из Лаунчера (иконка «Доп. настрой. «).

Выберите вкладку Клавиатура и мышь и нажмите кнопку Дополнительные параметры раскладки

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

Смена сочетания клавиш через Параметры системы

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

Запустите Параметры системы. Для этого можно нажать сочетание клавиш Super+A и в Лаунчере найти значок Параметров системы — Параметры ( Settings ).

Откроется окно Параметров системы. Перейдите на вкладку Устройства .

Перейдите на вкладку Клавиатура . В правой части вы можете видеть список «Комбинации клавиш», который содержит список используемых в текущий момент сочетаний клавиш в системе.

Комбинации клавиш, используемые для смены раскладки клавиатуры, представлены пунктами:

  • Переключиться на предыдущий источник ввода — по умолчанию Super+Shift+Пробел
  • Переключиться на следующий источник ввода — по умолчанию Super+Пробел

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

Нажмите на клавиатуре новое сочетание клавиш. Не все сочетания можно использовать в этом окне. Если сочетание можно установить, то оно отобразится в окне. Если оно вам подходит, нажмите кнопку Установить .

Источник

Решение проблемы с переключением по alt+shift в Linux, в приложениях на Electron

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

Описание проблемы

Использовал Ubuntu 18.04 для работы и в последнее время заметил, что при переключении раскладки по alt+shift в таких приложениях, как Visual Studio Code, Skype, Slack и прочих, которые созданы с помощью Electron возникает следующая проблема: фокус с поля ввода, переходит к верхней панели окна (меню). По иным причинам переехал в Fedora + KDE и понял, что проблема никуда не делась. В поисках решения нашёл замечательную статью Чиним Skype своими руками. Огромное спасибо товарищу brnovk, что подробно рассказал о проблеме и поделился своим способом её решения. Но указанный в статье способ закрывал вопрос лишь с одним приложением, а именно Skype. Для меня ещё было критичным разобраться с Visual Studio Code, потому как писать сообщения с прыгающей менюшкой хоть и раздражает, но не так сильно если занимаешься разработкой. Плюс ко всему, коллега предложил решение, при котором меню приложения пропадает полностью, а мне бы не очень хотелось потерять меню в VS Code.

Читайте также:  Mac os route add permanent

Пытался понять в чём дело

Итак, я решил выделить время и разобраться в чём дело. Сейчас кратко опишу каким путём я шёл, может быть кто-то более подкованный в данном вопросе поможет разъяснить те трудности, с которыми я столкнулся.

Я открыл Visual Studio Code и начал нажимать на разные сочетания Alt+ , смотря на реакцию приложения. Практически во всех случаях все комбианции, кроме Alt+Shift отрабатывали без потери фокуса. Складывалось впечатление, что кто-то съедает нажатый Shift, который следовал после зажатия и удержания Alt и приложение думает что я нажал Alt, потом не нажал ничего, отпустил Alt и оно радостно бросало мой фокус в своё меню, что ему казалось вполне логичным.

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

После этого перестал работать Alt+Tab для переключения окон. Работал только Tab, то есть кто-то снова «съедал» мой Alt. Кто этот «кто-то» вопросов уже не оставалось, а вот что с ним можно сделать я понятия не имею.

Но так как проблему решать было нужно хоть как-то, тогда в голову и пришло решение:

  1. В настройках отключить хоткей для переключения раскладки клавиатуры (снять все чекбоксы в разделе Switch to another layout);
  2. Создать свой хоткей, который бы переключал мне раскладку

Описание решения

Для начала установим программу, позволяющую назначать команды клавишам Xbindkeys. К сожалению, штатные средства не позволили мне через красивый интерфейс создать хоткей для сочетания типа Alt+Shift. Можно сделать для Alt+S, Alt+1, Alt+shift+Y и т.д. и т.п., но для нашей задачи это не подходит.

Более подробно про неё есть на ArchWiki
Далее создадим образец файла настроек для программы. Образец довольно короткий, с несколькими командами как раз то, что нужно чтобы разобраться как с ним работать:

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

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

Чтобы получить коды нужно использовать команду:

Откроется маленькое «Иксовое» окно. Нажимать клавишы нужно только при фокусе на это окно! Только в этом случае Вы увидите в терминале что-то такое:

В моём случае комбинация для клавиш Alt+Shift выглядит вот так:

Теперь нужно сделать так, чтобы при нажатии на эту комбаницию, происходило именно переключение раскладки. Я нашёл только одну рабочую комманду для указания раскладки:

Как видно из примера она умеет только включать ту или иную раскладку, поэтому ничего кроме написания скрипта мне в голову не пришло.

Теперь если файлы .xbindkeysrc и layout.sh лежат в одной директории, то конечный вид файла .xbindkeysrc выглядит так:

После этого применяем изменения:

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

Источник

Xorg (Русский)/Keyboard configuration (Русский)

Эта статья описывает основные настройки клавиатуры в Xorg. Для расширенных тем, таких как изменение раскладки клавиатуры или дополнительные сопоставления клавиш, смотрите статьи X keyboard extension или дополнительные клавиши соответственно.

Сервер Xorg использует клавиатурное расширение X (XKB) для определения раскладок клавиатуры. Опционально, xmodmap можно использовать для прямого доступа к внутренней раскладки клавиатуры, хотя это не рекомендуется для сложных задач. Также можно использовать localectl systemd для определения раскладки клавиатуры в сервере Xorg и виртуальной консоли.

Contents

Просмотр настроек клавиатуры

Используйте следующую команду, чтобы просмотреть настройки XKB:

Сторонние утилиты

Здесь приведены некоторые «неофициальные» утилиты, которые выводят специфичную информацию о используемой в настоящее время раскладке клавиатуры.

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

This article or section needs expansion.

Раскладку клавиатуры можно настроить разными способами в Xorg. Вот объяснение используемых параметров:

  • XkbModel устанавливает модель клавиатуры. Это влияет только на некоторые дополнительные клавиши. Для большинства клавиатур подходят модели pc104 или pc105 . Но, например, ноутбуки обычно имеют дополнительные клавиши, чтобы заставить их работать иногда достаточно только выбрать правильную модель клавиатуры.
  • XkbLayout устанавливает раскладку клавиатуры. Несколько раскладок могут быть указаны в списке, разделённом запятыми, если, например, вам нужно быстро переключаться между ними.
  • XkbVariant устанавливает специфичное расположение клавиш для раскладки. Например, вариант по умолчанию для sk — qwertz , но его можно изменить вручную на другой, например, qwerty .
  • XkbOptions устанавливает некоторые дополнительные опции. Используется для указания клавиш для смены раскладки, уведомления светодиодом, режима compose и др. Смотрите раздел #Часто используемые опции XKB для примеров.
Читайте также:  Mac os sierra сброс пароля

Имя раскладки, как правило, состоит из 2-буквенного кода страны. Чтобы посмотреть полный список моделей клавиатур, раскладок, вариантов и опций вместе с коротким описанием, откройте файл /usr/share/X11/xkb/rules/base.lst . Кроме того, вы можете использовать одну из следующих команд для просмотра раскладки и т.д., но без описания:

  • localectl list-x11-keymap-models
  • localectl list-x11-keymap-layouts
  • localectl list-x11-keymap-variants [layout]
  • localectl list-x11-keymap-options

Примеры в следующих подразделах будут делать одно и то же. Они устанавливают модель клавиатуры pc105 , первичной раскладкой us , ru — вторичной раскладкой, вариант расположения клавиш dvorak для раскладки us и комбинацию клавиш Alt+Shift для переключения между раскладками. Для получения дополнительной информации смотрите xkeyboard-config(7) .

Через setxkbmap

setxkbmap настраивает раскладку клавиатуры только для текущей сессии X, но её можно сделать постоянной в xinitrc или xprofile. Это переопределяет общесистемные настройки, указанные в #Через конфигурационные файлы X.

Используйте следующим образом (смотрите setxkbmap(1) ):

Чтобы изменить раскладку введите ( -layout — стандартный флаг):

Для нескольких настроек:

Через конфигурационные файлы X

Синтакс конфигурационных файлов X объяснен в Xorg (Русский)#Настройка. Этот способ создает постоянные общесистемные настройки.

С помощью localectl

Для удобства можно использовать инструмент localectl вместо ручного редактирования конфигурационных файлов X. Он сохраняет настройки в файл /etc/X11/xorg.conf.d/00-keyboard.conf , который не следует редактировать вручную, потому что localectl перепишет его при следующем запуске.

Используйте следующим образом:

Чтобы установить модель, вариант или опции, нужно указать все эти поля, но их можно пропустить, передав пустую строку «» . Если параметр —no-convert не передан, тогда указанная клавиатура преобразуется в ближайшую соответствующую раскладку для консоли и прописывается в настройках консоли в файле vconsole.conf . Для получения дополнительной информации смотрите localectl(1) .

Чтобы создать файл /etc/X11/xorg.conf.d/00-keyboard.conf , как указано выше:

Например, можно установить английскую и русскую раскладки, которые будут переключаться по ctrl+shift:

Чтобы изменения вступили в силу, перезагрузите Xorg командой:

Часто используемые опции XKB

Переключение раскладок клавиатуры

Чтобы иметь возможность легко переключать раскладки клавиатуры, сначала укажите несколько раскладок, между которыми вы хотите переключиться (первая из них будет по умолчанию). Затем укажите клавишу (или комбинацию клавиш), которую будете использовать для переключения. Например, чтобы переключиться между US и Swedish раскладками с помощью клавиши CapsLock , используйте us,se как аргумент XkbLayout и grp:caps_toggle как аргумент XkbOptions .

Вы можете использовать другие комбинации клавиш, кроме CapsLock , они перечислены в /usr/share/X11/xkb/rules/base.lst , начинаясь с grp: и заканчиваясь на toggle . Чтобы получить весь список доступных параметров, запустите следующую команду:

Завершение Xorg по сочетанию клавиш Ctrl+Alt+Backspace

По умолчанию комбинация клавиш Ctrl+Alt+Backspace отключена. Вы можете включить ее установив terminate:ctrl_alt_bksp для XkbOptions . Это также можно сделать, привязав клавишу к Terminate_Server в xmodmap (который отменяет любую существующую настройку XkbOptions ). Для того, чтобы любой из этих методов работал, необходимо также установить DontZap в «off» в ServerFlags ; однако, по крайней мере, с версии R6.8.0 (2004 год) [1] это значение по умолчанию.

Перестановка Caps Lock и Левого Control

Чтобы поменять местами Caps Lock и Левый Control, добавьте ctrl:swapcaps в XkbOptions . Запустите следующую команду для просмотра похожих параметров вместе с их описанием:

Включение кнопок мышки

Кнопки мыши отключены по умолчанию и должны быть включены вручную добавлением keypad:pointerkeys в XkbOptions . Это создаст комбинацию клавиш Shift+NumLock для включения/выключения кнопок мыши.

Смотрите также X keyboard extension#Mouse control для расширенной настройки.

Настройка клавиши Compose

Хотя обычно её нет на традиционных клавиатурах, однако клавишу Compose можно настроить на существующую.

Клавиша Compose начинает последовательность нажатия клавиш, которая включает (обычно два) дополнительных нажатия клавиш. Обычно используется либо для ввода символов на языке, для которого не была предназначена клавиатура, либо для других менее используемых символов, которые не покрываются модификатором AltGr . Например, нажатие Compose ‘ e производит é , или Compose — — создаёт длинное тире: — .

Хотя ещё несколько эксцентричных клавиатур имеют клавишу Compose , её работоспособность обычно заключается в замене уже существующей клавиши на неё. Например, чтобы сделать клавишу Menu клавишей Compose , используйте конфигурацию окружения рабочего стола или пропишите compose:menu в XkbOptions (или используйте setxkbmap: setxkbmap -option compose:menu ). Разрешенные клавиши для подстановки определены в /usr/share/X11/xkb/rules/base.lst :

Читайте также:  Приложение xbox для windows 10 не запускается

Если желаемое соответствие не найдено в этом файле, альтернативой является использование xmodmap для сопоставления нужной клавиши с keysym Multi_key , которая работает как клавиша compose по умолчанию (обратите внимание, что настройки xmodmap сбрасываются setxkbmap).

Сочетания клавиш

Комбинация по умолчанию для клавиши compose зависит от локали, установленной для этого сеанса и находящейся в /usr/share/X11/locale/используемая_локаль/Compose , где используемая_локаль , к примеру, en_US.UTF-8 .

Можно определить собственную комбинацию клавиш compose, скопировав стандартный файл в

/.XCompose и отредактировав его. Или же создайте пустой

/.XCompose и включите в него содержимое стандартного файла, используя include «%L» , например:

Клавиша compose работает с любыми из тысяч символов Unicode, включая те, которые находятся за основной многоязычной плоскостью (Basic Multilingual Plane). Взгляните на справочную страницу (man) Compose(5) , в которой объясняется формат файлов XCompose.

Однако GTK не использует XIM по умолчанию и поэтому не следует за клавишами

/.XCompose . Это можно устранить, заставив GTK использовать XIM, добавлением export GTK_IM_MODULE=xim и/или export XMODIFIERS=»@im=none» в

Значки валют на других кнопках

Большинство европейских клавиатур имеют знак Euro (€), напечатанный на клавише 5 . Например, чтобы получить доступ к нему с помощью Alt+5 , используйте параметры lv3:lalt_switch и eurosign:5 .

Знак рупии (₹) можно использовать также с rupeesign:4 .

Переключение состояния клавиши Caps Lock сразу после нажатия

Те, кто предпочитает вводить заглавные буквы с помощью клавиши Caps Lock, могут испытывать небольшую задержку при переключении состояния Caps Lock, что приводит к двум или более заглавными буквами (например, THe, ARch LInux). Это поведение происходит от печатных машин.

Некоторые более популярные операционные системы удалили это поведение, либо добровольно (это может сбить с толку некоторых), либо по ошибке, однако это вопрос предпочтения. Отчеты об ошибках были отправлены на баг-трекер X-сервера, поскольку в настоящее время нет простого способа переключиться на поведение, представленное другими операционными системами. Для тех, кто хотел бы следить за этой проблемой, отчеты об ошибках и последний рабочий прогресс можно найти по адресу [2] и [3].

Временное решение

Сначала, экспортируйте настройки клавиатуры в файл:

В файле xkbmap найдите раздел Caps Lock, который начинается с key :

и замените весь раздел следующим кодом:

Сохраните и перезагрузите настройки клавиатуры:

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

Функции однократного нажатия клавиш

Чтобы задать клавише-модификатору дополнительную функцию однократного нажатия, воспользуйтесь xcape . Таким образом возможно, к примеру, назначить функцию Escape клавише CapsLock при нажатии только данной клавиши, а при нажатии вместе с другой кнопкой будет вызвана функция клавиши Control . Для начала задайте перестановку Control , используя setxkbmap, как описано ранее, а также задайте ассоциацию с Escape с помощью xcape:

Возможно задать несколько ассоциаций, используя точку с запятой. Например: Caps_Lock=Escape;Shift_L=Escape .

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

Регулировка задержки и скорости автоповтора

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

Через xset

Инструмент xset может быть использован для настройки скорости и задержки автоповтора для активного X-сервера, но определенные действия во время его работы могут привести к тому, что он сбросит эти изменения и вернется к настройкам по умолчанию.

Например, чтобы установить задержку автоповтора в 200 мс и скорость автоповтора в 30 Гц, используйте следующую команду (используйте xinitrc, чтобы сделать эти настройки постоянными):

Ввод команды без указания задержки и скорости автоповтора приведет к сбросу значений до их соответствующих значений по умолчанию; задержка 660 мс и скорость 25 Гц:

Через параметры запуска XServer

Более проверенный способ установить задержку и скорость автоповтора — сделать их настройками по умолчанию, передав нужные настройки X-серверу при его запуске, используя следующие параметры:

  • -ardelay миллисекунды — устанавливает задержку автоповтора (длительность в миллисекундах удержания клавиши нажатой до начала автоповтора).
  • -arinterval миллисекунды — устанавливает интервал автоповтора (длительность в миллисекундах, которая должна пройти между нажатиями, генерируемыми автоповтором).

Для получения полного списка параметров X-сервера смотрите Xserver(1) и обратитесь к своему экранному менеджеру для получения информации о том, как передать эти параметры.

Источник

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