Comutação de layout sem estado no Ubuntu 14.04

4

Eu uso extensivamente dois layouts de teclado (latim para inglês, e cirílico para ucraniano e russo), e me incomoda experimentar minha erros de modo por causa do bit adicional do estado da interface do usuário: o layout atual .

Eu costumava eliminá-los completamente usando a comutação de layout stateless , onde não há next layout action (como tal uma ação é baseada no estado atual , que é fácil de esquecer para o usuário e, portanto, leva a erros), e não apenas duas ações:

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

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

No entanto, essa janela de configurações foi destruída em Saucy.

Como obtenho minha comutação sem estado agora?

    
por ulidtko 02.11.2013 / 23:51

4 respostas

5

Este comando irá definir o layout para o primeiro (Funciona muito bem com o Unity / Gnome Indicator, Ubuntu 13.10 / 14.04):

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

Você pode usar ferramentas de tweak, ação do gnome, plug-in de ação do compiz..etc para criar um atalho de teclado para ele.

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

Você pode usar isso para criar um script complexo 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))
    
por user.dz 01.02.2014 / 16:15
4

As opções de teclado no Ubuntu e no GNOME são nada além de um frontend para a extensão do teclado X (XKB). Se você está bem com a configuração das coisas manualmente, pode facilmente reativar todas as opções que estão faltando com a linha de comando setxkbmap .

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 do XKB para a sessão atual. Se você quiser tornar a mudança permanente, você precisará adicionar o comando acima aos seus aplicativos de inicialização.

Se você estiver interessado nas várias outras configurações que você pode controlar com setxkbmap , recomendo seguir o manual ( man setxkbmap ) e ver /usr/share/X11/xkb/rules/base.lst . Este último documenta todas as formas diferentes de configurar a chave de composição, a alternância do layout do teclado, etc.

A seguir, a seção base.lst na alternância 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 setxkbmap não funcionar para você, você pode tentar definir as opções do XKB por meio de dconf :

  1. Instale dconf-editor ( sudo apt-get install dconf-editor )
  2. Abra o editor dconf do seu painel e navegue até org gnome área de trabalho fontes de entrada
  3. Adicione suas configurações do XKB a xkb-options na forma de uma matriz. Por exemplo: ['grp:shift_caps_switch']

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

    
por Glutanimate 18.08.2014 / 13:27
1

Talvez apenas usando a ferramenta Tweak:

HTH

    
por Pyrophorus 20.08.2014 / 14:19
0

Acontece que a área de trabalho Cinnamon ainda tem essa opção! Nice.

    
por ulidtko 09.04.2017 / 18:09