As mainly a console gamer over the years, I’ve become quite used to playing with a controller that has vibration. I feel that this is one thing the Deck is missing out on.
So I’m wondering if it’s possible to somehow connect up a small vibration motor (externally) that can be connected to the Deck, and have it recognised as a controller?
Possibly more effort than it’s worth but would be interesting to see if anyone has any ideas.
How difficult would it be create a driver like that? Would someone with virtually no coding experience have any chance?
As a programmer that has little to no idea how to program a driver, I think it’s basically zero chance. It would take a LOT of research and learning. Define the problem, choose an appropriate language, choose and install the programming tools, learn how to program a device driver, learn about controller hardware, learn about Linux, learn the programming language, learn about Steam Deck, write code and test probably hundreds or thousands of times. If I were to wildly speculate I’d say it would be several months starting with basically zero knowledge but having time, will, and aptitude.
Ah, I would definitely struggle then! I guess my most realistic options would either be to take apart the Deck and replacing the existing motor with a stronger one, or hope that someone smarter than me has a similar idea and can code a driver
The Deck vibration isn’t an ordinary motor like most console controllers use. It’s a haptic feedback engine built into the touchpads. Basically it’s kind of like a speaker - a coil (on the touchpad surface) placed over a fixed magnet. Instead of vibrating a cone like a speaker would to make sound, it vibrates the touchpad in a very precise way to mimic clicking and other haptic effects, but the downside is that it isn’t as strong as just putting a spinning weight on a motor and making it go, which is what most controllers do.
I think OP thought you meant a software driver but you meant a hardware driver, didn’t you?
I don’t know LOL. My experience is mostly with Windows, I assume things are different with Linux.
The hardware can be as simple as a microcontroller with two motor drivers. The software would require some work though as you would have to somehow redirect the vibration commands from the game to go to your custom motor driver rather than the built-in controller (or split it to both). The other issue is providing power to your contraption.
I tried adding RGB lights to my Deck and modded in a microcontroller board with some LED strips. I found an interface to send data from the Deck to my microcontroller to control the LEDs (using some I2C pins I found) but I ended up killing a chip on my Deck’s motherboard by pulling too much power from the 5V rail on the controller PCB. Motors also consume a lot of power so finding a safe power source for this mod would run into the same issue.
If you do attempt such a mod, don’t try to draw power for the motors off of the integrated controller PCB. You run the risk of overloading the supply for it on the motherboard, and repairing that is messy.
Thanks for this info. I think a hardware mod and/or software coding for this would be beyond my understanding.
Something externally plug and play would be amazing, but I doubt such a product exists.
Making a rumble pack type accessory that clips on the back wouldn’t be too difficult from a hardware perspective, just a rumble motor and an Arduino with a type C connection would work fine, but the software involved to redirect just the rumble commands from the Deck controller to the rumble pack without also affecting the control input could be challenging. I’m not entirely familiar with how vibration is handled on Linux game controllers.
[This comment has been deleted by an automated system]
Great info! I did wonder if something like that would be possible. Will look into this, thanks