Я хочу, чтобы настройки xinput для моей usb-мыши сохранялись после ее выключения и повторного включения. Как я могу отслеживать это событие?
Это не работает, так как я никогда не отключаю USB-приемник: Как сохранить настройки xinput после отключения, повторного подключения устройств, а также после выключения, перезагрузки и т. Д.?
Насколько я понял, udev можно использовать для приложений обнаружения HW, но, похоже, он не способен обнаруживать изменения состояния устройства, такого как приемник Logitech Unifying.
Я думаю, ключом к решению этой проблемы является успешное отслеживание событий в Receiver и написание сценария для выполнения команды xinput. Кто-нибудь знает, как я могу обнаружить это событие? Solaar не в состоянии обнаружить это, но это не значит, что это просто для неопытного пользователя Linux.
Спасибо!
Я решил эту проблему на основе предложения, которое прибыло из другого сообщения в обмене стопки Unix.
Вкратце я выполняю фоновый сценарий оболочки, который циклично выполняет каждые 2 секунды, смотря для разнообразия в мыши, когда это одно находки она повторно выполняет команду xinput.
оригинал (и более простой) решение отправляется здесь:
https://unix.stackexchange.com/questions/332573/how-to-make-xinput-commands-permanent/340594#340594
Здесь является скриптом, который я запускаю в ~/.xinitrc
:
# Map mouse button 8 (top right) to button 2 (top left) and vice versa, run when changes to the mouse occur
while true; do
NEW_MOUSEID=$(xinput | grep "Expert Mouse" | grep -o -E '[0-9]+' | head -n 1)
if [ "$MOUSEID" != "$NEW_MOUSEID" ]; then
MOUSEID=$NEW_MOUSEID
if [ "$MOUSEID" != "" ]; then
xinput --set-button-map $MOUSEID 1 8 3 4 5 6 7 2 9 10 11 12
fi
fi
sleep 2
done &
Базовая структура:
xinput
, команда просто возвращает идентификатор USB-устройства для мыши "Опытная Мышь", исключая: "14" Примечание, которое исходный ответ предлагает контролировать для изменений в lsusb
и повторно выполнить команду затем, которая работает точно также.
wine-staging
, но неwine-stable
. Спасибо! – TetraDev 8 December 2018 в 22:26