Джойстик Saitek x52 Pro воспринимается как мышь

Разбираемся с подключением и настройкой устройств ввода информации.

Модератор: Модераторы разделов

Ответить
Аватара пользователя
FooBar
Сообщения: 22
ОС: Debian GNU/Linux

Джойстик Saitek x52 Pro воспринимается как мышь

Сообщение FooBar »

Привет. Решил поиграть во FlightGear, для чего подключил Saitek x52 Pro, но поиграть не вышло, джойстик воспринимается как мышь. В гугле я обнаружил жалобы и рекомендации как это исправить, но они мне не помогли, испробовав все варианты и вдоволь наперевтыкавшись джойстика и наперестартовавшись hal'а и иксов взываю к помощи.

Пакет xserver-xorg-input-joystick у меня не установлен, система Debian Squeeze amd64.

Джойстик в логе иксов:

Код: Выделить всё

(II) config/udev: Adding input device Saitek Saitek X52 Pro Flight Control System (/dev/input/event8)
(**) Saitek Saitek X52 Pro Flight Control System: Applying InputClass "evdev tablet catchall"
(**) Saitek Saitek X52 Pro Flight Control System: always reports core events
(**) Saitek Saitek X52 Pro Flight Control System: Device: "/dev/input/event8"
(II) Saitek Saitek X52 Pro Flight Control System: Found absolute axes
(II) Saitek Saitek X52 Pro Flight Control System: Found x and y absolute axes
(II) Saitek Saitek X52 Pro Flight Control System: Found absolute tablet.
(II) Saitek Saitek X52 Pro Flight Control System: Configuring as tablet
(**) Saitek Saitek X52 Pro Flight Control System: YAxisMapping: buttons 4 and 5
(**) Saitek Saitek X52 Pro Flight Control System: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) XINPUT: Adding extended input device "Saitek Saitek X52 Pro Flight Control System" (type: TABLET)
(II) Saitek Saitek X52 Pro Flight Control System: initialized for absolute axes.


diff вывода lshal с джойстиком и без.

Код: Выделить всё

2c2
< Dumping 111 device(s) from the Global Device List:
---
> Dumping 114 device(s) from the Global Device List:
2089a2090,2170
> udi = '/org/freedesktop/Hal/devices/usb_device_6a3_762_noserial'
>   info.linux.driver = 'usb'  (string)
>   info.parent = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_02_0'  (string)
>   info.product = 'Saitek X52 Pro Flight Control System'  (string)
>   info.subsystem = 'usb_device'  (string)
>   info.udi = '/org/freedesktop/Hal/devices/usb_device_6a3_762_noserial'  (string)
>   info.vendor = 'Saitek PLC'  (string)
>   linux.device_file = '/dev/bus/usb/002/026'  (string)
>   linux.hotplug_type = 2  (0x2)  (int)
>   linux.subsystem = 'usb'  (string)
>   linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.0/usb2/2-3'  (string)
>   usb_device.bus_number = 2  (0x2)  (int)
>   usb_device.can_wake_up = false  (bool)
>   usb_device.configuration_value = 1  (0x1)  (int)
>   usb_device.device_class = 0  (0x0)  (int)
>   usb_device.device_protocol = 0  (0x0)  (int)
>   usb_device.device_revision_bcd = 48  (0x30)  (int)
>   usb_device.device_subclass = 0  (0x0)  (int)
>   usb_device.is_self_powered = false  (bool)
>   usb_device.linux.device_number = 26  (0x1a)  (int)
>   usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.0/usb2/2-3'  (string)
>   usb_device.max_power = 230  (0xe6)  (int)
>   usb_device.num_configurations = 1  (0x1)  (int)
>   usb_device.num_interfaces = 1  (0x1)  (int)
>   usb_device.num_ports = 0  (0x0)  (int)
>   usb_device.product = 'Saitek X52 Pro Flight Control System'  (string)
>   usb_device.product_id = 1890  (0x762)  (int)
>   usb_device.speed = 12.0 (12) (double)
>   usb_device.vendor = 'Saitek PLC'  (string)
>   usb_device.vendor_id = 1699  (0x6a3)  (int)
>   usb_device.version = 2.0 (2) (double)
>
> udi = '/org/freedesktop/Hal/devices/usb_device_6a3_762_noserial_if0'
>   info.linux.driver = 'usbhid'  (string)
>   info.parent = '/org/freedesktop/Hal/devices/usb_device_6a3_762_noserial'  (string)
>   info.product = 'USB HID Interface'  (string)
>   info.subsystem = 'usb'  (string)
>   info.udi = '/org/freedesktop/Hal/devices/usb_device_6a3_762_noserial_if0'  (string)
>   linux.hotplug_type = 2  (0x2)  (int)
>   linux.subsystem = 'usb'  (string)
>   linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.0/usb2/2-3/2-3:1.0'  (string)
>   usb.bus_number = 2  (0x2)  (int)
>   usb.can_wake_up = false  (bool)
>   usb.configuration_value = 1  (0x1)  (int)
>   usb.device_class = 0  (0x0)  (int)
>   usb.device_protocol = 0  (0x0)  (int)
>   usb.device_revision_bcd = 48  (0x30)  (int)
>   usb.device_subclass = 0  (0x0)  (int)
>   usb.interface.class = 3  (0x3)  (int)
>   usb.interface.number = 0  (0x0)  (int)
>   usb.interface.protocol = 0  (0x0)  (int)
>   usb.interface.subclass = 0  (0x0)  (int)
>   usb.is_self_powered = false  (bool)
>   usb.linux.device_number = 26  (0x1a)  (int)
>   usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.0/usb2/2-3/2-3:1.0'  (string)
>   usb.max_power = 230  (0xe6)  (int)
>   usb.num_configurations = 1  (0x1)  (int)
>   usb.num_interfaces = 1  (0x1)  (int)
>   usb.num_ports = 0  (0x0)  (int)
>   usb.product = 'USB HID Interface'  (string)
>   usb.product_id = 1890  (0x762)  (int)
>   usb.speed = 12.0 (12) (double)
>   usb.vendor = 'Saitek PLC'  (string)
>   usb.vendor_id = 1699  (0x6a3)  (int)
>   usb.version = 2.0 (2) (double)
>
> udi = '/org/freedesktop/Hal/devices/usb_device_6a3_762_noserial_if0_logicaldev_input'
>   info.capabilities = {'input', 'input.tablet'} (string list)
>   info.category = 'input'  (string)
>   info.parent = '/org/freedesktop/Hal/devices/usb_device_6a3_762_noserial_if0'  (string)
>   info.product = 'Saitek Saitek X52 Pro Flight Control System'  (string)
>   info.subsystem = 'input'  (string)
>   info.udi = '/org/freedesktop/Hal/devices/usb_device_6a3_762_noserial_if0_logicaldev_input'  (string)
>   input.device = '/dev/input/event2'  (string)
>   input.originating_device = '/org/freedesktop/Hal/devices/usb_device_6a3_762_noserial_if0'  (string)
>   input.product = 'Saitek Saitek X52 Pro Flight Control System'  (string)
>   linux.device_file = '/dev/input/event2'  (string)
>   linux.hotplug_type = 2  (0x2)  (int)
>   linux.subsystem = 'input'  (string)
>   linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.0/usb2/2-3/2-3:1.0/input/input31/event2'  (string)
>
2342c2423
< Dumped 111 device(s) from the Global Device List.
---
> Dumped 114 device(s) from the Global Device List.


В /dev/input он виден как event8, если сделать cat, то видно что он работает.

В /dev/input/by-id/ он виден как usb-Saitek_Saitek_X52_Pro_Flight_Control_System-event-mouse Сам джойстик имеет пимпу - типа мышь, может быть это из-за нее такая фигня, но к указателю мыши прицепляется ручка управления самолетом.

Сейчас воткнул геймпад, с ним все нормально.

Вот тут такая же проблема http://ubuntuforums.org/showthread.php?t=982591 я пихал fdi файл и в /etc/hal/... и в /usr/share/hal/fdi/policy/20thirdparty/ но не помогло.

Еще находил вот такой вариант:

Код: Выделить всё

<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.subsystem" string="input">
      <match key="info.product" string="THRUSTMASTER FireStorm Dual Analog 2">
        <remove key="input.x11_driver" type="strlist"/>
        <remove key="info.capabilities" type="strlist">input.mouse</remove>
        <addset key="info.capabilities" type="strlist">input.joystick</addset>
      </match>
    </match>
  </device>
</deviceinfo>


Что первый вариант, что второй оперирует с input.x11_driver, а его в выводе lshal и нету.
Спасибо сказали:
Аватара пользователя
FooBar
Сообщения: 22
ОС: Debian GNU/Linux

Re: Джойстик Saitek x52 Pro воспринимается как мышь

Сообщение FooBar »

Оказалось это был баг в joydev http://bugzilla.kernel.org/attachment.cgi?id=23054, а я то думал это хал.
Спасибо сказали:
Ответить