DS4 usb or bluetooth, udev rule

Good morning,

Why is the ds4 controller giving me this when i connect it via usb:

evtest
No device specified, trying to scan all of /dev/input/event*
Not running as root, no devices may be available.
Available devices:
/dev/input/event19: Sony Interactive Entertainment Wireless Controller
/dev/input/event20: Sony Interactive Entertainment Wireless Controller Motion Sensors
/dev/input/event21: Sony Interactive Entertainment Wireless Controller Touchpad

and that via bluetooth:

evtest
No device specified, trying to scan all of /dev/input/event*
Not running as root, no devices may be available.
Available devices:
/dev/input/event19: Wireless Controller
/dev/input/event20: Wireless Controller Motion Sensors
/dev/input/event21: Wireless Controller Touchpad

I know it has something to do with the hid-playstation, but i don’t know why it is not using the same hid with usb and Bluetooth?
Is there a way to force the use of the hid-playstation instead of the generic wireless controller while using the bluetooth connection?

So the udevadm info -a /dev/input/js1 shows that USB and Blueetooth are using the hid_playstation, but the ATTRS{name}== is different “Wireless Controller” for Bluetooth and USB “Sony Interactive Entertainment Wireless Controller”.

Do games look at this attribute? Why do the DS4 controller work via USB and showing the correct button icons, while they won’t work via bluetooth and the only difference is this attribute? On the other hand, in the game controller app in KDE both are shown as PS4 and also in the steam input app.

Some things I just don’t get.

Would a generic 8bitdo controller also have this problem, or Xbox controller?

The game I try to understand is Horizon Zero Dawn. Maybe somebody else can try it with USB and Bluetooth with a different controller and check if both works.

So i tried to replace to ATTRS{name}== with a udev rule, which won’t work, maybe somebody has an idea on that.

The rule now is

SUBSYSTEMS=="input", ATTRS{id/product}=="09cc", ATTRS{id/vendor}=="054c", ATTRS{name}="Sony Interactive Entertainment Wireless Controller"

or

KERNEL=="js[0-9]*", ENV{ID_VENDOR_ID}=="054c", ENV{ID_MODEL_ID}=="09cc", ENV{NAME}="Sony Interactive Entertainment Wireless Controller"

Following the guid here

https://wiki.archlinux.org/title/Gamepad

and

https://wiki.archlinux.org/title/Udev#Loading_new_rules