A veces, cuando uso la sinergia entre mis máquinas cuando una está usando el invitado VirtualBox a pantalla completa, me quedo atascado con algunos modificadores de teclas extraños encendidos. Si existen en mi teclado (como Shift_L), solo puedo tocarlo y su estado se restablece y puedo seguir escribiendo letras minúsculas. Pero algunos de ellos no están asignados a mi teclado (como ISO_Level3_Shift), ¡así que no tengo forma de desactivarlos en absoluto!
¿Cómo restablecerlos? En este momento, todo lo que puedo hacer es reiniciar la computadora, pero es una solución bastante embarazosa.
Todo lo que quiero es algún programa que pueda "tocar" artificialmente todos los modificadores de teclado posibles, para que su estado se restablezca. Se puede hacer?
Yo uso Mint 14 (un clon de Ubuntu 12.10 Quantal).
fuente

xdotool keyup 204.DISAPLAY=:1 xmodmap -pk | grep -iP 'alt|meta|super|hyper'. Deberá cambiar el número de pantalla a su número de pantalla VNC roto.DISPLAY=:1al comentario anterior.xdotooladmite una--clearmodifiersopción parakey/keydown/keyup- tal vez no lo hizo cuando se escribió esta respuesta? Espero que esoxdotool keyup --clearmodifiers spacefuncione. (xdotool keyuprequiere que se especifique una clave; "espacio" es arbitrario.)Descubrí que para mi sistema, la solución publicada que involucraba a
xdotoolmenudo no cubría la clave que estaba atascada, y la ejecuciónsetxkbmapno parecía lograr nada en mi sistema.La solución que descubrí, que hasta ahora ha funcionado sin fallar, es usar
x11vnc. Específicamente, uso el siguiente comando:-clear_keysEs la parte clave, aquí. Da instruccionesx11vncpara borrar todas las teclas presionadas cuando sale.-timeout 1le dicex11vncque abandone después de 1 segundo sin conexiones, y-deny_allse asegura de que nadie pueda conectarse durante esa ventana.A veces, la clave que se atasca evita cualquier interacción significativa con el escritorio, en cuyo caso ejecutaré lo siguiente a través de ssh:
fuente
Yo uso "setxkbmap" sin argumentos. Parece reiniciar el teclado. Tengo un "acceso directo" en mi panel que puedo usar con un mouse para cuando el teclado no funciona por completo.
fuente
La
x11vncrespuesta es ingeniosa, pero si la instalaciónx11vncsolo para borrar los modificadores parece exagerada, aquí hay una solución Bash que usaxmodmap -pmla salida para emitir una clave para todos los modificadores conocidos. La conversión de código clave hexadecimal a decimal se basa en la expansión aritmética de Bash.Si lo está ejecutando desde un atajo de teclado,
sleep 1sería aconsejable agregar al principio (para dar tiempo a que se suelten las teclas físicas). Elechostderr no es necesario, por supuesto; Solo me gusta poder verificar mi~/.xsession-errorsarchivo para obtener resultados como este.fuente