deathkiller / jazz2

🎮 · Jazz² Resurrection: Open-source reimplementation of Jazz Jackrabbit 2
https://deat.tk/jazz2/
GNU General Public License v3.0
492 stars 18 forks source link

Shooting button stuck when Wacom tablet is connected, on Linux with 0.7.2 #67

Closed grepwood closed 2 years ago

grepwood commented 2 years ago

Whenever my Wacom graphic tables is connected, the character will keep on shooting to no end.

OS: Linux Jazz2 version: 0.7.2

deathkiller commented 2 years ago

Is it possible it acts as gamepad? Shooting is mapped on right trigger.

grepwood commented 2 years ago

It gets detected as a controller by the game, which is correct. It's essentially a USB interfaced pointing device (mouse) with the extra features of having extra buttons for graphic editing, and button press sensitivity - the mat of the tablet has different scale of sensitivity. My Wacom Intuos S has 4096 levels of sensitivity and this is used by graphic editing software like Gimp or Krita to determine how hard should a brush be pressed against the canvas. Additionally, the mat's 2D geometry is scaled to the 2D geometry of the total logical graphic display so that the tablet can tell the computer what part of the screen receives the input, i.e. the X-axis middle of the mat will correspond to the middle of a single screen setup, but it will correspond to the mid-section of a two screen setup, etc. So, if you really really want to, you can use a graphic tablet as a mouse if you lack one.

By default, having the tablet connected to the computer but left alone and uninteracted, shouldn't yield this kind of response from any software.

Also, a friend of mine reported to me that this issue also occurs on Windows with her tablet, though the model is unknown to me.

deathkiller commented 2 years ago

Actions on triggers are hard-coded because triggers cannot be used in control remapping. So I will add switch to turn off these hard-coded actions probably.

grepwood commented 2 years ago

Please be careful not to break actual gamepad/joystick support when limiting support for tablets. I'm eager to test.

deathkiller commented 2 years ago

Before I make the changes, can you try to go to Controls settings and press Delete key on every assigned gamepad button? Then check if the problem persists.

coreybruce commented 2 years ago

Having the same problem when my Xbox one controller is connect via Bluetooth on Linux

dragon99919 commented 2 years ago

Can confirm the second case as well - using Steam Deck here (and Steam Input), and whenever game starts, character starts shooting until I press the trigger manually, then it stops. Happens with both Xbox One controller and Steam Deck build-in controller. Also, no idea if that's a case for a buddy here above, but does your character always auto-run as well? I cannot seem to walk normally, and I tried pressing 'B' button on both controllers - no change whatsoever.

deathkiller commented 2 years ago

Run is on the left trigger, maybe it can be related.

I'm going to rewrite Jazz² Resurrection to C++, it should have better performance and more supported platforms and devices, so it doesn't make much sense to fix anything here now. As a workaround you can unmap gamepad in Controls settings using Delete key.

deathkiller commented 2 years ago

This should be fixed in new C++ version, so this will not be resolved in this C# version.

coreybruce commented 2 years ago

Confirmed not fixed on the latest 0.7.3

it still does it also there is another controller bug which I will report to do with it getting the incorrect input from a xbox one controller that I will report .

deathkiller commented 2 years ago

Yes, as I said, it will not be fixed here (because I can't fix it anyway, it's a bug in 3rd-party library), it should be already fixed there - https://github.com/deathkiller/jazz2-native - C++ port of Jazz² Resurrection with a lot of improvements. It's not released yet, it will (probably) be version 1.0.0.

coreybruce commented 2 years ago

Ohh right so this is the new native version you are talking about, sorry I made a pointless report about a controller issue which probs will be resolved with this new version so I will edit it.