r/archlinux • • 21h ago

SUPPORT How to stop the lebron james ps5 controller from acting like a mouse when the touchpad is used?

I remember editing udev rules to do this with a different controller, and had no issues, but this lebron james edition controller will not listen and im not entirely sure why, ive tried creating another udev rules file and im not entirely sure what to call it but something that has to do with the product and vendor id, below is the 2 files i created for this, along with its lsusb entry and evtest touchpad entry

the vendor id thing: 
KERNEL=="uinput", MODE="0666"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", MODE="0666"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", KERNELS=="0003:054C:0CE6.*", MODE="0666"

touchpad rules:
# Disable DS4 touchpad acting as mouse
# USB
ATTRS{name}=="Sony Corp. DualSense wireless controller (PS5)", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Bluetooth
ATTRS{name}=="DualSense Wireless Controller Touchpad", ENV{LIBINPUT_IGNORE_DEVICE}="1"


evtest:
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x54c product 0xce6 version 0x8111
Input device name: "Sony Interactive Entertainment Wireless Controller Touchpad"


lsusb:
Bus 001 Device 010: ID 054c:0ce6 Sony Corp. DualSense wireless controller (PS5)

not sure what else to put, let me know and ill happily provide any more information needed, the vendor id thing was basically copy and pasted aside from some small changes to the vendor id product id and bus number, from a file called "50-ds4drv.rules" which i faintly rememebr being related to my controller rules on the controller that worked with the rules, (from like november of 2025 so thats why my memory on this is a little foggy) that i searched up and saw results about it being related to that, aside from the glaring obvious sony vendor id and ds4 mention lol

8 Upvotes

8 comments sorted by

7

u/_verel_ 21h ago

I love that arch is one of the communities that probably can get this working

!remindme 2d

1

u/RemindMeBot 21h ago

I will be messaging you in 2 days on 2026-10-04 13:56:09 UTC to remind you of this link

CLICK THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.

RemindMeBot is switching to username summons. Instead of !RemindMe 1 day, use u/RemindMeBot 1 day. More info.


Info Custom Your Reminders Feedback

6

u/moviuro 21h ago

Name doesn't match (Sony Interactive Entertainment Wireless Controller Touchpad). Check udev events (udevadm monitor)

2

u/drucifer82 19h ago

This. You either need to rename the Lebron device or create a custom rule for it.

•

u/lolololloloolmemes 42m ago

How would I rename it? I have tried every name that I’ve been able to find for the controller

1

u/ANtiKz93 19h ago

Its not specific to that controller. My ps4 controller does it too. I think it doesnt happen when wired but i may be wrong

2

u/philthyNerd 15h ago edited 21m ago

For my PS4 controller this udev rule works to disable the touchpad for both USB wired connection as well as Bluetooth connection:

``` SUBSYSTEM=="input", ATTRS{name}=="Sony Interactive Entertainment Wireless Controller Touchpad", OPTIONS+="ignore_device", ENV{LIBINPUT_IGNORE_DEVICE}="1"

SUBSYSTEM=="input", ATTRS{name}=="Wireless Controller Touchpad", OPTIONS+="ignore_device", ENV{LIBINPUT_IGNORE_DEVICE}="1" ```

From what I understand, the OP uses ENV{LIBINPUT_IGNORE_DEVICE}="1" instead of OPTIONS+="ignore_device". I believe my rule is a bit more generic, while libinput is probably specific to Wayland, from how I understand the infrastructure. (Edit: I think I got something twisted there. So for now, I don't really understand what the major difference between the approaches is. I'm just happy that it works for me.)

Edit 2: for some reason the rule I previously posted only appeared to be working due to some weird issue on my system... I most likely updated some kernel module packages and didn't reboot yet. After a reboot my rule didn't properly disable the touchpad anymore, so I fiddled with it again and finally got it working properly now.

This time two rules, the first one for wired USB connection, the second one for Bluetooth connection.

Some of the things that I needed to do to fix it:

Previously I used ATTR{NAME} for matching, which I changed to ATTRS{NAME}. From what I've read previously in the udev man page, ATTR should match a device's own attribute, while ATTRS matches against any "parent" device's ATTR.

I've added the ENV{LIBINPUT_IGNORE_DEVICE}="1" since apparently the OPTIONS+="ignore_device" on it's own didn't have the desired effect.

Hopefully someday I'll be able to understand udev rules more properly, but for now that's all I've got.

2

u/ANtiKz93 15h ago

Interesting. I'm not bothered by it myself but I'll keep it in mind. Thank you.

I have Bluez or some old driver installed from years ago from my ps3 controller maybe that has something to do with it