• Welcome to PiBoSo Official Forum. Please login or sign up.
 
March 28, 2024, 11:09:29 AM

News:

World Racing Series beta14 available! :)


Joysticks with square output

Started by HornetMaX, January 16, 2015, 10:00:06 AM

Previous topic - Next topic

HornetMaX

Hi all,

essentially all the joypads I've seen have the vertical and horizontal axes of a stick with a circular maximum range.

What I mean with that is: if push the stick fully left, without moving it vertically, you reach (let's say) the -100 value, it's maximum.
Now if you push the stick slightly up or down, the horizontal value will change (and go down to let's say -98).

This means that, for example, if you put the steering on the horizontal axis and the rider fwd/back lean on the vertical axis of the same stick, you will not be able to have maximum steer at the same time of maximum rider lean fwd/back. Bad.

Even if you only use one axis of a stick (e.g. steering on horizontal axis, nothing on vertical axis) you still have a problem: any time you push involuntarily left but also a bit up (or down), you may be not steering to the max.

An easy way to check this is to use the windows Game Controller: when you move the stick all around, the little cross in the square does not cover the entire square, but a (more or less) circular part of it.



I know some players are annoyed by that (me, of course, but others too) so I was wondering if it was worth to spend some time on a solution.

The basic idea is to create an input plugin that applies a non-linearity (a "clever" one, that does not get too much in the way) to the joypad sticks output in order to make the output "more square".
As every joyopad is different, the "amount" of non-linearity would have to be tunable via a little external app.


Out of curiosity, how many of you are bothered by all this ?

MaX.

nuovaic

In windows game controller, my joystick seems to have a square output, it gets into the 4 corners ok. Don't know why, I guess it shouldn't, but I have no problem with max steering with max throttle / brake on track also. Logitech extreme 3d pro.

h106frp

Im sure the old 'flight' type sticks used to go to the corners so it may be a 'pad' type problem.

Might be worth looking if either side of the joystick ball the aperture  is not circular and physically limiting the travel, could be easily fixed with the application of a file ;)


Has anybody thought of making a simple hand controller? These are only £3.50 and are slide type sticks, just use one axis on each pad, steer left/right, 1 or 2 for brakes and one for throttle (could probably get all three under the fingers of one hand, be like riding the faders on a mixing desk ;D). So three pads and a few buttons could give quite a nice controller with no axis mixing problems.



These are the more typical joypad stick, about £6.50 with the breakout board £3.50 without. This would give the more typical rocking action but could be used the same way.

An old pad could be used for an interface and build it for less than £20, or the cheaper Bodner board if you wanted to develop it further at a later date.

Laid out old arcade style i think you could have quit a nice and easily constructed custom controller.

)

HornetMaX

Quote from: nuovaic on January 16, 2015, 10:15:08 AM
In windows game controller, my joystick seems to have a square output, it gets into the 4 corners ok. Don't know why, I guess it shouldn't, but I have no problem with max steering with max throttle / brake on track also. Logitech extreme 3d pro.

Quote from: h106frp on January 16, 2015, 10:30:21 AM
Im sure the old 'flight' type sticks used to go to the corners so it may be a 'pad' type problem.

Sure, proper joysticks do not have this problem (I have a Thrustmaster t1600m andIm pretty sure it's square, just can't get used to it for GPB).

Quote from: h106frp on January 16, 2015, 10:30:21 AM
Might be worth looking if either side of the joystick ball the aperture  is not circular and physically limiting the travel, could be easily fixed with the application of a file ;)
Hmmmm ... the hole in the outer shell is definitely circular and that's what's limiting the range right now:



But I'm not 100% sure that if with a "squared" hole, the stick will follow properly.

MaX.

h106frp

January 16, 2015, 10:53:21 AM #4 Last Edit: January 16, 2015, 11:04:52 AM by h106frp
If you can get the controller apart (top cover off) you could try it direct from the stick and see if it behave differently.

Maybe a 'retro' mod, apparently these optional ones from the Atari 2600 had an optical sensor for steering input 8) note 'driving' rather than the supplied 'paddle' ones.


Surprised nobody has done a modern version for use with games like MotoGP on the PS, you would think that they could sell enough to make it worth the effort. Just add a brake and a couple of buttons and ready to go.

Hawk

I first started out controlling GPB with a joystick. It has a square movement on it and everything worked fine. Then when I wanted to go fully manual control I bought an xbox 360 game-pad to be able to access more buttons for the manual control, but unknowing to me at the time the sticks have a circular movement; I just couldn't get on with it at all. So after a long period of trying to get used to this major disadvantage in steering with circular stick movement I ended up reverting back to using my joystick. A shame, because I really would like to go fully manual like Klax, but until I can get hold of a square movement game-pad, or ideally a proper motorcycle controller of the likes that DD and other guys are creating I'll just have to stick with my joystick for now.  :(

Hawk.

Toomes1

January 16, 2015, 11:36:41 AM #6 Last Edit: January 16, 2015, 11:41:53 AM by Toomes1
Good subject guys and thanks.
Definitely going to try cutting the circle out to a square on the 360pad just to see if it works with max positions on the bike.......hope it works!
I think my controller is starting to wear some now so let me see if I can get a replacement locally and I'll start cutting later.

HornetMaX do you think the outer casing of the pad just might restrict it's squared route.

HornetMaX

Quote from: ptrshpt on January 16, 2015, 11:01:15 AM
Xbcd has an option for square joystick output called Full range
Interesting, I'll have a look.

Quote from: ptrshpt on January 16, 2015, 11:01:15 AM
Another problem i found was with the left/right leaning. In real life riders do it in one movement while in game the rider is sliding. Xbcd let you map axes as buttons which i did for left/right lean.
Can't you just assign the button to the rider movement in GPB ?

Quote from: Toomes1 on January 16, 2015, 11:36:41 AM
HornetMaX do you think the outer casing of the pad just might restrict it's squared route.
The case is surely restricting, but knowing if without the case the stick itself would be capable of full range is another story.
Also notice that without the case the stick may saturate (i.e. you move it more to the left, but nothing chnages as it's already as its max value).
That's actually what happens on my xbox one pad: the output is almost square, but the sticks saturate a lot. Bad.

MaX.

teeds

January 16, 2015, 12:15:56 PM #8 Last Edit: January 16, 2015, 12:17:33 PM by teeds
I have played with some of the joysticks in these controllers and I would be careful with the filing option. If you look at the image below you have the blue circle representing your current movement with the red square being what you're really after. The joystick I played with (ps3) seemed to jam up at the extremes so I figured that the restrictive circle was due to physical constraints of the joystick mechanism. If anyone is considering this before you attack your controller with a file make sure the joystick is happy with the travel you're after.
Also if you reduce the saturation via software tweaks you'll get movement detected only in the black square which will reduce your throw considerably but will achieve a square detection zone. No right or wrong here but something to be considered with a control that already has little throw, looks like about a 25-30% reduction on TDC and SDC.





HornetMaX

Quote from: teeds on January 16, 2015, 12:15:56 PM
Also if you reduce the saturation via software tweaks you'll get movement detected only in the black square which will reduce your throw considerably but will achieve a square detection zone. No right or wrong here but something to be considered with a control that already has little throw, looks like about a 25-30% reduction on TDC and SDC.
The "software" solution is smarter than that: more or less is something that maps each point in your blue circle into each point of the red square.
(in fact is even smarter than what I've just said, ad for "small" movements it does nothing, the mapping only starts when you're approaching the border of the blue circle).

MaX.

HornetMaX

Had a quick look at xbcd and from the comments I've seen, the "Full Range" option seems to do what we need.
I still don't understand how it does it properly without any parameter (just an on/off switch), that's very strange. I suspect it does it in a cheapo way that would not be suitable for us (but may be OK for other usages).

If I'm not wrong somebody here (Klax75 ?) is using xbcd ? Could you do a test for me and tell me is "Full range" squarifies the output of a stick ?
I'm reading that it doesn't work with win x64 ...

MaX.

teeds

I know someone that could use what you describe then Max, sounds good. I've just loaded up that xbcd v1.07 on win7 x64 with no problems but it doesn't seem to pick up my ps3 controller I use with the SCP driver package, anyone know if it works with Motion Joy? Maybe it only works with actual Xbox controllers?

Docfumi

January 16, 2015, 02:33:08 PM #12 Last Edit: January 16, 2015, 02:38:59 PM by docfumi
Hi all, I just tried the Xbcd but somehow the console does not show up, therefore I can not assign buttons and so on.
I am running WIN7. Any help, or should I uninstall and forget about it?

Cheers and thanks
Doc

I use the XBOX 360 USB controller
Below is a screenshot

http://postimg.org/image/8wh07mrpd/
I didn't lose the race, I ran out of laps.

doubledragoncc

Hi guys. I have been looking at this problem for a while. In the controller modding community it is known as a "SLOW" controller. The best way to cure it is to carefully and equally open the round face on the hole in the top of the controller body. This cures 95% of slow controllers but it is not just the opening not always being manufactured correctly, but that the potentiometer is defective. These pots are very small and very sensitive. I have been modding my XBOX controller to add additional buttons for foot shifting and also am testing the addition of analog axis outside the gamepad for rear brake for foot brake. The original pots have such a short throw that it makes all actions over sensitive and thats why its so bad for the steering. I am considering making a scratch built hand controller using HT 10K pots with gears. All my systems have gears on the pots to make the movement fast but not too sensitive therefore giving more control. The main point is that there are no 2 axis on one control stick or whatever, only one, this means dedicated movement of the axis. To do this on a gamepad would mean better control but you would need more hands lol. If your gamepad is slow and fileing the round hole does not cure it then you probably have a bad pot. Software will not allow the full amount of throw of the pots as it reduces the throw of the good axis to compensate for the bad throw axis. I am not so good at writing my words so hope you understand what I am trying to say about squaring the movement with software.

One thing I would like to ask you all who are having this problem is would you want a hand controller that had additional foot controls to spread the amount of controls the hands have to cover? I find it so much faster to shift with my foot as it relieves me having to use 2 fingers for shifting and I am using the foot I would in real life. I wold just like to know if this is a Mod or something you would like to see in a new hand controller?

Great thread with good folks again.

DD   
GPBOC Live Streams: https://www.youtube.com/c/IASystemsComputerControls; i7 12700K 5.1GHz Z690 ASUS Strix Z690-A Mobo 32GB 3600MHz DDR4 RAM ASUS Strix RTX3080 OC 10GB DDR6X ASUS Ryujin 360 AOI Cooler ROG Thor 1200w PSU in ROG Helios Tower Case.

Klax75

Quote from: HornetMaX on January 16, 2015, 12:31:48 PM
Had a quick look at xbcd and from the comments I've seen, the "Full Range" option seems to do what we need.
I still don't understand how it does it properly without any parameter (just an on/off switch), that's very strange. I suspect it does it in a cheapo way that would not be suitable for us (but may be OK for other usages).

If I'm not wrong somebody here (Klax75 ?) is using xbcd ? Could you do a test for me and tell me is "Full range" squarifies the output of a stick ?
I'm reading that it doesn't work with win x64 ...

MaX.

Yes I've used XBCD, for years. But the last several months I haven't since my older X-Box 360 controller the right bumper has been acting up. So I have been using the X-Box One controller that I have. Now I've gotten use to the X-Box One controller. Although I don't like how the bumpers buttons on that you can't press in on any part of them. Like the X-Box 360 controller. I don't have XBCD installed right now. :/