Welcome to the Slackware Documentation Project

Diseño del teclado en i3

i3 Window Manager

i3wm no viene con stock Slackware. Si desea instalar este administrador de ventanas de mosaico extremadamente configurable, visite SlackBuilds. Asegúrese de instalar también i3status, que le permitirá mostrar todo tipo de información útil en un panel.

Configuración de la distribución del teclado

i3 no viene con ningún mecanismo de configuración de teclado incorporado. El comando setxkbmap , sin embargo, funciona bien. Si ha configurado el diseño del teclado en todo el sistema y no necesita cambiar entre diseños, no necesita hacer nada. Si desea configurar el diseño solo para i3, puede editar su archivo .xinitrc . Si cambia un entorno gráfico con frecuencia y no desea que se sobrescriba el mapa de teclas, debe modificar /etc/X11/xinit/xinitrc.i3 .

# nano /etc/X11/xinit/xinitrc.i3

Justo antes de la sección Iniciar i3 puede especificar el mapa de teclas deseado (por ejemplo, gb):

setxkbmap gb

Guarde el archivo y ejecute (como usuario estándar) xwmconfig y elija i3 para copiar el archivo xinitrc en su directorio de inicio. Si está en X, es posible que deba reiniciarlo.

Cambiar la distribución del teclado

Si necesita cambiar entre diferentes diseños, puede asignar algunas combinaciones de teclas para realizar esas funciones.

1. Abra el archivo de configuración i3

nano ~/.i3/config

2. Agregue lo siguiente (es solo un ejemplo):

Asigne Mod4 a la clave de Microsoft (utilizo mucho la clave de Microsoft para evitar conflictos con las combinaciones de teclas i3 predeterminadas):

set $ms Mod4
bindsym $ms+d exec setxkbmap de
bindsym $ms+g exec setxkbmap gb

Ahora MS+D y MS+G me permiten cambiar entre los diseños de teclado del Reino Unido y el alemán.

Si normalmente cambia entre dos diseños de teclado y no necesita mostrar el diseño actual en la barra de estado, también puede colocar el siguiente código en su archivo ~ / .i3 / config :
setxkbmap -layout de,gb
setxkbmap -option 'grp:ctrl_alt_toggle'

Esto le permitirá alternar entre los dos diseños usando Ctrl + Alt.

Mostrar el diseño activo en el panel

i3status viene con muchas funciones integradas. Desafortunadamente, el diseño actual del teclado no es uno de ellos. Por esa razón, debe escribir una secuencia de comandos corta para mostrar el diseño en el panel. La invocación predeterminada de i3status es la siguiente:

bar {
    status_command i3status
}

Aquí toda la funcionalidad incorporada se configura en ~ / .i3status.conf. Queremos agregar algo más además de eso y cambiarlo a:

bar {
    status_command /path/to/your/i3script.sh
}

Los contenidos de i3script.sh

#!/bin/bash

# shell scipt to prepend i3status with more stuff

i3status --config ~/.i3status.conf | while :
do
        read line
        LG=$(setxkbmap -query | awk '/layout/{print $2}') 
        echo "LG: $LG | $line" || exit 1
done

Lo anterior mostrará la distribución actual del teclado antes de que funcione el i3status estándar. Obviamente puedes agregar mucho más a i3status.

Uso del formato de salida JSON (colores)

El método anterior usa el modo de salida más simple (solo texto). Aunque es más fácil de usar, carece de soporte de color. Para eso, necesitarás JSON.

Agregue la siguiente propiedad en su.i3status.conf

general {
    output_format = i3bar
}

Y reemplace su i3script.sh por el código a continuación. Muestra su idioma predeterminado en verde (en el ejemplo, br ) y cualquier otro idioma en rojo.

#!/bin/bash

i3status --config ~/.i3status.conf | while :
do
    read line
    LG=$(setxkbmap -query | awk '/layout/{print $2}')
    if [ $LG == "br" ]
    then
        dat="[{ \"full_text\": \"LANG: $LG\", \"color\":\"#009E00\" },"
    else
        dat="[{ \"full_text\": \"LANG: $LG\", \"color\":\"#C60101\" },"
    fi
    echo "${line/[/$dat}" || exit 1
done

Fuentes

  • Originalmente escrito por sycamorex
  • Contribuciones de Anónimo
  • Traducido por: Victor 2019/08/09 18:21 (UTC)


En otros idiomas
Traducciones de esta página?:
QR Code
QR Code es:howtos:window_managers:keyboard_layout_in_i3 (generated for current page)