Tengo un macbook pro con Ubuntu 13.10 con FluxBox. Desafortunadamente, el botón de encendido está físicamente sobre el espacio de retroceso donde esperaría que se encuentre la tecla de eliminación. En OS X, el programa PowerKey se puede usar para reasignar la tecla de encendido para eliminar. ¿Cómo puedo hacer algo similar en X Windows?
Desactivé la tecla de encendido editando /etc/systemd/logind.conf
y configurando HandlePowerKey = ignore
Después de esto, puedo presionar el botón de encendido sin apagar la computadora portátil.
La ejecución xev -event keyboard
revela que KeyPress para la tecla de encendido normalmente está siendo consumido por otro proceso:
MappingNotify event, serial 36, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
KeymapNotify event, serial 36, synthetic NO, window 0x0,
keys: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeymapNotify event, serial 37, synthetic NO, window 0x0,
keys: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Sin embargo, al ejecutar solo xterm directamente desde la consola, pude obtener con éxito el código clave y reasignar la clave.
xinit /usr/bin/xterm -- :1
xev -event keyboard | tee /tmp/junk.txt
tail -n ???? /tmp/junk.txt
MappingNotify event, serial 28, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
KeyPress event, serial 28, synthetic NO, window 0x600001,
root 0xa1, subw 0x0, time 720369, (146,89), root:(148,91),
state 0x0, keycode 124 (keysym 0x1008ff2a, XF86PowerOff), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x600001,
root 0xa1, subw 0x0, time 720369, (146,89), root:(148,91),
state 0x0, keycode 124 (keysym 0x1008ff2a, XF86PowerOff), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
MappingNotify event, serial 29, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
En este punto, también era posible asignar la clave usando xmodmap. Lo asigné a la barra diagonal inversa, que es más fácil de ver que eliminar:
xmodmap -e "keycode 124 = backslash bar"
Podría obtener un equivalente apenas funcional para ejecutar agregando esto, ~/.fluxbox/keys
pero esto es lo suficientemente feo y lento como para ser inutilizable.
# Remap the power off to a delete key...
XF86PowerOff :Exec xdotool key Delete
¿Cómo puedo usar xmodmap o setxkbmap para usar el botón de encendido al mismo tiempo que un administrador de ventanas normal?
fuente
No es una respuesta exacta, pero ¿has intentado presionar fn+ delete? Esto debería actuar como una eliminación real , frente a su acción real de 'retroceso' y está muy cerca de la tecla de encendido.
Otro consejo:
fn+ enteractúa como un botón Insertar , por lo que debería poder presionar shift+ fn+ entery Pegar como un clic central.
fuente
Es difícil decirlo con certeza. Estas pueden ser cosas que ya ha probado, pero pueden conducir a una solución fácil.
¿Funciona xmodmap para otras claves, o hay algo que fluxbox está haciendo que está rompiendo xmodmap por completo?
¿Qué sucede si inicia x, modmap la tecla de encendido y luego inicia fluxbox? ¿Se pega el mapeo?
Si se ejecuta antes de xmodmap obras fluxbox y mantiene su configuración, puede escribir un script de shell para llamar tanto en el orden correcto, o si está usando GDM se debe leer
~/.xmodmap
o~/.xmodmaprc
automáticamente para usted antes de fluxbox entra en escena.fuente