Page 1 of 1

Always get penalty time

PostPosted: 18 May 2019, 20:05
by TurboWafflz
Pretty much whenever I start a race I get penalty time for accelerating before "set", however my feet aren't even touching my pedals. I have tried calibrating my pedals with jstest-gtk, but it doesn't help. I'm using a Microsoft Sidewinder Force Feedback USB wheel (I'm actually only using it as a way to connect my Sidewinder pedals, but I don't think it matters.) on Kubuntu 17.10 (yes, I know it's lost support, but I can't upgrade now) with SuperTuxKart 1.0. Any ideas on how I can fix this?

Re: Always get penalty time

PostPosted: 18 May 2019, 22:17
by QwertyChouskie
You could try running:
{l Code}: {l Select All Code}
supertuxkart --gamepad-visualization

This will show you what inputs STK is receiving.

Also, if you tell me what is preventing the upgrade to 18.04, I may be able to help.

Re: Always get penalty time

PostPosted: 19 May 2019, 00:10
by Auria
QwertyChouskie {l Wrote}:You could try running:
{l Code}: {l Select All Code}
supertuxkart --gamepad-visualization

This will show you what inputs STK is receiving.

Also, if you tell me what is preventing the upgrade to 18.04, I may be able to help.


To expand upon this, it most likely means that some input device you have is constantly being registered as pressed. Try going in the options screen and disabling any input device you don't use; make sure your input devices are calibrated properly; and indeed gamepad-visualisation can help see what input STK is receiving

Re: Always get penalty time

PostPosted: 19 May 2019, 01:31
by TurboWafflz
I've tried using,
{l Code}: {l Select All Code}
supertuxkart --gamepad-visualization
and it looks fine (although, my pedals output the maximum positive signal when unpressed, and the maximum negative when fully pressed), but it still doesn't work. Is there any way to calibrate the device in STK? I have already calibrated it with jstest-gtk.

In case it helps, here's an explanation of my rather strange setup:
I'm using a Logitech Driving Force GT wheel, however I don't have the pedals for it, so I use the pedals connected to my Sidewinder. Steering is mapped to is axis 0 of the Logitech. The Logitech device has nothing but Steering and menu buttons mapped to it. My pedals are axes 1 and 2 of the Sidewinder, and are the only controls mapped to that device. For some reason, if I map fire, skid, etc. directly to buttons on my wheel, they only sometimes respond and sometimes stick (any idea why this happens? It didn't happen in 0.9.), so they are mapped to keyboard keys which are mapped to the buttons on my wheel using Qjoypad.

EDIT: I just realized that Look Back, Rescue, and pause are also mapped directly to the wheel. This probably shouldn't matter, but in case it does, here it is.

EDIT 2: I noticed that it doesn't happen until I've pressed the pedal at least once after starting the game. If I look at gamepad visualization, when the game is first started, the axis registers as 0, however after it is pressed and unpressed, it registers as the maximum positive value. I'm guessing this is the problem, but I don't have any idea how to fix it.



In response to:
QwertyChouskie {l Wrote}:Also, if you tell me what is preventing the upgrade to 18.04, I may be able to help.

The only thing keeping me from upgrading is that my internet connection speed means it would take 8 hours to download, and I can't really do that right now.

Re: Always get penalty time

PostPosted: 19 May 2019, 22:15
by Auria
TurboWafflz {l Wrote}:my pedals output the maximum positive signal when unpressed


that is the reason, since STK is receiving the maximum positive signal, it probably thinks you are trying to accelerate. I'll admit I'm not very familiar with how pedals work, but I'd have expected an unpress pedal to emit 0 (neutral)

Re: Always get penalty time

PostPosted: 20 May 2019, 10:27
by Wuzzy
I just took out my old steering wheel to test this on my own because I was like … WTF? :D

And indeed, it's the same for my pedals as well (USB). Maximum positive value when unpressed (the green bar is to the right), minimum negative value when pressed. 0 is half-pressed. Whoops, I did not expect this either. Interesting.

I first thought this is dumb, but when I think about it, it makes sense: If pedals would only use positive/negative values, they would throw away half of the possible value range and thus precision. So I think that's probably why it was made that way.

But I have no idea if all (or at least most) pedals work like this.

Maybe the solution to this is to add a checkbox in STK for this “special” axis behaviour.

Re: Always get penalty time

PostPosted: 20 May 2019, 17:00
by onpon4
The analog triggers on the XBox 360 controller are similar, except they're full-negative when depressed rather than full-positive. So far as I know this is the usual case for something like an analog button.

My games handle this by simply treating each direction from 0 as a separate control, so e.g. if you have a control set to "axis 0 +", negative values are treated as zero for that particular control. Some games may have to acknowledge that opposite-direction-range as well, though, and STK might be one of them.

Re: Always get penalty time

PostPosted: 20 May 2019, 17:47
by Wuzzy

The analog triggers on the XBox 360 controller are similar, except they're full-negative when depressed rather than full-positive.


Oh nooooooooooooooooooooooo! :O :O :O

I'm really pissed off by this.

Re: Always get penalty time

PostPosted: 21 May 2019, 00:17
by TurboWafflz
Here's how I managed to fix it (not a perfect solution, but it works):
1. Look at your pedal bar in gamepad visualization
2. Hold your pedal down not all the way, but far enough to register a negative value near 0
3. Go into your control configuration, and set accelerate/brake by pushing down fully and releasing to about 0

If you did it right, the control setting for accel/brake should show the axis of your pedal with a minus at the end (in my case "Axis 1 -").