You are not logged in.

#1 2024-02-15 09:36:06

reD_Bo0n
Member
Registered: 2023-01-05
Posts: 7

Disable Joystick device

I hope this is the right place

Since half a year MasterDuel crashes when a GamePad is plugged in.
This shouldn't be a problem for me, because i have a "dedicated" USB port on my desk for GamePads, but for some reason my keyboard (Ducky One 3 RGB) gets recognized as a joystick on Linux, so I have to unplug my keyboard every time I want to launch the game. Booted one time from a Windows disc, but the game ran there fine with it plugged in.
I even found a cheap generic USB keyboard so I can type if I need to and with it no crashes on Linux.

libinput list-devices

...
Device:           Ducky Ducky One 3 RGB
Kernel:           /dev/input/event2
Group:            4
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      identity matrix
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         0.0

Device:           Ducky Ducky One 3 RGB
Kernel:           /dev/input/event3
Group:            4
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         0.0

Device:           Ducky Ducky One 3 RGB
Kernel:           /dev/input/event4
Group:            4
Seat:             seat0, default
Capabilities:     pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   button
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   flat *adaptive custom
Rotation:         0.0

Device:           Ducky Ducky One 3 RGB
Kernel:           /dev/input/event5
Group:            4
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         0.0

Device:           Ducky Ducky One 3 RGB
Kernel:           /dev/input/event6
Group:            4
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         0.0
...

udevadm info /sys/class/input/event2   (the joystick device)

P: /devices/pci0000:00/0000:00:01.3/0000:02:00.2/0000:03:04.0/0000:07:00.0/usb3/3-2/3-2:1.0/0003:3233:1311.000B/input/input36/event2
M: event2
R: 2
U: input
D: c 13:66
N: input/event2
L: 0
S: input/by-id/usb-Ducky_Ducky_One_3_RGB_DK-V1.11-220819-event-joystick
S: input/by-path/pci-0000:07:00.0-usbv2-0:2:1.0-event-joystick
S: input/by-path/pci-0000:07:00.0-usb-0:2:1.0-event-joystick
E: DEVPATH=/devices/pci0000:00/0000:00:01.3/0000:02:00.2/0000:03:04.0/0000:07:00.0/usb3/3-2/3-2:1.0/0003:3233:1311.000B/input/input36/event2
E: SUBSYSTEM=input
E: DEVNAME=/dev/input/event2
E: MAJOR=13
E: MINOR=66
E: USEC_INITIALIZED=10487005717
E: ID_INPUT=1
E: ID_INPUT_JOYSTICK=1
E: ID_INPUT_KEY=1
E: ID_BUS=usb
E: ID_MODEL=Ducky_One_3_RGB
E: ID_MODEL_ENC=Ducky\x20One\x203\x20RGB
E: ID_MODEL_ID=1311
E: ID_SERIAL=Ducky_Ducky_One_3_RGB_DK-V1.11-220819
E: ID_SERIAL_SHORT=DK-V1.11-220819
E: ID_VENDOR=Ducky
E: ID_VENDOR_ENC=Ducky
E: ID_VENDOR_ID=3233
E: ID_REVISION=0000
E: ID_TYPE=hid
E: ID_USB_MODEL=Ducky_One_3_RGB
E: ID_USB_MODEL_ENC=Ducky\x20One\x203\x20RGB
E: ID_USB_MODEL_ID=1311
E: ID_USB_SERIAL=Ducky_Ducky_One_3_RGB_DK-V1.11-220819
E: ID_USB_SERIAL_SHORT=DK-V1.11-220819
E: ID_USB_VENDOR=Ducky
E: ID_USB_VENDOR_ENC=Ducky
E: ID_USB_VENDOR_ID=3233
E: ID_USB_REVISION=0000
E: ID_USB_TYPE=hid
E: ID_USB_INTERFACES=:030000:030001:030002:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=usbhid
E: ID_PATH_WITH_USB_REVISION=pci-0000:07:00.0-usbv2-0:2:1.0
E: ID_PATH=pci-0000:07:00.0-usb-0:2:1.0
E: ID_PATH_TAG=pci-0000_07_00_0-usb-0_2_1_0
E: ID_FOR_SEAT=input-pci-0000_07_00_0-usb-0_2_1_0
E: LIBINPUT_DEVICE_GROUP=3/3233/1311:usb-0000:07:00.0-2
E: DEVLINKS=/dev/input/by-id/usb-Ducky_Ducky_One_3_RGB_DK-V1.11-220819-event-joystick /dev/input/by-path/pci-0000:07:00.0-usbv2-0:2:1.0-event-joystick /dev/input/by-path/pci-0000:07:00.0-usb-0:2:1.0-event-joystick
E: TAGS=:seat:uaccess:power-switch:
E: CURRENT_TAGS=:seat:uaccess:power-switch:

I tried using the LIBINPUT_IGNORE_DEVICE environment variable to disable the (joystick) device, but the game still crashes with the keyboard plugged in.
I even set it on all devices of my keyboard with no avail, so I removed them again.
Interesting to note I could still type with the environment variable set to all devices, but the mouse mode (yes, the Ducky One 3 has an integrated mouse) stopped working, so setting the variable did something.

Any idea how to disable the joystick device from my keyboard?

Offline

#2 2024-02-15 11:28:22

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 12,007

Re: Disable Joystick device

https://wiki.archlinux.org/title/Gamepa … ling_mouse may be helpful.

Although the section title just mentions mouse,
the line Option "StartKeysEnabled" "False" does block the keyboard function of the joystick device .


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#3 2024-02-15 19:21:47

reD_Bo0n
Member
Registered: 2023-01-05
Posts: 7

Re: Disable Joystick device

Thanks for your help, but 2 points:

1st, I'm using GNOME on Wayland (maybe I should've mentioned this on my initial post)

2nd, I want to disable the joystick capability (whatever it is) of my keyboard, not the keyboard function of my specific joystick

Offline

#4 2024-02-16 11:14:14

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 12,007

Re: Disable Joystick device

Many problems with joysticks are caused by them being seen as multiple devices and interfering with other keyboards / mouse functionality .
are you sure removing the joystick part will solve the issue ?
If not, testing with X is worth a shot.

Wayland and especially gnome-on-wayland lack tools for many configurations that are possible with X.

You'll have to try  lower level methods maybe setting up an udev rule to block the joystick part of the keyboard.
I know very little about udev rules and can't help with that.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

Board footer

Powered by FluxBB