Jump to content

sxhkd (Español)

From ArchWiki

Esta traducción de sxhkd fue revisada el 2026-09-16. Si existen cambios puede actualizarla o avisar al equipo de traducción.

sxhkd es un demonio simple de teclas de acceso rápido para X, hecho por el desarrollador de bspwm, que reacciona a los eventos de entrada ejecutando comandos.

Instalación

Instale sxhkd o sxhkd-gitAUR.

Configuración

El archivo de configuración por defecto de sxhkd es $XDG_CONFIG_HOME/sxhkd/sxhkdrc. Se puede especificar un archivo de configuración alternativo con la opción -c.

Cada línea del archivo de configuración se interpreta así:

  • Si empieza con #, se ignora.
  • Si empieza con uno o más espacios en blanco, se lee como un comando.
  • Si no, se interpreta como una tecla de acceso rápido: cada nombre de tecla se separa con espacios y/o caracteres +.

Sintaxis general:

[MODIFICADOR + ]*[@]KEYSYM
    COMANDO

Donde MODIFICADOR es uno de los siguientes nombres: super, hyper, meta, alt, control, ctrl, shift, mode_switch, lock, mod1, mod2, mod3, mod4, mod5. Si se añade @ al inicio del keysym, el comando se ejecutará en los eventos de soltar la tecla; si no, en los eventos de presionarla. Los nombres KEYSYM son los que obtendrá con xev.

Las teclas de acceso rápido del ratón se pueden definir usando uno de los siguientes nombres especiales de keysym: button1, button2, button3, ..., button24. La tecla de acceso rápido puede contener una secuencia de la forma STRING_1, ...,STRING_N}, en cuyo caso el comando también debe contener una secuencia con N elementos: el emparejamiento de las dos secuencias genera N teclas de acceso rápido. Si el comando incluye llaves ({, }), p. ej. awk '{print $1}', escápelas con una barra inversa \, p. ej. awk '\{print $1\}'. Además, las secuencias pueden contener rangos de la forma A-Z, donde A y Z son caracteres alfanuméricos.

Lo que realmente se ejecuta es SHELL -c COMANDO, lo que significa que puede usar variables de entorno en COMANDO. SHELL será el contenido de la primera variable de entorno definida en la siguiente lista: SXHKD_SHELL, SHELL. Si sxhkd recibe una señal SIGUSR1, volverá a cargar su archivo de configuración.

Ejemplo

$XDG_CONFIG_HOME/sxhkd/sxhkdrc
# Al presionar el botón 1 del ratón, presionar Alt_R+F1
button1
    xte "keydown Alt_R" "keydown F1" "keyup Alt_R" "keyup F1"

# Al presionar el botón 2 del ratón, esperar 3 segundos y después presionar Alt_R+F2
button2
    xte "sleep 3" "keydown Alt_R" "keydown F2" "keyup Alt_R" "keyup F2"

Asignar un comando a una sola pulsación de una tecla

Algunos usuarios pueden querer asignar un comando a una sola pulsación de tecla, de la misma forma en que la tecla Super abre el menú Inicio en Windows. En sxhkd, esto se logra asignando una cadena de acordes compuesta por los eventos de presionar y soltar un mismo keysym, como en el siguiente ejemplo:

$XDG_CONFIG_HOME/sxhkd/sxhkdrc
# Lanzador de programas
Super_L; @Super_L
    rofi -show drun

Este patrón complicado es necesario porque, sin la cadena de acordes explícita (es decir, un único @Super_L), sxhkd activaría la asignación con cualquier liberación de la tecla, incluso cuando la tecla se usa en otro acorde. Además, se deben usar keysyms en lugar de modificadores (Super_L en lugar de super), porque sxhkd no admite el uso del símbolo @ (que indica soltar la tecla) con modificadores.

Utilización

Después de configurarlo, puede que quiera hacer que sxhkd se inicie automáticamente; consulte el artículo correspondiente de su entorno de escritorio o gestor de ventanas para más detalles.

Si su entorno de escritorio es compatible con la Desktop Application Autostart Specification, puede iniciar sxhkd creando un archivo sxhkd.desktop en el directorio apropiado:

~/.config/autostart/sxhkd.desktop
[Desktop Entry]
Name=sxhkd
Comment=Simple X hotkey daemon
Exec=/usr/bin/sxhkd
Terminal=false
Type=Application

Véase también