Como eu mudo meu layout de teclado enquanto uso o xmonad?

6

Portanto, eu tenho um IBM Thinkpad X31, executando natty e xmonad como o gerenciador de janelas. O teclado é italiano. Eu desejo usar um mapeamento de teclado em inglês americano o tempo todo. Como eu faço isso?

    
por Walead Fuss 28.04.2011 / 13:14

3 respostas

6

Aqui está uma maneira de conectar o XMonad e vários layouts de teclado.

Etapa 1. Crie um script que alterne entre seus layouts. Por exemplo, digamos que apoiaremos inglês (EUA), italiano e francês.

/home/you/bin/layout_switch.sh :

#!/bin/zsh
# LICENSE: PUBLIC DOMAIN
# switch between my layouts

# If an explicit layout is provided as an argument, use it. Otherwise, select the next layout from
# the set [us, it, fr].
if [[ -n "" ]]; then
    setxkbmap 
else
    layout=$(setxkbmap -query | awk 'END{print }')
    case $layout in
        us)
                setxkbmap it
            ;;
        it)
                setxkbmap fr
            ;;
        *)
                setxkbmap us
            ;;
    esac
fi

Teste este script - execute-o e veja se o layout do teclado alterna entre os layouts. Em caso afirmativo, prossiga para o próximo passo.

Etapa 2. Personalizar as configurações do XMonad para oferecer suporte à associação de chave personalizada que alternará o layout.

Em seu diretório home, crie um diretório chamado ".xmonad" (se não existir).

/home/you/.xmonad/xmonad.hs :

import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run(spawnPipe)
import XMonad.Util.EZConfig(additionalKeys)
import System.IO

main = do
  xmonad $ defaultConfig
     {
        terminal = "gnome-terminal"
     } 'additionalKeys'
     [ (( mod1Mask             , xK_Escape), spawn "/home/you/bin/layout_switch.sh")
     ]

Agora, reinicie o XMonad pressionando Mod + q. O seu seletor de layout deve estar totalmente funcional.

Referência: link

    
por orlenko 17.06.2013 / 00:15
2

Para alterar o mapeamento do teclado para inglês americano, execute o comando setxkbmap us . Para integrá-lo ao Xmonad, você o adiciona ao gancho de inicialização .

    
por Egil 28.04.2011 / 13:35
2

Você já pode ter um arquivo de inicialização para iniciar e configurar as coisas no login.

Adicione a seguinte linha para usar vários layouts de teclado:

# Keyboard layout switcher
setxkbmap -layout us,se -variant ,kinesis -option 'grp:alt_shift_toggle'

-layout e -variant funcionam juntos. Aqui meus layouts são us (nenhuma variante, vazia antes da vírgula) e se(kinesis) . As variantes podem ser dvorak , por exemplo. Você pode omitir a variante se não quiser.

-option define aqui o atalho de teclado para alternar entre os layouts.

Para o Windows lembrar do layout:

# Per window keyboard layout
kbdd

Se você usar o xmobar e quiser mostrar o layout atual, adicione isso ao seu .xmobarrc Config:

, commands = [...
...
, Run Kbd [("se", "SE"), ("us", "US")]
]
...
, template = "...... %kbd% "

Isso foi para todas as pessoas pesquisando vários layouts de teclado e encontrando esse segmento. Se você quiser apenas um layout de teclado, adicione isso ao seu script de inicialização:

setxkbmap -layout us
    
por Gauthier 15.12.2014 / 10:54