Author Topic: Analog input : XBox 360 controller (on PC) triggers  (Read 769 times)

Offline dma

  • Newbies
  • *
  • Posts: 6
  • Karma: +0/-0
Analog input : XBox 360 controller (on PC) triggers
« on: August 26, 2017, 02:03:25 pm »
Hello, thanks for this great emulator.
It runs so much better than MAME on not top-recent systems,
and features enough of my favorite games to replace MAME as my main arcade emulator. ;)

I also got a question concerning analogue controls configuration:

I wonder if it would be possible to configure input triggers (X360 pad with XBCD drivers),
actually detected as "joyaxis" in latest build,
to input only positive values on the complete trigger press range?

Because when i try to configure it on the current latest build (fbaxp_029742.7z),
these triggers only register as "full range" joyaxis, and then expect it to be "centered".
So not pressing the trigger at all, already input +3,
when it should be 0 and then go up to a maximum value, when progressively pressing it, to work on the game (Super Hang On).

Thanks in advance for your answer!
« Last Edit: August 31, 2017, 12:43:59 pm by dma »

Offline dink

  • Administrator
  • *****
  • Posts: 2653
  • Karma: +226/-0
  • feed the horse yumyum
Re: Analog input : triggers
« Reply #1 on: August 26, 2017, 06:37:38 pm »
Hi dma,
You're right, the triggers should be zero'd out to begin with - to do this you'll need to run the device calibration wizard - at least that's what it's called in WinXP under Control Panel -> Game Controllers -> Properties -> settings tab -> Calibrate.   It might be slightly different on other systems :)

best regards,
- dink

Offline dma

  • Newbies
  • *
  • Posts: 6
  • Karma: +0/-0
Re: Analog input : triggers
« Reply #2 on: August 27, 2017, 12:43:54 pm »
Hello dink,

Many thanks for your answer. :)

I tried configuring the XBCD driver and also recalibrate the controller,
but no luck for FBA to see the unpressed state as zero.
It's always +3 unpressed and goes down to -4 when the trigger fully pressed.

For information, with this XBCD "split axis" triggers mode, triggers are assigned to Z (left) and RZ (right) axes.


And also to compare, in MAME DINPUT (the custom build that i use with Direct Input support from insertmorecoins.es),
i have to assign the triggers as "Joy 1 Axe Z -" (left trigger) and "Joy 1 Rotation Z -" (right trigger).

To get this done in MAME DINPUT, i have to set these assignments three time consecutively in control setup.
Example for left trigger: first it registers "Joy 1 Axe Z", then "Joy 1 Axe Z +", and finally the working "Joy 1 Axe Z -".

I guess this is utterly specific, perfect symbol of "want to cover every PC configuration? unlimited task!". ;)
Anyhow, i can't play racing games in FBA for now, and that's all I get for this.
« Last Edit: August 27, 2017, 02:13:27 pm by dma »

Offline dma

  • Newbies
  • *
  • Posts: 6
  • Karma: +0/-0
Re: Analog input : triggers
« Reply #3 on: August 31, 2017, 12:35:20 pm »
After posting my last message, i searched if it was a problem specific to my system,
that XBCD driver transmits negative values for triggers pressure.
And so after several keywords combination alchemy, approx. 5 years old posts browsing and many dead URLs,
i found some answers, but also more interestingly, a working solution. :)

So, it appears that XBCD drivers have been especially configured to transmit values from 0 to -32767 on trigger key press, on purpose :
Quote from: XBCD
The negative values of Z and RZ were selected as defaults for the split axis profile after testing in a number of titles, and finding that the positive ranges treated them as always being depressed once calibrated, some of these titles include some Racing titles such as Need for speed, adventure titles such as tombraider legend, and other titles that can use the triggers when assigned.
http://vba-m.com/forum/thread-668.html

Also seeing how my setup behaved in FBA, i wasn't so sure about my MAME settings...
Because if FBA was seeing the the trigger pressure as full axis going positive max to negative min,
wasn't MAME setting "Joy 1 Axe Z -" actually starting detecting pressure from half trigger pressing?
And after retrying some games, yes, MAME was starting detecting trigger pressure from half of the trigger pressing! :S
It isn't the case for some PC games i play, like Burnout Paradise, which detects the full trigger pressure.


So i searched for possible alternatives
and found a much better X360 controller home-made driver,
which also allows separate axes for triggers, but then is ten times more configurable,
especially on how those trigger should transmit their pressure!

So this is the driver to use: http://lavendy.net/special/driver/x360c/index.html
The page is in Japanese but the .en.zip versions got full English text in the joystick control panel.
Also the installation of this driver, and how it is integrated in the OS, are much more cleaner than XBCD.

And then, after tweaking the configuration of this driver, triggers work now perfectly fine on FBA! :biggrin:
I attached screenshots of the working triggers configuration in this driver.

Now if you excuse me, i have to get back to Super Hang On. ;)

Thanks again for such a great emulator, games really run smoother than with MAME on my setup.
« Last Edit: August 31, 2017, 12:42:51 pm by dma »