Different behaviour for device "8BitDo SN30 Pro+" between USB and Bluetooth.
Summary
The SN30 Pro+ can connects either with Bluetooth or with USB. It has 4 input modes you can choose when starting the device.
This is using XInput mode.
When connected over USB, the device works fine and vibrates.
However, when connected over Bluetooth, vibration no longer works and libinput produces (EE) libinput bug: Event for missing capability CAP_POINTER on device "8BitDo SN30 Pro+"
each time a button is pressed.
Steps to reproduce
- Connect a SN30 pro+ in XInput mode over USB and make sure vibration works.
- Connect it over bluetooth and vibration no long works.
-
(EE) libinput bug: Event for missing capability CAP_POINTER on device "8BitDo SN30 Pro+"
will appear on each press of a button.
libinput version you encountered the bug on
1.15.0
Hardware/Software information:
- 8bitdo SN30 pro+
- Crosshair Hero VI
- ArchLinux
- Linux-tkg 5.4.10
Other log output:
-
libinput record
output: libinput_record.txt -
libinput debug-events --verbose
output:
event20 - 8BitDo SN30 Pro+: is tagged by udev as: Keyboard Joystick
event20 - 8BitDo SN30 Pro+: device is a keyboard
-event20 DEVICE_ADDED 8BitDo SN30 Pro+ seat0 default group8 cap:k calib
libinput bug: Event for missing capability CAP_POINTER on device "8BitDo SN30 Pro+"
event20 - debounce state: DEBOUNCE_STATE_IS_DOWN → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS
event20 - debounce state: DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS → DEBOUNCE_EVENT_TIMEOUT_SHORT → DEBOUNCE_STATE_IS_UP_WAITING
event20 - debounce state: DEBOUNCE_STATE_IS_UP_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP
udev information
When connected over USB:
P: /devices/pci0000:00/0000:00:01.3/0000:01:00.0/usb1/1-7/1-7.1/1-7.1.1/1-7.1.1:1.0/input/input55/event20
N: input/event20
L: 0
S: input/by-path/pci-0000:01:00.0-usb-0:7.1.1:1.0-event-joystick
S: input/by-id/usb-8Bitdo_SF30_Pro_Controller_157F8F8-event-joystick
E: DEVPATH=/devices/pci0000:00/0000:00:01.3/0000:01:00.0/usb1/1-7/1-7.1/1-7.1.1/1-7.1.1:1.0/input/input55/event20
E: DEVNAME=/dev/input/event20
E: MAJOR=13
E: MINOR=84
E: SUBSYSTEM=input
E: USEC_INITIALIZED=6964312519
E: ID_INPUT=1
E: ID_INPUT_JOYSTICK=1
E: ID_VENDOR=8Bitdo_SF30_Pro
E: ID_VENDOR_ENC=8Bitdo\x20SF30\x20Pro\x20\x20
E: ID_VENDOR_ID=045e
E: ID_MODEL=Controller
E: ID_MODEL_ENC=Controller
E: ID_MODEL_ID=028e
E: ID_REVISION=0114
E: ID_SERIAL=8Bitdo_SF30_Pro_Controller_157F8F8
E: ID_SERIAL_SHORT=157F8F8
E: ID_TYPE=generic
E: ID_BUS=usb
E: ID_USB_INTERFACES=:ff5d01:ff5d03:ff5d02:fffd13:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=xpad
E: ID_PATH=pci-0000:01:00.0-usb-0:7.1.1:1.0
E: ID_PATH_TAG=pci-0000_01_00_0-usb-0_7_1_1_1_0
E: ID_INPUT_JOYSTICK_INTEGRATION=internal
E: ID_FOR_SEAT=input-pci-0000_01_00_0-usb-0_7_1_1_1_0
E: LIBINPUT_DEVICE_GROUP=3/45e/28e:usb-0000:01:00.0-7.1
E: DEVLINKS=/dev/input/by-path/pci-0000:01:00.0-usb-0:7.1.1:1.0-event-joystick /dev/input/by-id/usb-8Bitdo_SF30_Pro_Controller_157F8F8-event-joystick
E: TAGS=:seat:uaccess:
When connected over bluetooth:
P: /devices/pci0000:00/0000:00:01.3/0000:01:00.0/usb1/1-2/1-2:1.0/bluetooth/hci0/hci0:256/0005:045E:02E0.0016/input/input56/event20
N: input/event20
L: 0
E: DEVPATH=/devices/pci0000:00/0000:00:01.3/0000:01:00.0/usb1/1-2/1-2:1.0/bluetooth/hci0/hci0:256/0005:045E:02E0.0016/input/input56/event20
E: DEVNAME=/dev/input/event20
E: MAJOR=13
E: MINOR=84
E: SUBSYSTEM=input
E: USEC_INITIALIZED=7258565891
E: ID_INPUT=1
E: ID_INPUT_JOYSTICK=1
E: ID_INPUT_KEY=1
E: ID_BUS=bluetooth
E: ID_INPUT_JOYSTICK_INTEGRATION=external
E: ID_PATH=pci-0000:01:00.0-usb-0:2:1.0
E: ID_PATH_TAG=pci-0000_01_00_0-usb-0_2_1_0
E: ID_FOR_SEAT=input-pci-0000_01_00_0-usb-0_2_1_0
E: LIBINPUT_DEVICE_GROUP=5/45e/2e0:d4:d2:52:a9:4f:d3
E: TAGS=:power-switch:uaccess:seat: