Thanks Chris! Just to confirm, was your controller in Xinput or DirectInput mode? If I'm not mistaken, those Logitechs have a switch on them. For the moment I'm more interested in DirectInput details, since Xinput isn't supported by pyglet.
Thanks, -Ben On Wednesday, November 18, 2015 at 4:57:36 PM UTC+9, Chris Norman wrote: > > Hi, > Here's one with my Logitech Wireless F710. I'll do my other Logitech > controler when I pick it up in a bit. > > HTH. > Mouse GUID(6f1d2b60, d5a0, 11cf, bf, c7, 44, 45, 53, 54, 0, 0) > Keyboard GUID(6f1d2b61, d5a0, 11cf, bf, c7, 44, 45, 53, 54, 0, 0) > Audio Controls GUID(a1f046d, 0, 0, 0, 0, 50, 49, 44, 56, 49, 44) > USB Receiver GUID(c534046d, 0, 0, 0, 0, 50, 49, 44, 56, 49, 44) > USB Receiver GUID(c534046d, 0, 0, 0, 0, 50, 49, 44, 56, 49, 44) > USB Receiver GUID(c534046d, 0, 0, 0, 0, 50, 49, 44, 56, 49, 44) > USB Audio CODEC GUID(290008bb, 0, 0, 0, 0, 50, 49, 44, 56, 49, 44) > USB Receiver GUID(c534046d, 0, 0, 0, 0, 50, 49, 44, 56, 49, 44) > Controller (Wireless Gamepad F710) GUID(c21f046d, 0, 0, 0, 0, 50, 49, 44, > 56, 49, 44) > > On 17/11/2015 03:58, Benjamin Moran wrote: > > Hi guys, > > I'm hard at work on my SDL2-style GameController implementation for > pyglet. If you're not familar with this, it's basically a way to > automatically map all common game controllers to a standard internal > layout. This means that your users controllers will just work as expected, > out of the box. > > Part of this implementation requires figuring out a unique ID for each > pyglet joystick, and checking it against a mapping database. On Linux, this > GUID comes from the devices bustype/product/vendor/version IDs. On Windows, > it comes from the DirectInput guidProduct string. That's where I need help. > > If anyone has a joystick/controller (that is not an Xbox 360 controller), > it would help me greatly if you could substitute the function below in the > pyglet\input\directinput.py file. (It's the same function, except with a > print statement that prints out the device GUID details). After > substituting the function, open up a Python interpreter and simply do: > >>> import pyglet > >>> pyglet.input.get_devices() > > Then, copy and paste the output you receive. This will allow me to confirm > that my code is working, and I can release an actual test shortly. The > Linux implementation is already working. I'll need OSX users to help out in > the near future, but not quite yet. > > Thanks in advance! > > def get_devices(display=None): > _init_directinput() > _devices = [] > > def _device_enum(device_instance, arg): > device = dinput.IDirectInputDevice8() > _i_dinput.CreateDevice(device_instance.contents.guidInstance, > ctypes.byref(device), None) > _devices.append(DirectInputDevice(display, device, > device_instance.contents)) > print(device_instance.contents.tszProductName, > device_instance.contents.guidProduct) > return dinput.DIENUM_CONTINUE > > _i_dinput.EnumDevices(dinput.DI8DEVCLASS_ALL, > dinput.LPDIENUMDEVICESCALLBACK(_device_enum), None, > dinput.DIEDFL_ATTACHEDONLY) > return _devices > > > > -- > You received this message because you are subscribed to the Google Groups > "pyglet-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] <javascript:>. > To post to this group, send email to [email protected] > <javascript:>. > Visit this group at http://groups.google.com/group/pyglet-users. > For more options, visit https://groups.google.com/d/optout. > > > -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/pyglet-users. For more options, visit https://groups.google.com/d/optout.
