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

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


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
>




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