Re: [AD] The huge Windows force feedback patch.

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


I committed your patch with a couple minor changes:

One function was named "diver" instead of driver.
Left out uncrustify.cfg and ex_joystick_events changes.

Thanks.

-----Original Message-----
From: beoran@xxxxxxxxxx [mailto:beoran@xxxxxxxxxx] 
Sent: August 11, 2014 10:34 AM
To: Allegro Development
Subject: Re: [AD] The huge Windows force feedback patch.

Yes, it's normal if if the delay parameter of the force feedback effect
isn't zero, then, the effect will start with a delay. You can try this in
ex_haptic2. Set the delay to 0 (full left) and the effect should play
instantaniously.

Kind Regars,

B.

On 8/11/14, Trent Gamblin <trent@xxxxxxxxxx> wrote:
> Another thing, the effects in the examples take a full second before 
> they start playing, is that normal?
>
> ---- beoran@xxxxxxxxxx wrote ----
>
>>Yes, that is likely to be the cause then.
>>
>>I also just double checked it with ex_joystick_hotpluging myself and 
>>the layout before and after the patch stays the same if you use the 
>>DirectInput mode of the F710.  I do admit that my changes to 
>>ex_joystick_events make it more difficult to compare before and after, 
>>but with ex_joystick_hotplugging's log it's more clear that it stays 
>>the same.
>>
>>Kind Regards,
>>
>>B.
>>
>>On 8/11/14, trent@xxxxxxxxxx <trent@xxxxxxxxxx> wrote:
>>> Ok, I think I was using it in XInput mode before.
>>>
>>> -----Original Message-----
>>> From: beoran@xxxxxxxxxx [mailto:beoran@xxxxxxxxxx]
>>> Sent: August 11, 2014 7:58 AM
>>> To: Allegro Development
>>> Subject: Re: [AD] The huge Windows force feedback patch.
>>>
>>> Well, how did you use the F710 before the patch? In DirectInput mode 
>>> or in XInput mode? If you used it before in XInput mode, then what 
>>> you saw in Allegro under DirectInput was the "shadowed" joypad. The 
>>> F710 has actually
>>> 3
>>> different layouts: 1) the XInput layout in XInput mode,
>>> 2) the "shadowed" DirectInput layout in XInput mode and 3) the real 
>>> DirectInput layout in DirectInput mode. Which could explain the 
>>> differences you are seeing.
>>>
>>> What could be a bugor unintended change is if you saw a different 
>>> layout before and after the patch with the F710 switched to 
>>> DirectInput mode in both cases. If that's is the problems you are 
>>> seeing I'll investigate it further.
>>>
>>> Kind Regards,
>>>
>>> B.
>>>
>>> On 8/11/14, trent@xxxxxxxxxx <trent@xxxxxxxxxx> wrote:
>>>> I'd like to apply the patch, but there's still one thing that's not 
>>>> really clear to me. When I switch my joystick to DirectInput mode, 
>>>> why is the button layout different after the patch? Apologize if 
>>>> you already answered this.
>>>>
>>>> -----Original Message-----
>>>> From: beoran@xxxxxxxxxx [mailto:beoran@xxxxxxxxxx]
>>>> Sent: August 11, 2014 2:00 AM
>>>> To: Allegro Development
>>>> Subject: Re: [AD] The huge Windows force feedback patch.
>>>>
>>>> That was caused by the "shadowing" and by ex_joystick_event which 
>>>> had a bug where it would show presses from different joystics as if 
>>>> they came from the active one.
>>>>
>>>> The "shadowing" should now be fixed with the fixes I pushed to that 
>>>> pull request & patch, and same for ex_joystick_event. I'd be 
>>>> surprised if you still saw it with the lastest version of my patch.
>>>>
>>>> For people who use Allegro's joysticks the important point to keep 
>>>> in mind that even before this patch, you had and still have have to 
>>>> use the .id flag of the joystick event combined with 
>>>> al_get_joystick() to make sure you correctly interpret from which 
>>>> joystick the events are coming from.
>>>>
>>>> Also, in case you really need XInput devices to stay as they were, 
>>>> it's possible to disable the XInput driver at compile time using 
>>>> cmake -DWANT_XINPUT=no. This will also disable the XInput filter in 
>>>> Directinput devices and the force feedback for them, but it apart 
>>>> from the directinput force feedback driver, all should be as it was 
>>>> before the patch with that flag.
>>>>
>>>> Kind Regards,
>>>>
>>>> B.
>>>>
>>>>
>>>> On 8/11/14, trent@xxxxxxxxxx <trent@xxxxxxxxxx> wrote:
>>>>> What about the multiple buttons being signalled when you press 1 
>>>>> button on the joystick? Isn't that a compatibility issue?
>>>>>
>>>>> -----Original Message-----
>>>>> From: beoran@xxxxxxxxxx [mailto:beoran@xxxxxxxxxx]
>>>>> Sent: August 10, 2014 8:03 PM
>>>>> To: Allegro Development
>>>>> Subject: Re: [AD] The huge Windows force feedback patch.
>>>>>
>>>>> Dear Trent,
>>>>>
>>>>> Thanks for taking time to check my patch. The layout of the 
>>>>> joystick should stay the same EXCEPT for XInput devices which now 
>>>>> get the XInput layout. I consider it as a functional improvement 
>>>>> that they now get the correct XInput layout, and that the two 
>>>>> triggers show up as analog slider axes and not as buttons like 
>>>>> they would under DirectInput. In this case only the poatch is not 
>>>>> perfectly backwards compatible but we can't have our cake and eat it
too.
>>>>>
>>>>> I was playing around a bit with ex_joystick_events, mostly in an 
>>>>> attempt to make the button names more legible, etc. If you don't 
>>>>> like those changes I'll just revert to Allegro's current 
>>>>> ex_joystick_events later on, it's not essential to this patch.
>>>>>
>>>>> Kind Regards,
>>>>> B.
>>>>>
>>>>> On 8/11/14, trent@xxxxxxxxxx <trent@xxxxxxxxxx> wrote:
>>>>>> Thanks for doing that. Before I can say anything else I need to 
>>>>>> read the full patch and test it out some more, which might be a 
>>>>>> while. As long as the joysticks work the same as before, ie in 
>>>>>> the most common case where the user has 1 joystick, and the game 
>>>>>> is recompiled with this patch, the button mappings are all the 
>>>>>> same, then it should be fine. However, your updates to 
>>>>>> ex_joystick_events although they look better don't suit every
joystick, do they?
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: beoran@xxxxxxxxxx [mailto:beoran@xxxxxxxxxx]
>>>>>> Sent: August 10, 2014 7:31 PM
>>>>>> To: Allegro Development
>>>>>> Subject: Re: [AD] The huge Windows force feedback patch.
>>>>>>
>>>>>> Dear Trent,
>>>>>>
>>>>>> I understand your concern, so I spend most of the day looking for 
>>>>>> a solution.
>>>>>>
>>>>>> I looked into a better way to filter the XInput devices from 
>>>>>> DirectInput and with some inspiration from SDL and a lot of 
>>>>>> testing, I was able to make it work both on MinGW and on MSys2.
>>>>>>
>>>>>> This better way requires only user32.dll and windows.h, no 
>>>>>> special headers, and compiles fine on MinGW. Only requirement is 
>>>>>> that you use
>>>>> Windows XP.
>>>>>> For
>>>>>> some reason the DirectInput driver still supported Windows 95, 
>>>>>> but I had to upgrade to use GetRawDeviceList() on which the 
>>>>>> filtering method is based. I don't think that that is any 
>>>>>> problem, since Allegro 5 doesn't support windows 95 for other 
>>>>>> things such as audio
>>>> anymore anyway.
>>>>>>
>>>>>> With this better filtering method there should be no "gotchas" 
>>>>>> left with compiling and using Allegro on MinGW with this patch, 
>>>>>> and the rest of Allegro should keep working as it was.
>>>>>>
>>>>>> Finally, months of hard work went into this patch and while there 
>>>>>> might be some bugs left in it, he best way to get these fixed is 
>>>>>> by getting people to test it more widely.
>>>>>>
>>>>>> Kind Regards,
>>>>>>
>>>>>> B.
>>>>>>
>>>>>> On 8/10/14, Trent Gamblin <trent@xxxxxxxxxx> wrote:
>>>>>>> If the patch has this many gotchas I won't be applying it. The 
>>>>>>> entire rest of Allegro works perfectly with MinGW, there's no 
>>>>>>> sense in IMO destroying that for haptics, so find.better ways to 
>>>>>>> do these
>>>> things.
>>>>>>>
>>>>>>> ---- beoran@xxxxxxxxxx wrote ----
>>>>>>>
>>>>>>>>OK, I pushed some more commits to the same pull request.
>>>>>>>>
>>>>>>>>What they do is
>>>>>>>>1) fix ex_joystick_events
>>>>>>>>2) Detect sal.h and include it only if found1.
>>>>>>>>3) Detect wbemidl.h for use by the filtering snippet. If ound, 
>>>>>>>>enable the snippet, if not disable it. For various reasons, 
>>>>>>>>mingw can't compile the filtering stippet (I said it was 
>>>>>>>>horrible), but
>>>>>>>>msys2/mingw64 can. That's why I was forced to conditionally 
>>>>>>>>compile it like this.
>>>>>>>>4) Some various minor bugs.
>>>>>>>>
>>>>>>>>https://github.com/liballeg/allegro5/pull/8.patch
>>>>>>>>
>>>>>>>>Kind Regards,
>>>>>>>>
>>>>>>>>B.
>>>>>>>>
>>>>>>>>----------------------------------------------------------------
>>>>>>>>---
>>>>>>>>-
>>>>>>>>-
>>>>>>>>-
>>>>>>>>--------
>>>>>>>>--
>>>>>>>>https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>>>> ----------------------------------------------------------------
>>>>>>> ---
>>>>>>> -
>>>>>>> -
>>>>>>> -
>>>>>>> --------
>>>>>>> --
>>>>>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>>>>
>>>>>>
>>>>>> -----------------------------------------------------------------
>>>>>> ---
>>>>>> -
>>>>>> -
>>>>>> ------
>>>>>> --
>>>>>> --
>>>>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>>>
>>>>>>
>>>>>> -----------------------------------------------------------------
>>>>>> ---
>>>>>> -
>>>>>> -
>>>>>> --------
>>>>>> --
>>>>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>>>
>>>>>
>>>>> ------------------------------------------------------------------
>>>>> ---
>>>>> -
>>>>> ------
>>>>> --
>>>>> --
>>>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------
>>>>> ---
>>>>> -
>>>>> --------
>>>>> --
>>>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>>
>>>>
>>>> -------------------------------------------------------------------
>>>> ---
>>>> ------
>>>> --
>>>> --
>>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>
>>>>
>>>> -------------------------------------------------------------------
>>>> ---
>>>> --------
>>>> --
>>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>
>>>
>>> --------------------------------------------------------------------
>>> --------
>>> --
>>> --
>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>
>>>
>>> --------------------------------------------------------------------
>>> ----------
>>> --
>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>
>>
>>----------------------------------------------------------------------
>>--------
>>--
>>https://lists.sourceforge.net/lists/listinfo/alleg-developers
> ----------------------------------------------------------------------
> --------
> --
> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>

----------------------------------------------------------------------------
--
--
https://lists.sourceforge.net/lists/listinfo/alleg-developers





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/