Recientemente compré un teclado retroiluminado que fue diseñado de tal manera que la tecla Scroll Lock se usó para alternar la luz de fondo. Rápidamente descubrí que Cinnamon no responde correctamente cuando se presiona la tecla de bloqueo de desplazamiento. Originalmente, pensé que la luz de fondo del teclado era DOA porque todo lo demás funcionaba de fábrica. Después de reiniciar, descubrí que antes de iniciar Xorg pude alternar con éxito la luz de fondo con la tecla de bloqueo de desplazamiento. Luego, una vez más, después de iniciar Xorg (y consecuentemente cinnamon_session), esta funcionalidad dejó de funcionar una vez más.
Para que la luz de fondo funcione después de iniciar Xorg, me vi obligado a emitir un: xset led named "Scroll Lock"
para habilitar y deshabilitar esta funcionalidad.
Después de un poco de investigación, me encontré con un programa llamado xev
que arrojó información clave del evento al terminal después de que se inició. Al presionar la tecla de bloqueo de desplazamiento, el terminal se rellenó con esta información:
Evento KeyPress, serial 34, NO sintético, ventana 0x2c00001, raíz 0x2df, subw 0x0, hora 2609824, (410,0), raíz: (1724,142), estado 0x0, código clave 78 (keysym 0xff14, Scroll_Lock), misma pantalla SI, XLookupString da 0 bytes: XmbLookupString da 0 bytes: XFilterEvent devuelve: False
Evento KeyRelease, serie 37, NO sintético, ventana 0x2c00001, raíz 0x2df, subw 0x0, hora 2609912, (410,0), raíz: (1724,142), estado 0x0, código clave 78 (keysym 0xff14, Scroll_Lock), misma pantalla SI, XLookupString da 0 bytes:
Entonces sé que el evento clave se está enviando al kernel.
Además, curiosamente, observé un comportamiento extraño cuando estaba en la terminal (aún antes de lanzar Xorg o Cinnamon) y usaba Scroll Lock. Es decir, en este punto mi luz de fondo estaba cambiando como se esperaba, pero cuando se activó Scroll Lock, nada de lo que escribí se escribió en la pantalla. Después de deshabilitar Scroll Lock, todo lo que había escrito se volcó inmediatamente a la terminal como si estuviera siendo almacenado previamente.
tl; dr ¿Cuál es el trato con Scroll Lock y Xorg?
fuente
Respuestas:
No estoy familiarizado con Cinnamon, pero debería ser posible habilitar su tecla de bloqueo de desplazamiento.
Primero, necesitamos ver si tienes una ranura de modificación de teclado de repuesto. Correr:
Eso imprimirá una lista de su configuración de modificador actual. Con suerte, una de esas líneas no tendrá ninguna clave listada; en general eso será
mod3
. Suponiendo que ese sea el caso, puede habilitar Scroll Lock con este comando:Su LED de bloqueo de desplazamiento ahora debería responder a las pulsaciones de teclas de bloqueo de desplazamiento.
Si eso funciona, probablemente quieras que X lo haga automáticamente cada vez que comience. Hay varias formas de hacerlo: se puede hacer por usuario, pero para algo como esto, creo que tiene sentido que se establezca a nivel mundial.
Pero nunca antes había hecho esto, así que será mejor que lo pruebe antes de dar más detalles. :)
OKAY. El método que intenté activar ese modmap globalmente no funciona para mí en KDE. :( Pero activarlo en mi directorio de inicio parece funcionar bien.
Cree un archivo llamado
.Xmodmap
en su directorio de inicio que contenga esta línea:La forma más fácil de hacerlo es:
Ahora reinicie X (cerrar sesión y volver a iniciar sesión). Con suerte, su tecla de bloqueo de desplazamiento estará funcionando. Si no es así, hágamelo saber.
fuente
Encontré el camino permanente después de una larga noche con muchas soluciones medio horneadas.
Agregue la siguiente línea en la
xkb_symbols "basic" {
sección. no se preocupe si esa segunda línea no está allí, solo está ahí para algunos idiomas y no estaba allí para nosotros en mi sistema.Es posible que tenga que hacer lo mismo en sus otros diseños si cambia de idioma
Además, hay un caché donde viven los diseños xkb. Debe borrarlo antes de reiniciar su servidor X para verificar los nuevos archivos de símbolos de teclado.
fuente
Como Scroll Lockpuede interferir con los atajos de teclado cuando está activo (nombrado F12, Ctrl+ Spaceno funcionará como se esperaba), decidí hacer coincidir la Scroll Locktecla con un inicio manual
xset
, alternando el estado del LED con respecto al estado anterior.Creé un script ejecutable llamado
toggle_keyb_led.sh
:Esto analiza la salida de
xset q
, haciendo coincidir la línea conLED mask
.Nota 1 : Si no funciona para usted, verifique
xset -led; xset q | grep 'LED'
cuál es el valor de máscara actual.Nota 2 : Algunos usuarios necesitan correr
xset led 3
para activar la luz. En este caso, reescriba la secuencia de comandos anterior.Luego puede iniciar este script como acceso directo personalizado utilizando su entorno de escritorio como (aquí está con una canela):
fuente