Thread (6 messages) 6 messages, 3 authors, 2016-05-03

Re: How to properly extend uinput API

From: Manuel Reimer <hidden>
Date: 2016-05-03 17:22:51

On 05/03/2016 12:51 AM, Dmitry Torokhov wrote:
Nowhere in the memoryless code we have "2 motor values".
But it simulates a few supported events with FF_RUMBLE events.
You are
basically designing an API for single device and that is not a good
idea.
Not for a single device, but for a big (if not the biggest) group of 
game controllers.
Hmm, it should not, can you post some traces to show where it gets
stuck so we can fix it?
Some time ago, Elias Vanderstuyft sent me a link to this thread:

http://comments.gmane.org/gmane.linux.kernel.input/44528

Maybe this helps to track down this problem?
You should be able to take cues from the kernel code and create
userspace library providing similar features, but in the way that is
flexible and make sense in userspace.
Of course this should be possible. It just is far more difficult than 
just using what is already there.

While searching for examples to learn from, I've collected a few 
existing uinput projects using force feedback. 100% of them somehow try 
to drive two motors and would profit from some API making this common 
case more easy.

But if the recommended way is to do this in userspace, I will try to 
understand how ff-memless works to port it 1:1 to userspace. 
Unfortunately the kernel documentation 
(https://www.kernel.org/doc/Documentation/input/ff.txt) says:

| Note: In most cases you should use FF_PERIODIC instead of FF_RUMBLE.
|       *All* devices that support FF_RUMBLE support FF_PERIODIC
|       (square, triangle, sine) and the other way around.

So I guess game developers will not just send FF_RUMBLE and so I have to 
do some kind of simulation to get my rumble working.

If someone already has simple code which can be used from plain C, I 
would be happy to get a link to the repository.

Manuel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help