[AD] Issue with DirectInput-only mode |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
I've been having problems with both the default combined
XInput/DirectInput mode and Steam's own input API, as described at:
https://www.allegro.cc/forums/thread/618290
So I decided to try turning off XInput and just use pure DirectInput.
However, I have a 100% reproducible bug when connecting a particular
pair of controllers. One is an official Xbox 360 controller, the other
is a cheap 3rd party Xbox 360 controller.
If I start the game with both already connected, or if I connect them
simultaneously, there is no problem. But if I connect one, then the
other (the order doesn't matter), one of them will fail to respond to
inputs - but if I press inputs on the other, it's as if I pressed the
input on both that controller AND the newly connected controller.
Here is some debug output after enabling DEBUGMODE. I turned off XInput
by turning off ALLEGRO_CFG_XINPUT.
dinput I wjoydxnu.cpp:1003 joystick_enum_callback [
17.73569] Joystick 0 initialized, GUID: f8bd5190-fbd6-11e8-8014445535400
dinput I wjoydxnu.cpp:1136 joydx_merge [
17.74460] Merged, num joysticks=1
dinput D wjoydxnu.cpp:889 joystick_enum_callback [
18.83082] Device f8bd5190-fbd6-11e8-8014445535400 still exists
dinput D wjoydxnu.cpp:889 joystick_enum_callback [
21.93956] Device f8bd5190-fbd6-11e8-8014445535400 still exists
dinput I wjoydxnu.cpp:1003 joystick_enum_callback [
21.97031] Joystick 1 initialized, GUID: f8c25aa0-fbd6-11e8-8024445535400
dinput I wjoydxnu.cpp:1136 joydx_merge [
21.98685] Merged, num joysticks=2
dinput D wjoydxnu.cpp:889 joystick_enum_callback [
23.14051] Device f8bd5190-fbd6-11e8-8014445535400 still exists
dinput D wjoydxnu.cpp:889 joystick_enum_callback [
23.14371] Device f8c25aa0-fbd6-11e8-8024445535400 still exists