cosmic: la entrada anda — click y teclado por QMP; y 29 atajos caídos por UNA línea

El click sobre «Applications» abre la biblioteca (el color dominante pasa de fondo 91%
a 27,27,27 84%) y tecleando aparece «cosmic» en el buscador. Se maneja entero por QMP
con input-send-event, sin humano y sin ver la pantalla.

USB HID, no virtio-input: el kernel de hammer no trae VIRTIO_INPUT, así que
-device virtio-keyboard no crea ni un /dev/input/event*. Con qemu-xhci + usb-kbd +
usb-tablet anda, y además es lo que se va a usar en metal.

Y el hallazgo de fondo: Super no abría el lanzador TENIENDO la ligadura en el fichero.
keybindings.ron de epoch-1.5.0 liga Super+Alt+S a System(ScreenReader), acción que el
crate que lo parsea (cosmic-settings-config, rev 8c54bbbc) no tiene en su enum. RON no
ignora lo desconocido: falla el mapa entero y se caen las 29 ligaduras. El único rastro
era un WARN de cosmic-idle a 200 líneas del arranque hablando de un enum — el síntoma no
nombra ni la tecla ni el fichero. El pin lockstep fallando desde adentro de upstream.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-04 01:08:41 -04:00
co-authored by Claude Opus 5
parent cd1497d740
commit 39b91b5146
4 changed files with 70 additions and 4 deletions
+11 -1
View File
@@ -65,7 +65,17 @@ mkdir -p /out/usr/bin \
/out/usr/share/cosmic/com.system76.CosmicSettings.WindowRules/v1
cp target/release/cosmic-comp /out/usr/bin/cosmic-comp
chmod 755 /out/usr/bin/cosmic-comp
cp data/keybindings.ron /out/usr/share/cosmic/com.system76.CosmicSettings.Shortcuts/v1/defaults
# ⚠ SE FILTRA UNA LÍNEA, Y ES LA DIFERENCIA ENTRE 28 ATAJOS Y NINGUNO.
# `data/keybindings.ron` de epoch-1.5.0 liga Super+Alt+S a `System(ScreenReader)`, una acción que el
# crate que PARSEA el fichero —`cosmic-settings-config`, que cargo pinea en la rev 8c54bbbc— todavía
# no tiene en su enum. RON no ignora lo que no conoce: falla la deserialización del MAPA COMPLETO, y
# con ella se caen las 29 ligaduras, incluida `(modifiers: [Super]): System(Launcher)`.
# Se ve así: apretás Super, no pasa NADA, y el único rastro es un WARN de cosmic-idle a 200 líneas
# del arranque que habla de un enum. Medido: sin el filtro, Super no abre el lanzador.
# Es el riesgo del pin lockstep asomando desde adentro de upstream: el dato y el parser del MISMO
# epoch no coinciden. Se cae la acción que no existe, no las 28 que sí.
grep -v 'System(ScreenReader)' data/keybindings.ron \
> /out/usr/share/cosmic/com.system76.CosmicSettings.Shortcuts/v1/defaults
cp data/tiling-exceptions.ron /out/usr/share/cosmic/com.system76.CosmicSettings.WindowRules/v1/tiling_exception_defaults
'''