FAQ  •  Register  •  Login

Gamepad profile for gamepad "Firestorm Dual Analog 3"

Forum rules
Post confirmed bugs and approved feature requests here. Unapproved feature requests will be deleted.

Please limit posts to One Feature per Thread unless features are closely related.
<<

Wuzzy

User avatar

Posts: 14

Joined: Sun Nov 04, 2012 10:46 am

Post Wed Nov 07, 2012 2:56 pm

Gamepad profile for gamepad "Firestorm Dual Analog 3"

Okay, as promised, here is my generalized profile for the gamepad "Firestorm Dual Analog 3" by ThrustMaster, Inc.
It is to be included in joystick_presets.ini

First some technical notes about the gamepad:
  • It has 12 buttons plus a "mode" button. None of them is labelled.
  • Is is an USB gamepad.
  • The device's USB ID is 044F:B315. I have reported it to The USB ID repository (pretty awesome project btw) and it is currently under review.
  • The detect string for my gamepad is "Mega World Thrustmaster dual analog 3.2" (a bit confusing, as it is sold as "Firestorm Dual Analog 3"; I do not know what this "Mega World" thing means)
  • I start counting the buttons from 0.
  • The raw button numbers and axis numbers are taken from the program jstest, an useful tool to test your joystick. It is part of the inpututils package. It reports you when you press which button and when which axis is how strongly pushed. It is very similar to the diagnostics mode in Bitfigher, but it is a standalone program for the console. It is a bit hard to obtain nowadays, the only copy I found is in the Arch User Repository here: https://aur.archlinux.org/packages/inpututils-cvs/. You can only use this package if you're an Arch Linux user or are at least are familar with Arch Linux's packaging system, sorry. If you know another program for joystick testing, please let me know.
  • Buttons 0-3 are "action buttons". They are black and round.
    They are located on the right part of the front side and are ordered this way:
      Code:

     3
    1 2
     0
  • Buttons 4,5,8 are shoulder buttons on the left side. 4 is the upper one, 5 the middle one, 8 the lower one. They are blue.
  • Buttons 6,7,9 are shoulder buttons on the right side. 6 is the upper one, 7 the middle one and 9 the lower one. They are blue.
  • Button 10 is the left stick and button 11 is the right stick. The sticks can be pressed and act as buttons, too. They are blue.
  • Besides two analog sticks there is also one D-Pad. There is also a "mode" button which can't be used for gameplay directg. It toggles the meaing of the D-Pad. There is also a LED to show you which mode the gamepad is using.
  • Left stick: horizontal axis is axis 0. vertical axis is axis 1,
  • Right stick: horizontal axis is axis 2, vertical axis is axis 3.
  • D-Pad: It uses two axes which report either extreme thereshold (if you press the pad) or 0 (if you don't), never something in between. I think this is a common practise for D-Pads in gamepads. Now this is special: The axis numbers which are reporterd to the PC depends if you activated the mode button or not. If you did, the D-Pad uses axis 4 as horizontal axis and axis 5 as vertical axis. If you did not press the mode button, the D-Pad uses axis number 0 as horizontal axis and axis number 1 as vertical axis. Yup, in this mode, the D-Pad shares the button IDs with the left stick.
I know this is much text; maybe I post some photos for illustration.

Finally, let's get to the profiles. To install the profiles, just put the text into the file "joystick_presets.ini".
Just pick one of those:

If you like to count from 0:
  Code:
[FirestormDualAnalog3]
; Firestorm Dual Analog 3 by ThrustMaster, Inc.
Name=Firestorm Dual Analog 3
SearchString=Thrustmaster dual analog 3
SearchStringIsSubString=Yes
MoveAxisLeftRight=0
MoveAxisUpDown=1
ShootAxisLeftRight=2
ShootAxisUpDown=3
; actually, raw buttons 0-3 are black, not white
; actually, raw buttons 4-11 are blue, not white
; actually, the buttons are not labelled at all. The numbers are just a means of identification
Button1=Raw:0;Label:0;color:White;Shape:Round
Button2=Raw:1;Label:1;color:White;Shape:Round
Button3=Raw:2;Label:2;color:White;Shape:Round
Button4=Raw:3;Label:3;color:White;Shape:Round
Button5=Raw:4;Label:4;color:White;Shape:RoundedRect
Button6=Raw:5;Label:5;color:White;Shape:RoundedRect
Button7=Raw:6;Label:6;color:White;Shape:RoundedRect
Button8=Raw:7;Label:7;color:White;Shape:RoundedRect
ButtonBack=Raw:8;Label:8;Color:White;Shape:RoundedRect
ButtonStart=Raw:9;Label:9;Color:White;Shape:RoundedRect
Button9=Raw:10;Label:10;color:White;Shape:Round
Button10=Raw:11;Label:11;color:White;Shape:Round
Button11=
Button12=
ButtonDPadUp=
ButtonDPadDown=
ButtonDPagLeft=
ButtonDPadRight=


If you like to count from 1:
  Code:
[FirestormDualAnalog3]
; Firestorm Dual Analog 3 by ThrustMaster, Inc.
Name=Firestorm Dual Analog 3
SearchString=Thrustmaster dual analog 3
SearchStringIsSubString=Yes
MoveAxisLeftRight=0
MoveAxisUpDown=1
ShootAxisLeftRight=2
ShootAxisUpDown=3
; actually, buttons 0-3 are black, not white
; actually, buttons 4-11 are blue, not white
; actually, the buttons are not labelled at all. The numbers are just a means of identification
Button1=Raw:0;Label:1;color:White;Shape:Round
Button2=Raw:1;Label:2;color:White;Shape:Round
Button3=Raw:2;Label:3;color:White;Shape:Round
Button4=Raw:3;Label:4;color:White;Shape:Round
Button5=Raw:4;Label:5;color:White;Shape:RoundedRect
Button6=Raw:5;Label:6;color:White;Shape:RoundedRect
Button7=Raw:6;Label:7;color:White;Shape:RoundedRect
Button8=Raw:7;Label:8;color:White;Shape:RoundedRect
ButtonBack=Raw:8;Label:9;Color:White;Shape:RoundedRect
ButtonStart=Raw:9;Label:10;Color:White;Shape:RoundedRect
Button9=Raw:10;Label:11;color:White;Shape:Round
Button10=Raw:11;Label:12;color:White;Shape:Round
Button11=
Button12=
ButtonDPadUp=
ButtonDPadDown=
ButtonDPagLeft=
ButtonDPadRight=


Please note:
  • The left lower shoulder button acts as Back button and the right lower shoulder button acts as start button. All other buttons have been mindlessly numbered from start to end. This default configuration may not be suitable for everyone and will most likely have to be edited. But as the important buttons, start and back, have sane (I think so) mappings, I don't see this as a problem. The remaining buttons can easily be re-mapped through the configuration menu and the player most likely not need to edit the file directly, well except he want to change the mappings for back and start, of course! ;-)
  • Also note that the profiles have been designed under the assumption that the mode LED is on, meaning the d-pad uses his own axis IDs. But in practise, it is almost irrelevant, you can navigate the menus with either axis, no matter if d-pad, left stick or right stick :D. The only real difference is that you can control the ship with the D-Pad, too if the mode LED is off, but that's just silly. :D
  • I used a detection substring instead of the full string. I bet there are similar, but not identical names for a product which is always sold under the same name. I wouldn't trust the autodetection to reliable detect such a gamepad always. Probably this means we should use another detection method for gamepads which is more reliable, for example the device's USB ID.
  • The analog sticks' axes are specified explicitly, but the D-Pad axes are not specified explicitly (is this even possible). But due to some kind of magic the diagnostics screen detects the D-Pad correctly (if mode LED is on, of course!)
  • A circle represents either a stick or one of the 4 action buttons.
  • A rounded rectangle represents one of the shoulder buttons.
  • For readability, I always picked the color white for all buttons. Dark blue and black on a black background are quite silly, I think. ;-)
  • Also note this is a highly general configuration and should be therefore suitable to be included in the game. I use a pretty customized configuration for this gamepad, but I won't suggest to include it into the game, as it fits MY needs, but not neccessarily the needs of someone else. MAYBE I'll post my personal config, too, in case anyone is interested.
<<

Fordcars

User avatar

Posts: 1016

Joined: Fri Apr 20, 2012 3:51 pm

Location: Some city, somewhere

Post Wed Nov 07, 2012 8:19 pm

Re: Gamepad profile for gamepad "Firestorm Dual Analog 3"

Wow you just wrote a novel 0_0
skybax: Why is this health pack following me?
bobdaduck: uh, it likes you.
<<

Wuzzy

User avatar

Posts: 14

Joined: Sun Nov 04, 2012 10:46 am

Post Thu Nov 08, 2012 11:07 am

TL;DR

TL;DR: I posted a gamepad configuration for a gamepad I have and I suggest to include this configuration into the file "joystick_presets.ini" so that this gamepad can be recognized in future versions of Bitfighter.
<<

Lone Wolf

User avatar

Posts: 157

Joined: Fri Mar 18, 2011 7:44 pm

Location: /home/muddy

Post Sat Nov 10, 2012 12:32 am

Re: Gamepad profile for gamepad "Firestorm Dual Analog 3"

Looks like someone is getting that dev badge...
if you're reading this, i'm sorry for how cringe my old posts are. i rarely play BF anymore, but if you ever want to find me, you can catch me on steam, or on discord @ muddy#7969
<<

raptor

Posts: 1046

Joined: Mon Oct 11, 2010 9:03 pm

Post Sat Nov 10, 2012 8:27 am

Re: Gamepad profile for gamepad "Firestorm Dual Analog 3"

The profile is now added to the game. Thanks!

Return to Bitfighter Features

Who is online

Users browsing this forum: No registered users and 39 guests

cron