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. > >> > >> Vitaliy. > > > > 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... > > Vitaliy.
Oh no! 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). /pedro