Why even use a gamepad - isn't StarCitizen a PC game?

StarCitizen has a lot of possible actions and controls to bind, and it's still evolving as new features are added.



The controller may never fully replace the need for a keyboard, but it can certainly enhance the feel of virtual flight control.



The primary benefit of the gamepad is the 4 analog inputs - the 2 triggers, and 2 joysticks - as these are pressure sensitive.

This allows for incremental or 'gradual' application of multiple control inputs - something not possible in a basic mouse+keyboard setup.



Using the analog inputs for flight controls allows for finer degree of precision in your flight controls.







Gamepads can serve as the "poor man's dual-stick" option.

They're already familiar to most gamers, (somewhat) reasonably priced, and can work on PC with a wireless adapter.



...and if you watch enough ATV, you'll often see the devs making use of them. Hrm...





A note on modifier keys in StarCitizen

So what's wrong with the default gamepad layout?

Triggering the 4 main ABXY buttons (in the normal fashion) requires breaking thumb contact with the (R) joystick, effectively "letting go" of pitch/yaw flight control for a brief moment (problematic when trying to maintain an enemy in your sights).





for a brief moment (problematic when trying to maintain an enemy in your sights). The right joystick (R) controls pitch & yaw: but when the (LB) modifier is held as (R) is manipulated, the ship will strafe in the corresponding direction. As a consequence of these control actions sharing the same physical input (R), it is not possible to combine pitch/yaw with strafe manuevers - an important ability for omnidirectional control. Pitch/Yaw/Roll & Strafe can only be combined when they are bound to separate inputs. (ex, (R)+(L) )





Pitch/Yaw/Roll & Strafe can only be combined when they are bound to separate inputs. (ex, (R)+(L) ) 'Roll' requires modifier (LB)+ (L) x-axis, despite the close relation of 'roll' to 'yaw' (both handle rotational orientation), which is bound to the opposite joystick. However, The modifier (LB) with (R) activates strafe - which means it is simply not possible to combine roll with either pitch and/or yaw: another requirement for 6DoF control.





x-axis, despite the close relation of 'roll' to 'yaw' (both handle rotational orientation), which is bound to the opposite joystick. However, The modifier (LB) with (R) activates strafe - which means it is simply not possible to combine roll with either pitch and/or yaw: another requirement for 6DoF control. The modifier (LB) also alters the trigger actions, halting and preventing weapons from firing until released.





Towards a better gamepad binding layout

6DoF flight controls

1

2

3

4

5

6

pitch



yaw



roll



strafe up/down



strafe left/right



forward/backward



3 categories of control type: thrust: forward/back

rotational orientation: pitch, yaw, and roll



latteral movement: strafe up/down/left/right

three movement axes and all three rotational axes



For true 6DoF control: Forward/back are along one axis of travel: this maps well to an analog trigger, ex, (RT) - a one-axis analog input. This also feels very natural, akin to 'driving' in most games, where 'right trigger' = 'accelerate forward'. As forward/back are mutually exclusive (you can not travel in both directions at once), it is acceptable to require a modifier to enable 'reverse mode' on the same input.





Pitch & yaw should be bound to (L), to allow the right thumb (and control scheme) to make easy use of the ABXY buttons, while maintaining constant left thumb contact on the pitch/yaw control. This is vital in combat situations.





Strafe up/down/left/right should be bound to the (unmodified) joystick (R), to allow combined manipulations with (L) for omnidirectional control.





Roll - for true 6DoF, left/right would now need to be bound to the corresponding bumper buttons to allow mixture with the other flight inputs - However, as left/right is also 'either/or', and this control greatly benefits from an analog axis input, it makes little sense to tie up 2 buttons for movement along 1 axis. Modifier+(L) x-axis was used in the original gamepad layout, and this works well enough, alternating between roll & yaw input, as it still allows for combinations of roll+pitch.





We need to add more modifiers, with bindings assinged by 'category'



Flight:

Pitch

Yaw

Roll

Strafe

Thrust forward

Thrust reverse

Speed Limiter increase/decrease

Cruise-control

Decouple (click)

Offensive:

Weapon 1 (click)

Weapon 2

Missile Lock

Missile Fire

Defensive:

Cycle Countermeasure

Launch Countermeasure

Targeting:

Nearest Hostile

Cycle Hostile Target

Pin Target

Cycle Pinned Targets

Ship Functions:

Flight Ready

Landing Mode

Spool Quantum Drive

Launch Quantum Drive

Activate Scanning Mode

Scanning Ping

Activate Mining Mode

Pilot Functions:

Interact / Use

Freelook

Exit Seat

Eject

Mobiglass

Camera:

Switch Camera

3rd POV Camera Freelook

Camera pitch/yaw

Camera zoom in

Camera zoom out







Binding Bugs in 3.7:

Download: 6DOF gamepad XML config The gamepad has a total of 18 controller inputs available: 14 buttons - recognized as a simple on/off state when pressed, and the 4 analog inputs: 2 triggers, and 2 joysticks.Fortunately, the limited functionality of these 18 basic inputs can be extended by the use of modifier keys.(There is currently no in-game method of assigning custom modifier keys, but it can be done by hand-editing the exported XML binding.)To re-state the obvious: When a modifier key is pressed, it changes the game action assigned to the target input (button/joystick/trigger).By extension, obviously, this also means you can not trigger 'modified' and 'unmodified' states of theinput at the same time.This has implications for what game functions are mapped on to the same physical inputs, asNot all bindings cause conflicts - some functions may safely 'overlap' at the same time - but others interrupt and cancel-out eachothers input actions.The current gamepad flight mode layout was designed to match the "on foot" controls, where up on the left-stick = "move forward", and right-stick "looks around".This also imitates a HOTAS setup, where the left stick manages the throttle, and the right stick handles direction.This is particularly noticeable with the joystick actions while the modifier (LB) is pressed - for example:Overlaps on the analog inputs should be avoided, unless the underlying actions do not interfere with each other.Upon every fresh restart of the game, the gamepad config must be applied again.