ArduinoJoystickLibrary icon indicating copy to clipboard operation
ArduinoJoystickLibrary copied to clipboard

Feature request: Force Feedback/Rumble/Vibration support

Open jfrmilner opened this issue 8 years ago • 22 comments

I’d like to request support for Force Feedback/Rumble/Vibration (controller motor control). I’ve seen that other albeit old ATmega32U4 projects have implemented this, for example https://github.com/tloimu/adapt-ffb-joy/blob/wiki/USBFfbHid.md Ideally this would appear as a joystick with advanced force feedback features in a Windows machine without need for installing any device drivers like the above project. Assuming this is possible I think it would be a welcome addition to an already great library, what do you think?

edit 2019-04 Hoping this might be of interest to people following this feature request. David Madison has recently started the Arduino XInput Library https://github.com/dmadison/ArduinoXInput, using XInput allows for reading of rumble motors!

jfrmilner avatar Jul 12 '16 08:07 jfrmilner

I like the idea. I will keep this issue open until that feature is added or it is determined that this cannot be done.

MHeironimus avatar Jul 27 '16 16:07 MHeironimus

Just a heads up, I was able to use the single joystick library, keyboard, and Serial over the usb connection of a leonardo. I planned on using the Serial connection as a controll channel and could be used for feedback depending on your application.

zaped212 avatar Sep 22 '16 01:09 zaped212

@zaped212 That sounds like a good option. Let us know how it goes or if there are any changes to the Joystick Library that would make this easier.

MHeironimus avatar Sep 22 '16 11:09 MHeironimus

The serial control channel only works in custom applications so a native option would still be best ( work in existing games that would utilize it ). I was able to use the serial connection with no modifications but unfortunately my project has moved me away from that path.

Was going to use the control channel to enable/disable buttons&LEDs per different configurations but never got around to fully implementing the control data.

zaped212 avatar Sep 22 '16 13:09 zaped212

The Force Feedback/Rumble/Vibration would be a great addition to an awesome library, I agree 100%!

baritonomarchetto avatar Dec 15 '16 14:12 baritonomarchetto

I'd love to see this feature too!

dchote avatar Sep 19 '17 00:09 dchote

Force Feedback would be great!

gagagu avatar Sep 28 '17 10:09 gagagu

I've found some useful information about Force Feedback HID on internet. I'm not deep enough in USB HID programming but may be someone can use this informations? http://www.microchip.com/forums/m320225-p2.aspx

gagagu avatar Oct 24 '17 14:10 gagagu

Maybe this links can help too (from the vJoy emulator):

HID Descriptor: https://github.com/shauleiz/vJoy/blob/master/driver/sys/vjoy.h

Reference: http://forums.obdev.at/viewtopic.php?f=8&t=4313#p14541

But I am not able to test it in the vjoy and can't see this functionality on Windows, even if it should be implemented.

Adrianotiger avatar Feb 28 '18 12:02 Adrianotiger

:+1: Looking for this feature implemented

Fubaxiusz avatar Oct 22 '18 22:10 Fubaxiusz

So does anyone able to make FF enabled device yet?

uzairali001 avatar Feb 21 '19 12:02 uzairali001

I was just looking into this, and I too would like to see this implemented. I don't have the skills to do it myself, but here's the usb.org specifications for physical interface devices over USB. (Force feedback)

https://www.usb.org/sites/default/files/documents/pid1_01.pdf

Alacritous avatar Jul 30 '19 06:07 Alacritous

Joystick is great. Waiting for ffb support.

hoantv avatar Sep 19 '19 01:09 hoantv

Any word on this potentially ever coming? I have a project I'd love to use it for but it doesn't look like there's any work for it...

MC42 avatar Nov 08 '19 01:11 MC42

Anybody got success??here, i got an russian link which you can translate and read, seems like that guy has reverse engineered some logitech steering wheel and since my programming skills are poor so cant understand much from this,hope some of you will... thanks in advance

https://cxem.net/mc/mc207.php

Nikhil707 avatar Apr 19 '20 08:04 Nikhil707

Anybody got success??here, i got an russian link which you can translate and read, seems like that guy has reverse engineered some logitech steering wheel and since my programming skills are poor so cant understand much from this,hope some of you will... thanks in advance

https://cxem.net/mc/mc207.php

You can check my repo.

hoantv avatar Apr 22 '20 13:04 hoantv

Anybody got success??here, i got an russian link which you can translate and read, seems like that guy has reverse engineered some logitech steering wheel and since my programming skills are poor so cant understand much from this,hope some of you will... thanks in advance https://cxem.net/mc/mc207.php

You can check my repo.

Thank you so much!!

Nikhil707 avatar Apr 30 '20 04:04 Nikhil707

I have build up a library that support ffb,based on MHeironimus and hoantv's work.check out ->https://github.com/YukMingLaw/ArduinoJoystickWithFFBLibrary

YukMingLaw avatar May 11 '20 16:05 YukMingLaw

I have build up a library that support ffb,based on MHeironimus and hoantv's work.check out ->https://github.com/YukMingLaw/ArduinoJoystickWithFFBLibrary Good job 👏

hoantv avatar May 11 '20 18:05 hoantv

@MHeironimus Force feedback/rumble/vibration is a really good idea, and I suggest adding button status feedback as well.

hmx7 avatar Jun 24 '21 00:06 hmx7

Do windows HID compliant game controllers support a rumble status by default? It would be nice to define a controller that has a rumble feature so I could bind it in Dolphin. (Gamecube/wii emulator) Just as we use Joystick.setXAxis a Joystick.getRumble would be nice.

Currently using an atmega32u4 to read a gamecube controller, and I can set the rumble of the gc controller easily, I just need a way for Windows to communicate the rumble status to the Arduino.

Thanks!

Skuzee avatar Jun 04 '22 00:06 Skuzee

Looks like that ffb fork is a good path for that. Unfortunately I just need rumble and there doesn't seem to be a solution yet.

@MHeironimus this library you made is awesome, and I was able to implement a 22 btn custom gamepad, with 2 joysticks and 2 analog triggers fairly quickly with it. So nice work.

But if you could also find a way to register as a rumble device or something. Primarily looking to just bind do x360ce or straight to an emulator control map.

Please and thank you!

Nixon-Joseph avatar Jun 21 '23 07:06 Nixon-Joseph