LINUX.ORG.RU

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

 ,


0

1

По некоторым причинам мне нужно достаточно много раскладок (в данный момент 5). При этом, двумя из них я пользуюсь постоянно (англ и рус), остальными реже. Если добавить их все стандартным для X11 способом, то хоткей переключения будет переключать через все раскладки (1-2-3-4-5-1), что достаточно неудобно, так как 3-4-5 нужны редко.

В OS X есть такая фича, что однократное нажатие хоткея переключения переключает между двумя последними раскладками, а продолжительное нажатие переключает на третью и дальше (и при этом на экране показывается список всех раскладок).

Что можно сделать в линуксе? Ясно, что можно написать скрипт, который будет переконфигурировать набор раскладок, и повесить его на хоткей, но может есть другие решения?

★★★★★

Что можно сделать в линуксе?

xbindkeys + xkblang.

Deleted
()

Кроме переключения раскладок по кругу можно назначить на клавишу переключиться на 1-ю раскладку в списке или последнюю в списке. У меня всего 2 раскладки en-ru, но 3 переключателя - один гоняет по кругу (но надо смотреть на флаг тек. раскладки), другой всегда переключает на анг., третий - всегда на рус.

sigurd ★★★★★
()

В OS X есть такая фича, что однократное нажатие хоткея переключения переключает между двумя последними раскладками, а продолжительное нажатие переключает на третью и дальше (и при этом на экране показывается список всех раскладок).

В линуксе есть точно такая же фича, 1:1.

anonymous
()
28 ноября 2019 г.

В xkb предусмотрены следующие «действия» для переключения раскладок:

ISO_First_Group   // переключить на первую раскладку
ISO_Last_Group    // переключить на вторую раскладку
ISO_Next_Group    // переключить на следующую раскладку
ISO_Prev_Group    // переключить на предыдущую раскладку

Соответственно, мы можем «привязать» их к клавишам.
Например таким образом:

  • правый «ALt» — переключить на первую раскладку;
  • правый «Shift» + правый «ALt» — переключить на следующую раскладку;
  • правый «Win» — переключить на вторую раскладку.

Делается это в файле
/usr/share/X11/xkb/symbols/pc

    key <RALT> {[ ISO_First_Group, ISO_Prev_Group ]};
    key <RWIN> {[ ISO_Next_Group ]};
Dreamdrawer
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.