Troca de layout sem estado no Ubuntu 14.04

Troca de layout sem estado no Ubuntu 14.04

captura de tela

Eu uso extensivamente dois layouts de teclado (latim para inglês e cirílico para ucraniano e russo), e me incomoda experimentar meuerros de modopor causa do bit adicional de estado da UI:o layout atual.

Eu costumava eliminá-los completamente usandoapátridamudança de layout, em que não se tem nenhuma next layoutação (já que tal ação é baseada noEstado atual, que é fácil de esquecer para o usuário e, portanto, leva a erros), apenas duas ações:

  1. habilitar layout latino;
  2. ativar o layout cirílico.

Isso era trivialmente realizável em versões pré-Saucy. Conforme ilustrado na imagem acima.

No entanto, essa janela de configuraçõesfoi destruídoem picante.

Como faço minha comutação sem estado agora?

Responder1

As opções de teclado no Ubuntu e GNOME nada mais são do que uma interface para a extensão de teclado X (XKB). Se você quiser configurar as coisas manualmente, poderá reativar facilmente todas as opções ausentes com uma setxkbmaplinha de comando.

Por exemplo, para definir uma alternância não modal entre os layouts de teclado russo e inglês, você pode usar o seguinte comando:

setxkbmap -layout us,ru -option grp:shift_caps_switch

Isso ativará essas configurações de XKB para a sessão atual. Se você quiser tornar a mudança permanente, você terá queadicione o comando acima aos seus aplicativos de inicialização.

Se você estiver interessado nas várias outras configurações que você pode controlar setxkbmap, recomendo consultar o manual ( man setxkbmap) e dar uma olhada em /usr/share/X11/xkb/rules/base.lst. O último documenta todas as diferentes maneiras de configurar a tecla de composição, alternância de layout do teclado, etc.

A seguir está a base.lstseção sobre troca de layout de teclado:

! option
  grp                  Key(s) to change layout
  grp:switch           Right Alt (while pressed)
  grp:lswitch          Left Alt (while pressed)
  grp:lwin_switch      Left Win (while pressed)
  grp:rwin_switch      Right Win (while pressed)
  grp:win_switch       Any Win key (while pressed)
  grp:caps_switch      Caps Lock (while pressed), Alt+Caps Lock does the original capslock action
  grp:rctrl_switch     Right Ctrl (while pressed)
  grp:toggle           Right Alt
  grp:lalt_toggle      Left Alt
  grp:caps_toggle      Caps Lock
  grp:shift_caps_toggle Shift+Caps Lock
  grp:shift_caps_switch Caps Lock (to first layout), Shift+Caps Lock (to last layout)
  grp:win_menu_switch  Left Win (to first layout), Right Win/Menu (to last layout)
  grp:lctrl_rctrl_switch Left Ctrl (to first layout), Right Ctrl (to last layout)
  grp:alt_caps_toggle  Alt+Caps Lock
  grp:shifts_toggle    Both Shift keys together
  grp:alts_toggle      Both Alt keys together
  grp:ctrls_toggle     Both Ctrl keys together
  grp:ctrl_shift_toggle Ctrl+Shift
  grp:lctrl_lshift_toggle Left Ctrl+Left Shift
  grp:rctrl_rshift_toggle Right Ctrl+Right Shift
  grp:ctrl_alt_toggle  Alt+Ctrl
  grp:alt_shift_toggle Alt+Shift
  grp:lalt_lshift_toggle Left Alt+Left Shift
  grp:alt_space_toggle Alt+Space
  grp:menu_toggle      Menu
  grp:lwin_toggle      Left Win
  grp:rwin_toggle      Right Win
  grp:lshift_toggle    Left Shift
  grp:rshift_toggle    Right Shift
  grp:lctrl_toggle     Left Ctrl
  grp:rctrl_toggle     Right Ctrl
  grp:sclk_toggle      Scroll Lock
  grp:lctrl_lwin_rctrl_menu LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)

As várias configurações do XKB também estão documentadas em man 7 xkeyboard-config.


Se setxkbmapnão funcionar para você, tente definir as opções XKB por meio dconfde:

  1. Instalar dconf-editor( sudo apt-get install dconf-editor)
  2. Abra o editor dconf no seu painel e navegue atéorganizaçãognomoÁrea de Trabalhofontes de entrada
  3. Adicione suas configurações XKB na xkb-optionsforma de um array. Por exemplo:['grp:shift_caps_switch']

Fonte:Faça com que as preferências do setxkbmap sejam definidas na inicialização

Responder2

Este comando definirá o layout para o primeiro (funciona bem com o indicador Unity/Gnome, Ubuntu 13.10/14.04):

gsettings set org.gnome.desktop.input-sources current 0

Você pode usar ferramentas de ajuste, ação gnome, plugin de ação compiz..etc para criar um atalho de teclado para ele.

Os layouts são indexados a partir de 0. Assim, você pode criar um atalho para qualquer layout da lista.

Você pode usar isso para criar scripts complexos para o último layout sem fornecer um índice:

 gsettings get org.gnome.desktop.input-sources sources

Como:

 gsettings set org.gnome.desktop.input-sources current $(($(gsettings get org.gnome.desktop.input-sources sources | grep -Po "'[[:alpha:]]+'\)" | wc -l)-1))

Responder3

Talvez apenas usando a ferramenta Tweak:

insira a descrição da imagem aqui

HTH

Responder4

Acontece queCaneladesktop ainda tem essa opção! Legal.

informação relacionada