muchimi / JoystickGremlinEx

Modified version of Joystick Gremlin to add features I wanted to have but were difficult to do as just a plugin, plus I wanted to run this as 64 bit and on a more current version of Python/QT.
GNU General Public License v3.0
35 stars 6 forks source link

JG 13.40.16ex (m25) - Error at launch or when selecting device tab #180

Open Lolo401 opened 5 hours ago

Lolo401 commented 5 hours ago

Probably linked to issue #179 but posted a new entry as unsure.

The following error popped up whenever JG EX m25 was launched. Acknowledging the error launched JG but clicking on any device tab resulted in the exact same error:

image

Lolo401 commented 5 hours ago

Note: JG EX m17 is launching just fine.

muchimi commented 3 hours ago

The button tracking changed from m17 - so this is probably related - and as is typical - works without issues here. I'll add more logging around that particular line.

muchimi commented 3 hours ago

So looking at the code logic, it would appear that you have devices that appear and disappear once gremlinEx has started because it's not picking up during initialization the VJOY devices that are defined (hence the key exception). I'll change the logic to check for this to happen so it can throw the appropriate error messages rather than blowing up.

muchimi commented 2 hours ago

The ID check code is in m26: https://github.com/muchimi/JoystickGremlinEx/releases/download/13.40.16ex_m/joystick_gremlin_13_40_16_m26.zip

muchimi commented 2 hours ago

It may be helpful here as well to understand what you are trying to do. Is this happening with a new profile? An old profile? If so, how old? Did the VJOY setup change in the meantime by adding devices or removing devices or changing their config? Was a device setup as an input device? etc, etc... Are you unplugging or plugging new things in? All these will help find what may be going on. I added code in vjoy remap to automatically re-read vjoy configuration if it's not finding a particular ID and at least not blow up the whole code by throwing an exception, and we can go from there!