Dopo aver letto tutta la risposta qui, sono rimasto piuttosto sorpreso di vedere che puoi fare quanto segue.
<keybind key="Num_Lock">
<action name="Execute">
<command>numlockx on</command>
</action>
</keybind>
Quindi ogni volta che si preme Num, che disattiva il blocco numerico. Verrà eseguito numlockx on
, che riattiva il blocco numerico.
Il nome deriva dal mio output di xev
cui mi ha dato il codice chiave 77 e il nomeNum_Lock
Nel caso di @MartinVegters, ha dovuto attendere qualche secondo, quindi numlockx on
viene eseguito definitivamente dopo che l'evento di Numè stato gestito. Poiché esiste una condizione di competizione tra la gestione del numlock nel kernel e l'esecuzione numlockx
.
Per questo caso puoi scrivere una piccola sceneggiatura denumlock.sh
come
#!/bin/sh
sleep "$1"
numlockx on
e utilizzarlo nell'associazione chiave
<command>/bin/sh denumlock.sh 1</command>
Questo è sporco ma funziona.
Quello che raccomando è il seguente che non sono riuscito a mettermi alla prova. È meglio seguire le prime risposte che suggeriscono di usare
xmodmap -e 'keycode 77 = Escape'
Ma per LXDE è necessario utilizzare il meccanismo di avvio automatico LXDE che è diverso dal modo Openbox di modificare il file ~/.config/openbox/autostart
.
In LXDE apparentemente devi modificare ~/.config/lxsession/LXDE/autostart
o con Lubuntu ~/.config/lxsession/Lubuntu/autostart
, che contiene i comandi per l'avvio. (Vedi Documenti Arch e LXDE ) Potrebbe essere necessario creare quel file e aggiungere questa riga.
@xmodmap -e 'keycode 77 = Escape'
Purtroppo, come ho detto, non posso verificare se funziona, poiché ho solo una macchina virtuale in esecuzione con LXDE.