Author Topic: Linux - USB Keyboard or other USB device don't work when paring bluetooth joy  (Read 43815 times)

mjnman

  • Newbie
  • *
  • Posts: 9
    • View Profile
When paring bluetooth 8bitdo N30 the keyboard commands or different USB joystick commands doesn't work in the AttractMode menu. So, if I send a command via bluetooth joystick 8bitdo N30 (command: prev_game, next_game or anything definited) the keyboard commands start to working.
If I start AttractMode binary without bluetooth joystick paring the keyboard commands or USB joystick work correcly.
How I can debug this issue?
I'm using debian bookworm with kernel 6.8.5 on X86 with AttractMode 2.7.0.
In attachment the "attract.cfg".

mjnman

  • Newbie
  • *
  • Posts: 9
    • View Profile
AttractMode with debug log when work (Only USB Qanba Arcade Joystick Q1):
Code: [Select]
...
Joysticks after mapping:
ID: 0 => Joy0(Qanba Arcade Joystick Q1)
ID: 1 => Joy7(No Joystick)
ID: 2 => Joy7(No Joystick)
ID: 3 => Joy7(No Joystick)
ID: 4 => Joy7(No Joystick)
...

AttractMode with debug log when don't work (bluetooth and USB joy), after pairing bluetooth joystick:
Code: [Select]
...
Failed to get vendor ID of joystick /dev/input/js1
Failed to get product ID of joystick /dev/input/js1
Joysticks after mapping:
ID: 0 => Joy0(Qanba Arcade Joystick Q1)
ID: 1 => Joy1(8Bitdo NES30 Arcade)
ID: 2 => Joy7(No Joystick)
ID: 3 => Joy7(No Joystick)
ID: 4 => Joy7(No Joystick)
...

When pairing bluetooth joystick missed the "vendor ID" and "product ID"
Code: [Select]
# udevadm info --query=all --name=/dev/input/js1
P: /devices/pci0000:00/0000:00:1e.0/dw-apb-uart.0/dw-apb-uart.0:0/dw-apb-uart.0:0.0/serial0/serial0-0/bluetooth/hci0/hci0:11/0005:2DC8:1081.000A/input/input24/js1
M: js1
R: 1
U: input
D: c 13:1
N: input/js1
L: 0
E: DEVPATH=/devices/pci0000:00/0000:00:1e.0/dw-apb-uart.0/dw-apb-uart.0:0/dw-apb-uart.0:0.0/serial0/serial0-0/bluetooth/hci0/hci0:11/0005:2DC8:1081.000A/input/input24/js1
E: DEVNAME=/dev/input/js1
E: MAJOR=13
E: MINOR=1
E: SUBSYSTEM=input
E: USEC_INITIALIZED=139116391
E: ID_INPUT=1
E: ID_INPUT_JOYSTICK=1
E: ID_BUS=bluetooth
E: ID_PATH=pci-0000:00:1e.0-platform-dw-apb-uart.0
E: ID_PATH_TAG=pci-0000_00_1e_0-platform-dw-apb-uart_0
E: ID_FOR_SEAT=input-pci-0000_00_1e_0-platform-dw-apb-uart_0
E: TAGS=:seat:uaccess:
E: CURRENT_TAGS=:seat:uaccess:
but with command "udevadm info -a --name=/dev/input/js1" I can saw at parent device the infos.
Code: [Select]
  looking at parent device '/devices/pci0000:00/0000:00:1e.0/dw-apb-uart.0/dw-apb-uart.0:0/dw-apb-uart.0:0.0/serial0/serial0-0/bluetooth/hci0/hci0:11/0005:2DC8:1081.000A/input/input24':
    KERNELS=="input24"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{capabilities/abs}=="30627"
    ATTRS{capabilities/ev}=="1b"
    ATTRS{capabilities/ff}=="0"
    ATTRS{capabilities/key}=="ffff000000000000 0 0 0 0"
    ATTRS{capabilities/led}=="0"
    ATTRS{capabilities/msc}=="10"
    ATTRS{capabilities/rel}=="0"
    ATTRS{capabilities/snd}=="0"
    ATTRS{capabilities/sw}=="0"
    ATTRS{id/bustype}=="0005"
    ATTRS{id/product}=="1081"
    ATTRS{id/vendor}=="2dc8"
    ATTRS{id/version}=="0100"
    ATTRS{inhibited}=="0"
    ATTRS{name}=="8Bitdo NES30 Arcade"
    ATTRS{phys}=="a4:83:e7:11:06:2b"
    ATTRS{power/async}=="disabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{properties}=="0"
    ATTRS{uniq}=="e4:17:d8:eb:08:79"

farareaa

  • Newbie
  • *
  • Posts: 1
    • View Profile
    • Melon Playground
AttractMode uses SDL for input. If SDL detects a joystick at startup, it might change how it listens to input events, possibly requiring the joystick to “wake up” before other devices register.

macbrekke88

  • Newbie
  • *
  • Posts: 1
    • View Profile
It sounds like you're experiencing a frustrating issue with the 8bitdo N30 pairing! Have you tried looking into the input configuration settings in AttractMode? Sometimes, resetting or adjusting those settings can help resolve conflicts with keyboard commands. Since you’re diving into retro gaming, have you ever played Bitlife ? It’s a fun way to simulate different life choices and experiences while you troubleshoot your setup. Good luck!

jakabasej8

  • Full Member
  • ***
  • Posts: 32
    • View Profile
AttractMode uses SDL for input. If SDL detects a joystick at startup, https://atelierrebul.si/shop/category/parfumi-zenski-parfumi-74 it might change how it listens to input events, possibly requiring the joystick to “wake up” before other devices register. pehd cevi
Two common workarounds people use in setups like AttractMode are:

Disable joystick support in SDL (via config or compile flag) if you don’t actually need it.

Force a joystick event early (e.g., move a stick or press a button once) so SDL initializes the rest of the event loop properly.
« Last Edit: December 14, 2025, 06:14:21 AM by jakabasej8 »

Jacobnley

  • Newbie
  • *
  • Posts: 1
    • View Profile
It sounds like you’re encountering a tricky issue with the 8bitdo N30 and AttractMode. Have you checked if there are any updates available for your AttractMode version or the Bluetooth joystick firmware? Sometimes those can resolve connectivity issues. Additionally, if you’re looking for a fun way to test your joystick controls, you might enjoy the "Drive Mad" application—it offers a unique gaming experience! You can find it at Drive Mad. Good luck with debugging!

Andrewarnes

  • Newbie
  • *
  • Posts: 1
    • View Profile
It sounds like you're facing some frustrating challenges with your USB devices while pairing your Bluetooth joystick. Have you tried adjusting the settings in AttractMode to ensure that USB devices are prioritized? It might also help to take a look at forums or communities dedicated to Linux gaming, like Football Bros, where similar issues are often discussed. Good luck with your debugging!