Titan One Device: Coding your own accessibility – Part 1

This article was first published in the Game Accessibility Nexus website on March 27 2020. The resource for accessibility in videogames! To read the original article, click here.

When I struggled with using standard Xbox or PS4 controllers due to my muscle wasting condition (Duchenne Muscular Dystrophy) I called the great gaming charity Special Effect who introduced me to the Titan One (T1) gaming adapter. This crossover device allows you to fully mod your controller and gives you the choice to use the most accessible controller or Keyboard & Mouse for you on any console. However, don’t make the mistake that I did by thinking that it is just plug-and-play. To achieve this, you need to connect the Titan One to a console and computer so you can access your programmed scripts.

In this series of guides, I will explain the basics of this language and hopefully help you discover ways to make your gaming experience more accessible. Please bear in mind that I don’t claim to be an expert coder, I’m partially self-taught and have had some assistance. There is a Titan Two device, but it requires a completely new script language which I haven’t learned yet.

What You Need

To create your own button/joystick remaps, toggles, combos you will need to download the GTuner Pro software from the ConsoleTuner website. The GTuner Pro software has an intuitive interface for you to quickly and easily program the Titan One to your own needs. It is straightforward to use once you learn the scripting basics. There are 2 input methods: Visual Scripting allows you to drag-and-drop ID Functions to create a sequence which can then be converted into scripting language.

Connecting the Hardware

The Titan One device has 3 important ports to understand in order to make sure everything runs smoothly.  

  • The main USB on the T1 plugs straight into the console
  • The USB port passthrough connects your controller to the T1
  • The Program Micro-USB at the side connects the T1 to your PC

Please note that in order to enable controller crossover you will require both controllers for authentication. To initially authenticate your controller on a different console you:

  1. Plug original controller into the USB passthrough
  2. Disconnect original controller
  3. Finally plug in the controller of your choice
  4. Start gaming

Creating your Scripts

Now that the hardware nitty-gritty is over and done with, I will demonstrate how simple and easy it is to remap controls using the GTuner Pro software.   

All scripts require a main section where advanced scripting happens. Always remember to open and close the main section with curly brackets { and }.

Button remaps must be written before the Main section otherwise the script will not work. You can remap buttons for most PlayStation, XBOX or Nintendo controllers. The Main section will remain blank for remapping, but it is still a crucial part of the script otherwise you will receive an error message when you come to compile it.

I will demonstrate how to remap buttons on a PS4 controller. In this example the L2 button originally is used to shoot and the R2 is for aiming. I will interchange their functionalities with a couple of lines.

Remapping Aim & Shoot button

remap PS4_L2 –> PS4_R2;        //Shoot     

remap PS4_R2 –> PS4_L2;         //Aim    

  1. Always begin by typing the command remap otherwise the swapped actions will not be detected as script
  2. Write the button with the original input being remapped which is PS4_L2 (Aiming action)  
  3. Adding arrows is optional but I recommend their addition for clarity
  4. Now write the button input you would prefer to use instead which is PS4_R2 (Shooting action)
  5. Always end remapping sequences with the correct syntax, a semi-colon ‘;’ otherwise you will receive a syntax error
  6. Having a comment with the name of the action is optional but I recommend the addition for clarity. Comments are the text after the //.
  7. Now repeat the above steps to remap the Aim button from PS4_R2 to PS4_L2 to close the remap loop

It is possible to create remaps between a PS4 and XB1 controller crossover, the steps are similar but the remap sequence must end with the XB1 button output: (see example below)

remap PS4_L2   –> XB1_RT;        //Shoot        

remap PS4_R2  –> XB1_LT;        //Aim    

Troubleshooting tips:

  • If you receive a syntax error when compiling the script just check that you haven’t forgotten to include a semi-colon at the end of a remap sequence

If you want to add a function on top of an existing function, then don’t write the remap in a closed loop. (see example below) In this case we are not interchanging the actions between UP & DOWN, but instead making DOWN work as UP. This way both buttons will perform the same action.  

remap PS4_UP  –> PS4_DOWN;

Now this guide will demonstrate advanced remapping scripts including a sequence of 3 buttons. The remap is written in the same format as before. The trick here is to write these remaps in an unbroken loop. (see example from Arkham Knight below)  

remap PS4_L1  –> PS4_TRIANGLE;     //Counter 

remap PS4_TRIANGLE   –> PS4_CIRCLE;    //Stun   

remap PS4_CIRCLE –> PS4_L1;                 //Call Batmobile

A Main section should always be included when writing any script including remaps with opening ‘{‘ and closing ‘}’ curly brackets otherwise your script will fail.

I hope this introductory guide to the Titan One device and how to write your own remapping script has been helpful. Now you have the option to customise your controller to suit your abilities. In the next guide we will dive straight into toggle scripts.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: