Thanks for the direct input again Joshua!
Cheers,
Jimmy.
| Maybe I can shed some light on what's going on. First a little
history.
| The first implementation that was used to get joystick data was called
| WinMM. It is very old, Windows 95 and previous. With the coming of
DirectX
| there was a new way of getting device data, DirectInput. DirectInput
| supported the WinMM functions so that older games would still work. In
WinMM
| you could only have up to 16 devices at a time. Each device would get an
ID
| number and games would access controller data by this ID number.
DirectInput
| does not use these ID's unless the game is using the old WinMM
interfaces.
| It assigns each device it finds a unique GUID and applications get
device
| data by accessing this GUID. DirectInput will theoretically handle as
many
| devices as the system can physically handle. I have had 48 devices
connected
| to a system at once.
| In Windows XP the decision was made to only expose to the user what
| device was at ID1. This was due to the fact that ID configuration was
one of
| the biggest areas of confusion by users and most game developers had
stopped
| using WinMM. Game makers that used WinMM would just take whatever device
was
| at ID1 and almost always only supported one device. This is why we
changed
| the Game Controllers control to only expose the Preferred Device, the
device
| to be set at ID1. From what you wrote it seems you are under the
impression
| that the order the devices are listed on the main page of the control
applet
| is the ID order. This isn't the case. When DirectInput runs it calls a
| function that finds all the devices attached to the system. Each
discovered
| device gets a GUID that it can use later to access the device. The
devices
| are listed in the control applet in the order the system happened to
| discover them and has nothing to do with the devices WinMM ID#. When the
| developers write the game it is entirely up to them when they stop
asking
| DirectInput for devices, or devices on ID#'s. Most stop after finding
the
| first device. Some will give you the option of choosing a single device
in
| the games options, and a few will allow you to use all the devices
attached
| to the system.
| Now the games. Based on what you describe, and having not debugged
the
| games, this is what is most likely going on. The game NASCAR 2003 is
quite
| recent as the name implies. Chances are they are using the DirectInput
| device interfaces. They are also making all controllers available to the
| game and not quitting after finding the first one. Your other game,
Sports
| Car GT was released in April 1999. My guess is that they are also using
the
| DirectInput interfaces. This would explain why it doesn't matter what ID
you
| set the devices to you always get the shifter, you could only make the
game
| see the change if it was using WinMM, but unlike the NASCAR 2003 game
they
| are just enumerating and using the first device that DirectInput returns
and
| stopping. The only way this can be fixed is to see if you can get the
system
| to expose the device you want first, but even if you did that chances
are
| real good that you wouldn't have access to the shifter.
|
| I know this doesn't fix you, but should at least explain what is
happening.
| Let me know if you have any questions abou this.
|
| Joshua Smith
| DirectInput and OpenGL Test Labs
| Microsoft
| -----
|
| Get Secure!
www.microsoft.com/security
|
| This posting is provided "AS IS" with no warranties, and confers no
rights
|
|
|
|
|
| "Jimmy S." <Private> wrote in message
| | > Hi Zack,
| >
| > Thanks for trying my suggestions. Sorry they didn't resolve the
| > problem that you've been having. If you could go ahead and re-
| > post your situation including the steps that you took in a new
| > thread, we'll leave it open to solicit other opinions and ideas.

| >
| > | > |I forgot to say that if the TSW is the only controller plugged in it
| > works Fine. In that game. but who drives a sports car with a
| > sequential shifter. ( 1ssssssssssssst 2nnnnnnd 3rrrrrrrrrd
| > 4ttttttttttttttth 5tttttttttttttth brake turn clutch down shift to 1st
| > 2nnnnnnnnnnnnnd 3rrrrrrrrd) you get the idea.
| >
| > --
| > Cheers, Windows XP MVP Shell / User
| > Jimmy S.
http://mvp.support.microsoft.com
| >
| >
| > Game FAQs:
http://support.microsoft.com/default.aspx?scid=FH;[LN];gms
| > Visit my Zone.com / Gaming Helpsite:
http://nibblesnbits.tk or Call /
| > Contact
| > MS Support at:
http://support.microsoft.com/default.aspx?scid=sz;en-us;top
| > My advice is donated "AS IS" without warranty; nor do I confer any
| > rights.
| > _________________________________________________________
| >
| >
|
|