PS5 Dualsense Acting as a mouse - Not usable as touchpad
PS5 DualSense Acting as a Mouse – Resolving Touchpad Issues for Gaming on Linux
Navigating the intricacies of controller compatibility on PC, especially within the Linux environment, can be a frustrating endeavor. The PS5 DualSense controller, while lauded for its innovative features and immersive feedback, sometimes presents unexpected challenges when used for gaming on platforms like Steam, particularly concerning its touchpad functionality. We understand the issues faced by users like /u/kuxxokrocan on Fedora 42 Gnome, and we are here to provide a comprehensive guide to resolving these problems, ensuring a seamless gaming experience on your system.
Understanding the DualSense Touchpad Issue on Linux
The core problem, as described, stems from the DualSense controller’s touchpad being misidentified or functioning improperly when connected to a Linux system. Instead of registering a simple “touchpad press” as intended by game developers for actions like opening a crafting menu (as in Dying Light), the controller input switches to keyboard and mouse mode. This effectively overrides the desired controller-based input, rendering the touchpad unusable for its intended in-game functions. This issue arises due to how the Linux operating system interprets and handles the DualSense controller’s input signals. Several layers of software, from the kernel drivers to the Steam Input API, are involved in translating the controller’s actions into commands recognized by the game. A misconfiguration or incompatibility at any of these layers can lead to the reported behavior.
Diagnosing the Root Cause of the Input Conflict
Before diving into potential solutions, it’s crucial to accurately pinpoint the source of the conflict. Several factors could be at play, including:
Driver Incompatibilities and Kernel Modules
The Linux kernel relies on specific modules (drivers) to communicate with hardware devices. Outdated, missing, or conflicting drivers can lead to misinterpretation of the DualSense controller’s signals. Specifically, investigate modules related to HID (Human Interface Devices) and Bluetooth (if connecting wirelessly).
Checking Active Kernel Modules
Use the lsmod
command in your terminal to list currently loaded kernel modules. Look for modules with names related to hid
, bluetooth
, joydev
, or sony
. An incorrectly configured or conflicting module may be the culprit.
Updating Kernel and Drivers
Ensure your kernel is up-to-date. Fedora 42, while a specific version, might benefit from kernel updates that include improved DualSense support. Use your system’s package manager (e.g., dnf upgrade
) to update the kernel and related packages.
Steam Input Interference
Steam’s Input API allows for customized controller configurations and remapping. While generally beneficial, it can sometimes interfere with the native DualSense functionality, especially if an incorrect or conflicting profile is active.
Steam Input Configuration
Within Steam, navigate to “Steam” -> “Settings” -> “Controller” -> “General Controller Settings”. Ensure that “PlayStation Configuration Support” is enabled. Experiment with enabling or disabling other configuration support options (e.g., “Xbox Configuration Support”) to see if it resolves the issue.
Game-Specific Input Settings
Right-click on the affected game in your Steam library, select “Properties,” and then navigate to the “Controller” tab. Here, you can override the default Steam Input configuration for that specific game. Try setting the “Override for Dying Light” option to “Disable Steam Input.” This forces the game to rely on the native controller drivers, potentially bypassing the conflicting Steam Input interpretation.
Gnome Desktop Environment Settings
The Gnome desktop environment includes its own input settings, which may conflict with the desired DualSense behavior. Disabling the touchpad within Gnome settings, as mentioned in the original post, unfortunately disables the “push” function as well. This indicates a deeper level of integration where the touchpad is treated as a single, unified device.
Investigating Gnome Input Settings
Open the Gnome settings application and navigate to the “Mouse & Touchpad” section. While completely disabling the touchpad is not the goal, explore the advanced settings for any options that might affect the way the touchpad is interpreted. Look for settings related to “natural scrolling,” “tap to click,” or “edge scrolling,” and experiment with disabling them to see if it has any impact on the DualSense touchpad behavior.
Implementing Effective Solutions: A Step-by-Step Guide
Based on the diagnostic steps, here’s a comprehensive guide to resolving the DualSense touchpad issue on Fedora 42 Gnome:
1. Driver Updates and Configuration
Begin by ensuring your system has the latest drivers and that they are correctly configured.
Updating Kernel and System Packages:
Open a terminal and execute the following commands:
sudo dnf upgrade --refresh
sudo dnf update
This will update all packages, including the kernel, to the latest available versions. Reboot your system after the update.
Checking for Specific DualSense Drivers:
While there isn’t a specific “DualSense driver” package, ensure that the hid-generic
and bluetooth
modules are properly loaded. You can check this using lsmod | grep hid
and lsmod | grep bluetooth
. If these modules are not loaded, try manually loading them with sudo modprobe hid-generic
and sudo modprobe bluetooth
.
2. Steam Input Configuration Adjustments
Steam Input is often a significant factor in these types of issues. Carefully configure Steam Input to ensure proper DualSense support without introducing conflicts.
Enabling PlayStation Configuration Support:
- Open Steam.
- Go to “Steam” -> “Settings” -> “Controller” -> “General Controller Settings.”
- Check the box next to “PlayStation Configuration Support.”
- (Optional) Experiment with disabling “Xbox Configuration Support” if it’s enabled.
Game-Specific Steam Input Overrides:
- Right-click on the game (e.g., Dying Light) in your Steam library.
- Select “Properties.”
- Go to the “Controller” tab.
- Set the “Override for [Game Name]” option to “Disable Steam Input.”
- Alternatively, try setting it to “Enable Steam Input” and then customizing the controller layout within Steam Input to specifically map the touchpad press to the desired action. This can be more complex but offers greater control.
3. Addressing Gnome Input Settings
While completely disabling the touchpad in Gnome settings is not the desired outcome, explore potential settings that might be interfering.
Investigating Gnome Mouse & Touchpad Settings:
- Open the Gnome settings application.
- Navigate to “Mouse & Touchpad.”
- Carefully examine the settings related to “Natural Scrolling,” “Tap to Click,” and “Edge Scrolling.”
- Try disabling these options one by one to see if any of them affect the DualSense touchpad behavior.
- Consider installing
gnome-tweaks
(sudo dnf install gnome-tweaks
) and exploring its input settings for more granular control.
4. Advanced Configuration: Using udev
Rules
For more advanced control over device handling, you can create udev
rules. udev
is the device manager in Linux, and it allows you to define custom rules for how devices are handled when they are connected.
Creating a Custom udev
Rule:
Identify the DualSense controller’s vendor and product IDs. You can find these by running
lsusb
in the terminal after connecting the controller. Look for a line that describes the “Sony Interactive Entertainment” device. The vendor and product IDs will be in the formatVendorID:ProductID
.Create a new
udev
rule file. Open a terminal and run:sudo nano /etc/udev/rules.d/99-dualsense.rules
Add a rule to the file that matches the DualSense controller and sets specific properties. Replace
VendorID
andProductID
with the actual values you found in step 1.ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="VendorID", ATTRS{idProduct}=="ProductID", ENV{LIBINPUT_IGNORE_DEVICE}="1"
This rule tells
udev
to ignore the DualSense controller as a standard input device for thelibinput
library, which is used by Gnome. This might prevent the touchpad from being incorrectly interpreted as a mouse.Save the file and exit the editor.
Reload the
udev
rules:sudo udevadm control --reload-rules sudo udevadm trigger
Disconnect and reconnect the DualSense controller.
5. Utilizing ds4drv
(If Necessary)
ds4drv
is a user-space driver for the DualShock 4 controller, but it can sometimes be helpful for DualSense controllers as well. It provides more granular control over the controller’s behavior.
Installing ds4drv
:
Unfortunately, ds4drv
might not be readily available in Fedora’s default repositories. You might need to enable a community repository like RPM Fusion to install it. After enabling the repository, you can install ds4drv
:
sudo dnf install ds4drv
Configuring ds4drv
:
Run
ds4drv
in the terminal. It will attempt to connect to the DualSense controller.sudo ds4drv
ds4drv
will create a virtual gamepad device. You can then configure this device usingjstest
or other gamepad configuration tools.Within
ds4drv
, you can map the touchpad press to a specific key or action. This allows you to bypass the default touchpad behavior and assign it to the desired in-game function.
Important Note: Using ds4drv
might require disabling Steam Input for the game to avoid conflicts.
Troubleshooting and Further Steps
If the above solutions do not fully resolve the issue, consider the following:
- Check for firmware updates: Although less common on Linux, check if there are any firmware updates available for the DualSense controller itself. These updates might address compatibility issues.
- Consult online forums and communities: The Linux gaming community is vast and helpful. Search online forums and communities specific to Fedora, Gnome, and Steam for discussions about DualSense compatibility. Other users may have encountered similar issues and found solutions.
- Report the issue to relevant developers: If you suspect a bug in the kernel driver, Steam Input API, or Gnome desktop environment, consider reporting the issue to the respective developers. Providing detailed information about your system configuration and the steps you’ve taken to troubleshoot the problem can help them identify and fix the bug.
We understand that troubleshooting these types of issues can be complex and time-consuming. However, by systematically following the steps outlined in this guide, you can significantly increase your chances of resolving the DualSense touchpad problem and enjoying a seamless gaming experience on your Fedora 42 Gnome system. We at revWhiteShadow, and kts personal blog site, are committed to providing you with the resources and support you need to overcome these challenges.