Después de usar el Ctrl + "teclas de flecha" durante 13 años para cambiar los escritorios virtuales en X windows, recientemente me han convencido de cambiar a usar las teclas Super (la tecla de Windows y la tecla del menú contextual, que he vuelto a asignar). Todo esto funciona bien en su mayor parte. Sin embargo, algo sigue captando los eventos clave que estas claves envían como si fueran un tipo alfanumérico normal.
Por ejemplo, lo primero que noté en la hoja de cálculo de Google Docs es que si presiono la tecla de Windows solo sobre la parte superior de una celda, comienza a editar esa celda. No inserta nada, simplemente envía un evento clave que Firefox ve y comienza a editar la celda. Esto causó problemas en un documento de colaboración en el que estaba trabajando como funciona Google docs. Me llevó a borrar accidentalmente los datos en algunos campos antes de darme cuenta de lo que estaba pasando.
Me gusta usar las teclas super, pero quiero que se comporten más como un Ctrl o Alt La tecla hace que es una tecla modificadora y no envía nada hasta que se presiona una segunda tecla.
Mi configuración es la siguiente:
- Ubuntu 10.10
- XFCE 4
- Teclado Microsoft Natural Ergo 4000 (con el logotipo tachado, por supuesto)
- El siguiente es mi archivo .Xmodmap:
eliminar Lock = Caps_Lock
código clave 66 = Escape
! El siguiente mapa asigna mi otra tecla del menú contextual de Windows.
código clave 135 = Super_R
Editar: Según lo solicitado, aquí está la salida relevante de xev para una pulsación de tecla y liberación de tecla de mi Super_L (tecla de la ventana izquierda)
KeyPress event, serial 34, synthetic NO, window 0x8200001,
root 0x15d, subw 0x0, time 2428849342, (177,174), root:(182,228),
state 0x10, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 34, synthetic NO, window 0x8200001,
root 0x15d, subw 0x0, time 2428849430, (177,174), root:(182,228),
state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
xev
y publica las líneas producidas cuando presionas la tecla Win.