У меня есть планшет Genius, и мне нужно переназначить некоторые кнопки на нем, когда я подключу его к USB. Ремаппинг выполняется этой командой:

xinput set-button-map 'Genius EasyPen M610X' 0 0 0 0 0 0 0 1 3 2

и я использую udev для вызова скрипта следующим образом:

#!/bin/bash

sleep 10
/usr/bin/xinput set-button-map 'Genius EasyPen M610X' 0 0 0 0 0 0 0 1 3 2

Скрипт работает нормально, также udev вызывает скрипт, когда устройство подключено, однако строка с xinput не выполняется. Dmesg и syslog ничего не сказали об ошибке, также используя тестовое устройство udevadm ... проходит без ошибок. Есть идеи? Благодарю.

1 ответ1

0

Скорее всего, проблема в том, что скрипт вызывается с незаданной переменной среды DISPLAY . Эта переменная сообщает программам X, с каким отображением они должны быть связаны. Попробуйте добавить следующее перед вызовом xinput .

export DISPLAY=:0

Например:

% export DISPLAY=:0
% xinput ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .