Рейтинг:2

Пользовательские горячие клавиши Ubuntu 20.04 для изменения раскладки клавиатуры

флаг ph

Я пытаюсь изменить поведение Ubuntu 20.04 следующим образом: я хочу Левый Alt переключить раскладку клавиатуры на английскую и Правый альт переключить на русский язык. Я также хочу сохранить все свои Alt+что-то горячие клавиши.

Что я понял на данный момент:

  • пользовательские горячие клавиши: настройки Ubuntu или инструменты настройки не могут делать то, что я хочу. я могу использовать xbindkeys связывать Alt_L и Alt_R к любой команде оболочки, но она ломается Alt+что-то горячие клавиши, даже если я использую Выпускать модификатор (как Alt_L + Отпустить). Я до сих пор не знаю, как сопоставить что-либо с Альт не ломая Alt+что-то.
  • говоря о командах оболочки, лучшее, что я мог сделать, чтобы изменить раскладку клавиатуры с помощью команды оболочки, это setxkbкарта нас или же setxkbmap ru. Это как бы работает, но ubuntu почему-то этого не видит: когда я нажимаю смена языка горячая клавиша раскладка клавиатуры меняется в трее Ubuntu, но фактическая раскладка всегда нас. Также setxkbкарта нас фактически не изменяет текущий выбранный макет, он ограничивает список доступных макетов только нас вместо мы, ру это обходной путь, но я мог бы жить с этим, я думаю.

Итак, вопрос: как я могу связать Левый Alt для переключения раскладки США и Правый альт чтобы переключить макет RU, сохраняя все Alt+что-то горячие клавиши?

Sadaharu Wakisaka avatar
флаг pl
Добро пожаловать в AskUbuntu, пока клавиша `Alt_L +` привязана к чему-то (скорее всего так); было бы раздражающим, если бы вы могли назначить этот ключ. Все просто, если вы попытаетесь установить горячую клавишу в «Системные настройки> Клавиатура> Ярлыки», возможно, «Переключиться на следующий источник» установлено на «супер + пробел», попробуйте изменить его на свою любимую комбинацию клавиш.
Artem Shalagin avatar
флаг ph
@guiverc спасибо за разъяснение, я имел в виду ubuntu 20.04, отредактировал вопрос
Artem Shalagin avatar
флаг ph
@SadaharuWakisaka спасибо за ваш ответ. Дело в том, что я использовал эту настройку на Mac раньше, и я развил мышечную память, чтобы нажимать левую или правую клавишу Alt большим пальцем, чтобы переключаться на язык, который я собираюсь ввести, прежде чем я начну печатать. Так что меня не будет раздражать, если будут установлены горячие клавиши `Alt` и `Alt + key`. Также я хочу привязать клавиши к _select_ определенному макету, а не к _switch_ layouts. Вы знаете, возможно ли это?
vanadium avatar
флаг cn
Немного вдохновения здесь: https://unix.stackexchange.com/questions/316998/how-to-change-keyboard-layout-in-gnome-3-from-command-line
Рейтинг:3
флаг ph

Я понял, как это сделать, используя комментарий @vanadium и dconf-инструмент.

Переключение языка с терминала с помощью оболочка гномах оценка:

вызов gdbus --session --dest org.gnome.Shell \
--object-path /org/gnome/Shell \
--method org.gnome.Shell.Eval \
"imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"

Изменить индекс входные источники для разных языков.

Чтобы установить горячую клавишу, вам нужно dconf-инструмент. Перейдите к /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/. Удобно, что вы не можете добавлять новые подпапки из dconf-редактор интерфейс, перейти Настройки -> Сочетания клавиш, прокрутите вниз до Пользовательские ярлыки и добавить новый. обычай0 подпапка должна появиться в dconf-инструментинтерфейс. Установите команду выше как команду и Alt_L или же Alt_R как обязательный.

Рейтинг:0
флаг cn

Я не смог назначить нужные горячие клавиши Alt_L / Alt_r и держать другие Alt+что-то горячие клавиши работают, но я смог добиться требуемой функциональности с менее конфликтующими клавишами в i3wm, поэтому мой ответ может быть частично полезен.

Я добавил следующие строки в .config/i3/config:

bindcode Mod4+57 exec "setxkbmap -layout us,ru"
bindcode Mod4+58 exec "setxkbmap -layout ru,us"

В настоящее время windows_key + п (н имеет ключевой код 57) и windows_key + м (м имеет ключевой код 58) переключить раскладку на английскую и русскую соответственно.

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

Ответить или комментировать

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