Если я понимаю исходники ядра напрямую, вы не можете отключить определенные устройства ввода от глобальных обработчиков (см. / proc / bus / input / handlers
): обработчик kbd
всегда будет получать все входные события и преобразовывать ключевые события в нажатия клавиш.
Однако вы можете захватить устройство ввода для исключительного использования с EVIOCGRAB
ioctrl на устройстве, либо непосредственно из вашей программы, либо с помощью таких инструментов, как evtest - -grab / dev / input / eventX
(для тестирования). Пока захват активен, события не должны обрабатываться ничем другим.
Я не знаком с python-evdev
, но даже если он не поддерживает режим захвата, выполнить ioctls в Python несложно.
(Я поленился и тестировал только под X, где он работает, но я не вижу причин, почему он не должен работать без X).
Думаю, я бы предложил оставить его на месте и просто создать в /usr/local/lib/
ссылку на этот каталог /usr/local/lib/64/
.
Например:
$ tree usr/
usr/
└── local
├── lib
│ └── 64 ->../usr/local/lib/64
└── usr
└── local
└── lib
└── 64
└── pkgconfig
Я сделал вот так:
$ cd /usr/local/lib/
$ ln -s../usr/local/lib/64 64
Это немного нормализует дерево, так что это работает:
$ ls usr/local/lib/64/
pkgconfig