FYI, there are 2 entries in lshal : udi = '/org/freedesktop/Hal/devices/usb_device_1a34_802_noserial' info.linux.driver = 'usb' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_1a_0' (string) info.product = 'USB GAMEPAD 8116' (string) info.subsystem = 'usb_device' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_1a34_802_noserial' (string) info.vendor = 'ACRUX' (string) linux.device_file = '/dev/bus/usb/003/004' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1a.0/usb3/3-2' (string) usb_device.bus_number = 3 (0x3) (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 = 258 (0x102) (int) usb_device.device_subclass = 0 (0x0) (int) usb_device.is_self_powered = false (bool) usb_device.linux.device_number = 4 (0x4) (int) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1a.0/usb3/3-2' (string) usb_device.max_power = 350 (0x15e) (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 = 'USB GAMEPAD 8116' (string) usb_device.product_id = 2050 (0x802) (int) usb_device.speed = 1.5 (1.5) (double) usb_device.vendor = 'ACRUX' (string) usb_device.vendor_id = 6708 (0x1a34) (int) usb_device.version = 1.1 (1.1) (double) udi = '/org/freedesktop/Hal/devices/usb_device_1a34_802_noserial_if0' info.linux.driver = 'usbhid' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_1a34_802_noserial' (string) info.product = 'USB HID Interface' (string) info.subsystem = 'usb' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_1a34_802_noserial_if0' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2:1.0' (string) usb.bus_number = 3 (0x3) (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 = 258 (0x102) (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 = 4 (0x4) (int) usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2:1.0' (string) usb.max_power = 350 (0x15e) (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 = 2050 (0x802) (int) usb.speed = 1.5 (1.5) (double) usb.vendor = 'ACRUX' (string) usb.vendor_id = 6708 (0x1a34) (int) usb.version = 1.1 (1.1) (double) udi = '/org/freedesktop/Hal/devices/usb_device_1a34_802_noserial_if0_logicaldev_input' info.capabilities = {'input', 'input.joystick'} (string list) info.category = 'input' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_1a34_802_noserial_if0' (string) info.product = 'ACRUX USB GAMEPAD 8116' (string) info.subsystem = 'input' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_1a34_802_noserial_if0_logicaldev_input' (string) input.device = '/dev/input/event7' (string) input.originating_device = '/org/freedesktop/Hal/devices/usb_device_1a34_802_noserial_if0' (string) input.product = 'ACRUX USB GAMEPAD 8116' (string) input.x11_driver = 'evdev' (string) input.x11_options.SendCoreEvents = 'false' (string) linux.device_file = '/dev/input/event7' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'input' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2:1.0/input/input9/event7' (string)