UDEV для обнаружения джойстика Bluetooth

Использование ПОМОЩНИКА Ubuntu 16.04

Моя проблема, у меня есть джойстик Bluetooth однако, когда она соединяется, она управляет моей мышью. Строго говоря, когда я играю в игру, курсор идет на всем протяжении экрана. Для фиксации этого, я открываю терминал и выполняюсь:

xinput set-int-prop "Amazon Fire Game Controller" "Device Enabled" 8 0

Затем я могу взять свою "нормальную" мышь и переместить курсор прочь экрана. Это прекрасно, пока я не вышел из проигрывания и затем разъединений джойстика от отсутствия действия. Когда я нажимаю кнопку на джойстике, и он разделяет на пары с Bluetooth, у меня есть проблема курсора, пока я не делаю xinput вещь снова.

Моя цель состоит в том, чтобы использовать UDEV, чтобы обнаружить соединение джойстика Bluetooth и запустить скрипт, выполняется xinput.

Я использовал udevadm info -e чтобы видеть, мог ли я получить информацию, но существует слишком много информации для меня для понимания ее.

Прямо сейчас я имею:

/etc/udev/rules.d/90-joystick.rules


ENV{ID_NAME}==”Amazon Fire Game Controller", ENV{HID_UNIQ}=="00:bb:3a:ec:80:6d", ACTION=="add", RUN+=”sudo -u johndoe -c /home/johndoe/systemscripts/joystick.sh %p”

/home/johndoe/systemscripts/joystick.sh (chmod 777, таким образом, любой может выполнить его на данный момент),

#!/bin/sh
xinput set-int-prop "Amazon Fire Game Controller" "Device Enabled" 8 0
date > /tmp/joystick.txt

и любое изменение, которое я вношу, я выполняюсь:

sudo udevadm control --reload-rules

Однако джойстик все еще действует как мышь при соединении и сценарий никогда не работает (/tmp/joystick.txt никогда не создается),

Любая справка значительно ценилась бы

1
задан 13 December 2016 в 05:11

1 ответ

Хорошо я выполнил свою цель, но не в точном методе. Я наблюдал/var/log/syslog, который показывает мое действие Bluetooth, когда я активирую джойстик Bluetooth

Dec 14 06:27:16 SuperComputer kernel: [ 1908.362129] input: Amazon Fire Game Controller as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8:1.0/bluetooth/hci0/hci0:41/0005:1949:0402.000F/input/input22
Dec 14 06:27:16 SuperComputer kernel: [ 1908.365299] hid-generic 0005:1949:0402.000F: input,hidraw2: BLUETOOTH HID v0.21 Gamepad [Amazon Fire Game Controller] on 00:0c:76:46:da:d9

Теперь, я внес изменение в свое правило udev:

#1/etc/udev/rules.d/90-joystick.rules (изменился)

SUBSYSTEMS=="hidraw", ACTION=="add", RUN+="/usr/bin/sudo -u johndoe /home/johndoe/systemscripts/joystick.sh"

, Так как у меня только есть 1 bluetooth-устройство, в котором я обеспокоен, я только ищу hidraw действие. Я буду искать 16,04 udev информации и видеть, могу ли я точно настроить это для поиска ее адреса, но на данный момент, я - satified. Также я удалил передачу %p к моему сценарию

#2/home/johndoe/systemscripts/joystick.sh

#!/bin/sh
export DISPLAY=:0.0

/usr/bin/xinput > /tmp/joystick.txt 2>&1
whoami >> /tmp/joystick.txt
/usr/bin/xinput set-int-prop "Amazon Fire Game Controller" "Device Enabled" 8 0

В моем joystick.sh, я должен был экспортировать дисплей, поскольку xinput нужно это для функционирования правильно.

Теперь я установлен!!!! Когда я нажимаю кнопку или перемещаю джойстик, после того как он устанавливает соединение с Bluetooth, у меня больше нет сумасшедшего курсора к содержанию с.

, Если кто-либо может дать мне ключ к разгадке или отослать меня к хорошей udev информации, таким образом, я могу точно настроить это, я ценил бы его

Hope, это помогает кому-то

0
ответ дан 8 December 2019 в 07:27

Другие вопросы по тегам:

Похожие вопросы: