On Fri, 2007-08-03 at 01:02 +0200, Peter Dons Tychsen wrote: > On Thu, 2007-08-02 at 06:54 -0600, Vitaliy Margolen wrote: > > Peter Dons Tychsen wrote: > > > On Tue, 2007-07-31 at 20:05 -0600, Vitaliy Margolen wrote: > > >> Peter Dons Tychsen wrote: > > >>> On Tue, 2007-07-31 at 06:34 -0600, Vitaliy Margolen wrote: > > >>>> Peter Dons Tychsen wrote: > > >>>>> On Mon, 2007-07-30 at 21:20 +0200, Peter Dons Tychsen wrote: > > >>>>>> On Sun, 2007-07-29 at 17:43 -0600, Vitaliy Margolen wrote: > > >>>>>>> Peter Dons Tychsen wrote: > > >>>>>>>> OK. Please review this diff: > > >>>>>>>> > > >>>>>>>> I will re-submit it if you like it. > > >>>>>>>> > > >>>>>>>> /Pedro > > >>>>>>> Alright looks good now (you might want to remove the extra white > > >>>>>>> space your > > >>>>>>> patch adds - git complains about those). Just left to make the same > > >>>>>>> change > > >>>>>>> to the other joystick interface :) > > >>>>>>> > > >>>>>>> BTW don't forget to cc: the wine-devel list when you replying. > > >>>>>>> > > >>>>>>> Vitaliy. > > >>>>>> OK. I still feel that trying to sync joystick_linuxinput.c and > > >>>>>> joystick_linux.c is out of scope for this patch. But as my steadiness > > >>>>>> has limits i have done some of it anyway... :). I have kept the > > >>>>>> changes > > >>>>>> modest. > > >>>>>> > > >>>>>> Please take a look at the new patch. > > >>>>>> > > >>>>>> On another note i will agree with you that it would be practical if > > >>>>>> the > > >>>>>> two files had similar (or maybe even shared) code. Redundant code is > > >>>>>> never very practical as it always ends up as this very example. The > > >>>>>> two > > >>>>>> implementations which were supposed to identical always drift apart. > > >>>>>> If > > >>>>>> things are supposed to do the same, keep them together to begin with. > > >>>>>> > > >>>>>> Thanks, > > >>>>>> > > >>>>> Maybe i would be more successful if i actually attached the > > >>>>> patch.... :-) > > >>>>> > > >>>>> Here it is.... > > >>>> Just few small things left: > > >>>> > > >>>>> -#undef MAX_JOYSTICKS > > >>>> As I mentioned earlier you should move this instead of removing it > > >>>> completely. > > >>>> > > >>>> > > >>>>> static HRESULT joydev_create_deviceW(IDirectInputImpl *dinput, > > >>>>> REFGUID rguid, REFIID riid, LPDIRECTINPUTDEVICEW* pdev) > > >>>>> { > > >>>>> - int i; > > >>>>> - > > >>>>> - find_joydevs(); > > >>>> You removed a really important function call here. > > >>>> > > >>>> > > >>>>> +static HRESULT joydev_create_deviceA(IDirectInputImpl *dinput, > > >>>>> REFGUID rguid, REFIID riid, LPDIRECTINPUTDEVICEA* pdev) > > >>>>> +{ > > >>>>> + unsigned short index; > > >>>>> + > > >>>>> + if ((index = get_joystick_index(rguid)) < MAX_JOYDEV) { > > >>>>> + if ((riid == NULL) || > > >>>> If you reformat the whole function, please make it 4-space indented. > > >>>> > > >>> OK. Here is the new patch: > > >>> > > >> Looks good to me. The problem is, it doesn't work for me (USB joystick). > > >> I > > >> think you forgot to look at how joystick_linuxinput.c handles that data3 > > >> field. It's not just 0 based index... > > >> > > > I told you i should bot have merged the changes over to > > > joystick_linuxinput as they were too different... :-) > > > > > > OK, so how do i force my system to use the other implementation (so i > > > can test it) ? > > > > > > I have a Logitech WingMan Extreme (old version). > > > > > Just (re)move /dev/input/js*. Or in dinput change device name to point to > > non-existent directory/device (in joystick_linux.c). > > > > Vitaliy. > > OK, fair enough. Even though i did'nt like messing around with > joystick_linuxinput.c i should have been smarter than trying to submit > something i could not test... :-( > > But... tada!... now i have re-fixed it and re-tested both > implementations. Its seems stable now. :-) > > Please give it another go on your machine Vitaliy. > > Cheers, > > /Pedro
As usual, i forgot the patch.... getting late inside my head :-) Here it is... /p
0001-Allow-the-use-of-the-standard-Joystick-GUID-when-cal.patch
Description: application/mbox