Tag Archives: CH Products

Elite Dangerous and CH Products HOTAS

Not the most inspiring of titles, but then it’s deliberately anti-linkbait 🙂 If you are not playing Elite Dangerous you may want to go find something more interesting to read… no, seriously 😛 For everyone else, this is very CH Product centric, but may provide some ideas for other HOTAS setups.

Step 1: The Joystick Map

Download the Joystick map and CMS file and put them in your documents folder under a directory called CH Control Manager (you many need to create this if you haven’t used the CH Control Manager before).

Plugin your Fighterstick and Throttle, then launch the CH Control Manager and load the ed.map. The click the Download button to enable the map. This basically combines the stick and throttle into a single DirectX control. Due to limitations on the number of buttons available some buttons are mapped to key presses.

Few notes about the map:

  • I don’t use joystick modes, so it doesn’t matter what colour LED is lit on either the throttle or stick
  • The throttle control on the stick is mapped to a CMS scrip that disables the HOTAS Throttle when it’s fully back, and enables it when it’s fully forward. If your HOTAS throttle axis doesn’t seem to work then move the throttle wheel on the joystick to the other extreme.
  • I use the pinky button on the stick as shift and the map makes heavy use of shift.

You can use the Keycheck and Test/Calibrate options from the CH Control Manager to test the button and axis mappings.

Step 2: Mapping the game controls

Next up you want to copy the custom bindings for the above map into your Elite Dangerous data folder under C:\Users\USER\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\Custom.binds. Change USER to be your username. AppData is a hidden directory so you’ll need to enable Show Hidden Files.

I should point out that I’ve not actually tried this, I’m just assuming it’ll work. Worse case scenario you’ll need to go in game and just map the actions from the layout guide to the in game controls.

Step 3: Learn the map

Ah, the fun bit. Basically you can run the joysticks in a number of different modes depending on the situation at hand. So that you’ve still got access to all the controls you’re going to need some controls are duplicated elsewhere, albeit using the shift button to get to them. I’ve provided a layout guide for the map which shows which button maps to what action. It’s split over 3 pages depending on the mode you’re in.

Normal Operation

Page 1 of the joystick layout shows the default buttons configuration for the sticks with the ships gear up and without the shift pinky button pressed. They joystick is mapped to Pitch and Roll with the Throttle Wheel being used to engage (fully forward) and disengage (fully back) the main HOTAS Throttle Axis. Pressing button 3 on the throttle (middle of the three buttons on the throttle handle) toggles the joystick Y axis between roll and yaw.

The HOTAS Throttle Axis is mapped across the full range, so fully back gives you full reverse throttle, fully forward give you full forward throttle. The exception is when in Supercruise where this is no reverse so fully back on the throttle is minimum Supercruise speed and fully forward is maximum Supercruise. Under normal flight modes zero throttle is somewhere roughly in the middle of the axis range. If you need to stop set the Joystick Throttle to fully back to disengage the HOTAS Throttle Axis and set it to 0.

The Thumb Stick on the joystick is uses for Lateral and Vertical Thrust. The dead-zone is quite large on these as I find the stick doesn’t tend to centre as well as it could. If you find yourself thrusting vertically or laterally with no input check the stick is centred and possibly increase the dead zone.

The Joystick Hat Switch is usually used to provide digital inputs for Pitch and Yaw, making small adjustments in Supercruise and while docking easy. Pressing the shift (pinky button) on the joystick and button 2 on the throttle at the same time (shift-b2) toggles head look. The Joystick Hat Switch is used to look around the cockpit when head look is enabled. Press shift-b2 again to disengage head look and return the Joystick Hat Switch to Pitch and Yaw.

firing and Targeting is performed on the joystick with the Trigger performing primary fire and button 3 (the side button) used for secondary fire. button 2 toggles hard points, although they will automatically deploy if not already deployed when trying to fire.

A digital roll control is mapped to side 4-way Switch on the joystick, as is Engine Boost and Reverse Throttle.

Navigating the ships systems is done using the two 4-way Switches and the Hat Switch on the side of the throttle. The top 4-way Switch is used to bring up the Target Panel (left), Systems Panel (right) and Radar Panel (down). Pressing up returns you to the normal forward view. The direction you move the 4-way Switch matches where the panels are in relation to the cockpit. The Throttle Hat Switch is used to move between the various tabs on the UI windows (left and right) and to highlight items on the window (up and down). Use the bottom 4-way Switch to increase (right) and decrease (left) highlighted values, or button 4 on the throttle to select the currently highlighted entry. For example, to request docking you might press left on the top 4-way Switch to bring up the Target Panel, press right on the Throttle Hat Switch to select Contacts on the Target Panel, press down on the Throttle Hat Switch to select the station, then press button 4 on the throttle to bring up the interaction dialog, then down on the Throttle Hat Switch to request docking permission, then button 4 on the throttle to confirm.

Power management is performed using the forward 4-way Switch on the throttle with the directions matching that on the UI (left for Systems, forward for Engines, right for Weapons and back to reset).

You can see the other assignments on the layout diagram.

Shifted Operation

Page 2 of the joystick layout shows the button assignments when the joystick shift (pinky) button is pressed. The greyed out assignments are the same as the unshifted assignments. Under shifted operation the joystick Hat Switch changes to a digital lateral and vertical thrust and the digital roll control that is mapped to side 4-way Switch on the joystick becomes yaw controls. There’s also access to additional targeting and sensor options on the stick.

Shift controls on the throttle allow you to toggle and reset head look, plus toggle/deploy various ancillary functions on the ship.

Axis mappings remain the same in shifted operation.

Landing Overrides

Page 3 of the joystick layout show the button assignments when the ships landing gear is deployed. This overrides basic targeting, fire group control and FTL drive control functions to provide all axis of motion via the two 4-way Switches and the Hat Switch on the top of the joystick. While docking (and especially while undocking) it’s recommended to disable the HOTAS Throttle Axis by moving the joystick Throttle Axis fully back. You can then use the thumb stick, joystick axis and the various digital controls to effectively land.

The greyed out assignments in this mode are the same as when the landing gear is not deployed. Sifted operation remains the same with the exception that changing fire groups is now mapped to Roll.

Watching it in action

There is a youtube video that goes over some of these layouts, and a thread on the Beta Discussion forum for those who are in the beta.

Feel free to mess about with the maps, and tweak them to your needs – or just to use them as an example of how to do some (very) basic CMS scripting with the CH Products HOTAS.

Joystick Setup – The Confessions of an OCD Space Sim Addict

My first ever computer was a BBC Model B1 which my parents bought when I was about 9 or 10. I credit this machine with two things: firstly it got me into programming and ultimately set me on my current career path; but secondly it also got me addicted to space sims.

Elite, when it came out, was an absolutely ground breaking game in many ways. It was the first game to truly blow me away and, in many respects, I consider it to be the best game ever made. The premiss behind the game was simple: you fly a space ship between star systems, buying and selling goods to make money, and fighting off pirates (and/or the police if you took the piracy route yourself). The implementation, given it had to fit into 32K, was near flawless with eight rich and varied galaxies to visit with numerous star systems and space stations you could dock with. I was hooked, and have been looking for something to match it ever since2.

It’s little wonder that when David Braben said he was raising money through Kickstarter for a new version of Elite I simply threw my wallet at him and say “here, take my money”. I also threw vast sums of money at Ebuyer to order a new gaming rig to handle the game.

The one thing I didn’t have to buy was a joystick. As a long standing fan of space and flight games I’ve owned a CH Products HOTAS3 setup for years. It’s a far cry from my old Elite setup where I had a non-self centring graphics paddle with a single button (made docking a cinch as I could set the ship up and leave the joystick where it was). The CH Products HOTAS I have has 3-axis on both controllers, 4 individual buttons, 3 sets of 4 way hat switches and one 8 way hat switch, for a total of 24 buttons per controller, or 48 physical buttons in total. One of those buttons can be set as a shift button giving you 94 virtual buttons. You can also set one of three modes using another button which, in theory, gives access to 276 virtual buttons, and 18 virtual axis. Finally you can write custom scripts which basically give you any combination of Axis and Buttons you could ever want4.

Personally I don’t get on with the mode settings on the joystick so I tend to just use a single shift button. Also, one of the buttons is difficult to activate thanks to it’s location, plus the throttle axis on the joystick is made redundant by the throttle controller, so generally I set the sticks up to give me 5 axis and up to 92 virtual buttons. That’s still quite a few things to configure, especially when I have my own preference for setting things up and the fact that games never conform to this.

When you consider the above you can start to understand why, for a good game with many configurable controls, it takes me in the order of 3 days just to configure the joysticks. Elite has 8 usable axis and somewhere in the order of 70 actions that can be bound to buttons (of which about 50-60 are relevant as some simply provide alternatives to axis – e.g. bindings for increase and decrease throttle as well as the option to use a throttle axis). Deciding which of the 8 axis to map to the 5 axis I want to use, and where to group the 50 or so buttons takes time. A lot of time.

The new beta release of Elite Dangerous has introduced new control settings which means my old configuration has been lost – annoying, but it gives me a chance to sit down and refine things. This quite literally involved two hours of me sitting at the control settings screen in game, noting down the various controls available on my laptop, and making notes on special joystick layout cheat sheets that I have. I also have the joysticks to hand so I can test out how comfortable/intuitive certain combinations and layouts may be.

Stage two will be to start mapping the primary axis and controls and checking I’m comfortable with those (usually fairly quick as the whole up/down/left/right/shoot thing is fairly straightforward, although Elite prioritises roll over yaw which takes some getting used to). Stage 3 is to then map all the other commands, a process that can take a while to refine as you sometimes don’t find issues with the layout until you’re using it in anger – there’s nothing worse than ejecting from your ship by mistake because in the heat of the moment you pressed down on a hat switch, not forward.

Stage 4 is to actually play the damn game 🙂 Thankfully, with Elite still being in beta and having featuring missing and some annoying bugs I’m happy to just dip in and out getting the setup perfected. It means that when the full version of the game is released I’ll be all set and ready to go day 1.

For those of you who think that investing the amount of time I do into setting the game up correctly is ludicrous, you need to consider that I will easily spend hundreds of hours playing this game (in fact, if I don’t rack up over 500 hours I’d suggest the game didn’t meet expectations). If you’re going to spend that much time doing something you want to make sure it’s setup right.


1 We later upgraded it to a B+ with 64Kb of memory, and a daughter board that contained a spreadsheet, database and word processor all on ROMs which meant loading this applications was incredibly fast.

2 Privateer 2 came close, which is why I’m very excited about Star Citizen and what that may be like. Much as I loved Eve it’s not really flying the ships so not quite the same thing. The X series of games tried really hard, but ultimately they were just too buggy and just lacked… something.

3 H.O.T.A.S.: Hands On Throttle and Stick; a pair of joysticks similar to the setup used in fighter planes where you have the throttle in one hand and the joystick in the other, and then a bunch of buttons on both meaning you can control everything without taking your hands off them.

4 What limitations there are are really imposed by Direct X, not the joysticks.