Прочитав все ответы здесь, я был весьма удивлен, увидев, что вы можете сделать следующее.
<keybind key="Num_Lock">
<action name="Execute">
<command>numlockx on</command>
</action>
</keybind>
Таким образом, каждый раз, когда вы нажимаете Num, что деактивирует Numlock. Он будет выполнен numlockx on
, что реактивирует numlock.
Название происходит от моего вывода, xev
который дал мне код ключа 77 и имяNum_Lock
В случае @MartinVegters ему нужно было подождать несколько секунд, чтобы numlockx on
определенное выполнение выполнялось после обработки события Num. Поскольку между обработкой numlock в ядре и выполнением существует условие гонки numlockx
.
Для этого случая вы можете написать небольшой скрипт, denumlock.sh
как
#!/bin/sh
sleep "$1"
numlockx on
и использовать его в связывании ключей
<command>/bin/sh denumlock.sh 1</command>
Это грязно, но это работает.
Я рекомендую следующее, что я не смог проверить сам. Вам лучше следовать первым ответам, которые предлагают использовать
xmodmap -e 'keycode 77 = Escape'
Но для LXDE вам нужно использовать механизм автозапуска LXDE, который отличается от способа редактирования Openbox ~/.config/openbox/autostart
.
В LXDE вам, видимо, нужно редактировать ~/.config/lxsession/LXDE/autostart
или с Lubuntu ~/.config/lxsession/Lubuntu/autostart
, который содержит команды для запуска. (См. Архивные документы и Документы LXDE ) Вам может потребоваться создать этот файл и добавить эту строку.
@xmodmap -e 'keycode 77 = Escape'
К сожалению, как я уже сказал, я не могу проверить, работает ли это, поскольку у меня есть только виртуальная машина, работающая с LXDE.