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
<http://groups.google.com/group/pyglet-users>. For more options,
visit https://groups.google.com/d/optout
<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]
<mailto:[email protected]>. To post to this
group, send email to [email protected]
<mailto:[email protected]>. Visit this group at
http://groups.google.com/group/pyglet-users. For more options, visit
https://groups.google.com/d/optout.