Переключитесь на конкретную раскладку клавиатуры, используя Ctrl + Shift + Num

12

Я хочу иметь возможность нажимать:

Ctrl+ Shift+ 1- переключиться на английскую раскладку клавиатуры
Ctrl+ Shift+ 2- перейти на раскладку ивритской клавиатуры
Ctrl+ Shift+ 3- переключиться на русскую (фонетическую) раскладку клавиатуры

Я видел подобные вопросы, уже задаваемые здесь, но использовались только те ответы, которые я использовал, setxkbmapчто ломает селектор клавиатуры UI, что является нежелательным.

Спасибо за любую помощь.

Сварог
источник
Насколько я знаю, Set "X" KeyboardBoard Map уже для того интерфейса, о котором мы говорим. И альтернативой консольного интерфейса setxkbmap должны быть loadkeys . Что вы имеете в виду, говоря "ломает пользовательский интерфейс"
Хилми Эрдем КЕРЕН
@erdemkeren В правом верхнем углу экрана на одной из кнопок изображена клавиатура с кодом выбранной раскладки клавиатуры. При нажатии отображается список доступных макетов. Кроме того, вы можете настроить комбинации клавиш, такие как Alt + Shift, для переключения между ними. После запуска setxkbmapэтот список сбрасывается и включает только тот язык, который вы только что упомянули в setxkbmap.
Сварог
Ты пробовал IBus.
saji89
@ saji89 Никогда не слышал об этом раньше. Посмотрю. Благодарю.
Сварог
@ saji89 Я пытался немного поиграть с iBus, не понимаю, насколько это мне помогает.
Сварог

Ответы:

1

Если вы используете Ubuntu, вы можете установить стандартные настройки раскладки клавиатуры для переключения между раскладками клавиатуры. Однако вы не можете использовать сочетания клавиш, которые вы перечислили. Я не знаю, как это сделать.

Если вы откроете меню настроек системы, перейдите к раскладке клавиатуры. После открытия вы увидите текущие раскладки клавиатуры. Если вы нажмете «Параметры» и выберите «Клавиша (-ы)», чтобы изменить макет, вы можете выбрать, какой комбо изменить макет. Некоторые комбо

Alt+Caps Lock

Alt+Ctrl

Alt+Shift

Обе клавиши Alt вместе и т. Д.

Однако нет способа установить свои собственные ярлыки. Я попытался выяснить, был ли возможен код терминала, но нет ручного ввода для настроек раскладки клавиатуры, например, для других программ, таких как Firefox: man firefoxесли бы вы могли легко создать комбинацию клавиш для запуска команды, в зависимости от того, какой макет вы хотите.

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

Снимок экрана меню опций раскладки клавиатуры

Я надеюсь, что это поможет вам.

Вейлин Шрек
источник
Спасибо за информацию, но я уже знал это, и это не то, что я ищу.
Сварог
Пожалуйста, уточните, в чем разница с тем, что вы хотите, что описывает этот ответ и почему вы не можете его использовать.
Джиппи
@jippie - Все эти настройки позволяют изменить только макет на следующий. IE Например у меня есть 3 раскладки клавиатуры: английская, иврит, русская. Если я сейчас набираю текст на английском языке, а затем нажимаю выбранную клавишу, я перехожу на иврит. Еще одно нажатие клавиши - русский. Следующее нажатие клавиши - обратно на английский. То, что я ищу, - это способ создания трех нажатий клавиш, которые переключат меня на английский, иврит или русский соответственно, независимо от того, какой расклад я сейчас использую. aka Нажмите Ctrl + Shift + 3, и вы точно знаете, что я сейчас печатаю по-русски.
Сварог
Возможно, вам это мало пригодится, но в Kubuntu (на основе KDE) => Настройки клавиатуры => Макет Позволяет настраивать пользовательские ярлыки. Не знаю, если вы можете использовать инструмент настройки де KDE, вероятно, нет. Вы уверены, что нет никакого способа установить пользовательский ярлык?
Джиппи
1
  1. Откройте «Системные настройки»> «Клавиатура»> «Ярлыки»> «Пользовательские ярлыки»
  2. Нажмите «+», чтобы создать новый
  3. Добавьте любое имя, которое вам нравится, и следующую команду для первого макета: gsettings set org.gnome.desktop.input-sources current 0

  4. Нажмите «Применить»

  5. Нажмите «Отключено» в правом столбце для сопоставления клавиш.
  6. Назначьте вашу горячую клавишу

Снимок экрана для шага 3: введите описание изображения здесь

Снимок экрана для шага 5: введите описание изображения здесь

Алексей
источник
Я полагаю, это работает только для GNOME, но не для других DE?
Suncatcher
0

Следующее решение работает для Ubuntu 19.10.

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

Взято отсюда .

Поэтому просто добавьте привязки клавиш, которые вам нравятся, с индексом в приведенной выше команде, измененным по желанию (0 - ваш первый макет, 1 - ваш второй макет и т. Д.).

RobinBobin
источник