AZERTY workspace binds dead on `be`: detection only matches kb_layout = "fr", and fr_keys is wrong for Belgian

Abierto Apto para principiantes
#1,807 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
74/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Tranquilo
Stack tecnológico
linux, lua
Área
desktop

Línea de trabajo

Empieza por conf/keybindings/default.lua, especialmente por la detección del diseño y el bucle de asignaciones de workspace alrededor de las líneas 16–28. Compara la tabla de teclas francesa con los símbolos XKB belgas enumerados en el issue y, después, actualiza la detección específica del diseño y los nombres de las teclas. El trabajo estará terminado cuando las 20 asignaciones de workspace usen teclas disponibles en AZERTY belga y las asignaciones francesas sigan funcionando.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement solved

Version: 2.15.1 · Layout: kb_layout = "be" (Belgian AZERTY) · Hyprland 0.56.2

Problem

conf/keybindings/default.lua:16 enables AZERTY key names only for exactly fr:

if content:match('kb_layout%s*=%s*"fr"') and not content:match('kb_variant%s*=%s*"us"') then

With kb_layout = "be", is_fr stays false, so the loop at line 28 binds literal digits. On AZERTY layouts the digits are at shift level 2, so neither SUPER + <n> nor SUPER + SHIFT + <n> ever fires — all 20 workspace binds are silently dead. hyprctl binds shows them registered on keys 1–0, they just can't be produced without SHIFT.

fr_keys is also not reusable for be

Belgian and French differ at indices 6 and 8 (/usr/share/X11/xkb/symbols/):

index fr_keys (line 22) Belgian actual
6 minus section
8 underscore exclam
be: key <AE06> {[ section,    6, asciicircum, fiveeighths ]};
    key <AE08> {[ exclam,     8, bracketleft, trademark   ]};
fr: key <AE06> {[ minus,      6, bar,         fiveeighths ]};
    key <AE08> {[ underscore, 8, backslash,   trademark   ]};

So extending the match to be alone would still leave workspaces 6 and 8 broken.

Suggested fix

Key the table on the layout rather than a boolean:

local azerty_keys = {
    fr = { "ampersand","eacute","quotedbl","apostrophe","parenleft",
           "minus","egrave","underscore","ccedilla","agrave" },
    be = { "ampersand","eacute","quotedbl","apostrophe","parenleft",
           "section","egrave","exclam","ccedilla","agrave" },
}

Workaround

In custom.lua. Hyprland dispatches every matching bind rather than the first, so the dead digit binds must be unbound, not just shadowed:

local be_keys = { "ampersand","eacute","quotedbl","apostrophe","parenleft",
                  "section","egrave","exclam","ccedilla","agrave" }
for i = 1, 10 do
    local digit = i % 10
    hl.unbind("SUPER + " .. digit)
    hl.unbind("SUPER + SHIFT + " .. digit)
    hl.bind("SUPER + " .. be_keys[i], hl.dsp.focus({ workspace = i }), {})
    hl.bind("SUPER + SHIFT + " .. be_keys[i], hl.dsp.window.move({ workspace = i }), {})
end
Lenguaje dominante
QML
Estrellas
5.1k
Forks
386
Merge medio
16 h 45 min
PR fusionados (30 d)
14

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de mylinuxforwork/dotfiles

Todos los issues de mylinuxforwork/dotfiles

Issues similares

Más issues de Desktop Dev

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.