My PS3 died - it's controllers have a new purpose 🎮

📆 2026-10-15 14:10

My PS3 Slim finally gave up on me. Bluetooth and Wi-Fi suddenly stopped working, which makes me suspect the wireless/bluetooth module or its connections to the motherboard. To make things worse, the Blu-ray drive started making grinding noises and refuses to load game discs. Unfortunately, these aren't entirely uncommon problems with aging PS3 consoles. Wireless connectivity failures can be caused by a faulty wireless/Bluetooth chip, damaged connections, or motherboard issues, while a noisy Blu-ray drive can point to worn gears and a failing loading mechanism. It feels like the end of an era. Rather than immediately throwing the old console away, I decided to give its controllers a second life on my Linux desktop.

PS3 Navigation controller

I chose the PS3 Navigation Controller instead of a regular DualShock because it is designed to be used with just one hand. Since I mainly need it to move the mouse, click things, scroll and control media playback, I don't need two analog sticks or a full set of gaming controls. Its compact design makes it easy to store near the TV's remote.

With a little Python, evdev, xdotool, and triggerhappy, it becomes a wireless mouse and media remote. The analog stick moves the mouse pointer, the L2 and L3 buttons handle mouse clicks, L1 is Play/Pause and the X and O buttons launch Netflix and HBO Max in Firefox in fullscreen. Here's a video of the controller in action:

đŸŽŦ PS3 Navigation Controller Controls Arch Linux [video]

Actions made in the video:

I wrote a separate, full tutorial covering the entire setup, from Bluetooth pairing and udev rules to the mouse script, button mappings, and systemd configuration. This post is just a short introduction. The tutorial below contains all the commands and configuration files needed to reproduce the setup:

đŸ•šī¸ Using a PS3 Navigation Controller on Arch Linux [tutorial]

It's a fun way to repurpose old hardware and make a Linux desktop more comfortable to use from the couch. 🎮

đŸšļ Back to my blog