-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME_controllers
140 lines (125 loc) · 7.35 KB
/
README_controllers
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
Gamepads and joysticks
the 'gamepad' group inside the config.ini file can be used to define how gamepad controls are picked up by the game.
three different joysticks (each with two axes), two hats and six buttons can be configured using the keywords shown below.
based on user preference and device limitations, the menu navigation can share axes/hat with the camera angle (axis_yaw/pitch) or the movement controls (axis_long/trans, hat_mov).
the integer value expected is either '1'+ for enabled items or '0' for disabled ones.
during flight the joystick's middle-band sensitivity can be tweaked via the inflection_x and inflection_y config.ini parameters, or a completely linear behaviour is applied if these parameters are undefined or set to 0.
the easiest way to visualize how this parameters affect the conversion between the joystick's input vs the output yaw and pitch is to open the assets/config_controller.ods in libreoffice and change the values show in red. the graphs will update automatically and they will follow the logic that is within the game.
inflection_x defines how wide the middle-band is. it's value is an integer best kept between 70-99. see it as a percentage based on the full range of values provided by the joystick.
inflection_y defines the function's ouput inflection point at the edges of the middle-band.
possible keywords:
[gamepad]
axis_yaw = 0 ; roll and yaw axis (initiates turns during flight)
axis_yaw_inv = false ; false - no inversion needed, true - axis values need inversion
axis_pitch = 0 ; pitch (moves camera up/down during flight)
axis_pitch_inv = false
axis_long = 0 ; longitudinal movement (aka forward / back)
axis_long_inv = false
axis_trans = 0 ; transversal movement (aka strafe left/right)
axis_trans_inv = false
axis_nav_ns = 0 ; menu navigation North / South
axis_nav_ns_inv = false
axis_nav_ew = 0 ; menu navigation East / West
axis_nav_ew_inv = false
axis_fire_R = 0 ; fire right-hand spell, also right mouse button equivalent (right trigger)
axis_fire_L = 0 ; fire left-hand spell, also left mouse button equivalent (left trigger)
hat_nav = 0 ; menu navigation North / South / East / West
hat_nav_inv = false ; invert vertical axis
hat_mov = 0 ; longitudinal and transversal movement
hat_mov_inv = false ; invert vertical axis
button_spell = 0 ; joystick button-press code used for displaying the spellbook
button_minimap = 0 ; half-screen minimap
button_fire_R = 0 ; fire right-hand spell, also right mouse button equivalent
button_fire_L = 0 ; fire left-hand spell, also left mouse button equivalent
button_fwd = 0 ; joystick button-press code used for forward movement
button_back = 0 ; joystick button-press code used for backward movement
button_esc = 0 ; escape key equivalent
axis_yaw_dead_zone = 3000 ; stick used for flight
axis_pitch_dead_zone = 3000 ; stick used for flight
axis_long_nav_dead_zone = 6000 ; stick used for menu navigation
axis_trans_nav_dead_zone = 6000 ; stick used for menu navigation
axis_long_dead_zone = 12000 ; stick converted to hat-like buttons
axis_trans_dead_zone = 12000 ; stick converted to hat-like buttons
trigger_dead_zone = 2048 ; trigger button-related dead zone
haptic_enabled = 0 ; set to 1 to try initialization of the controller's haptic engine
haptic_max_gain = 75 ; set GAIN value, if feature is supported. it limits the amplitude of all the effects between 0-100
inflection_x = 0; percentage 70-99, 0 for linear behaviour, see config_gamepad.ods
inflection_y = 0; percentage 50-80, 0 for linear behaviour, see config_gamepad.ods
Sample setups
XBOX controllers:
[gamepad]
; buttons:
; (Xbox A) = 1
; (Xbox B) = 2
; (Xbox X) = 3
; (Xbox Y) = 4
; (Xbox LBtn) = 5
; (Xbox RBtn) = 6
; (Xbox Back) = 7
; (Xbox Start) = 8
controller_id = 0 ; Change this to 1 or higher if you find your controller buttons are not working
axis_yaw = 4 ; roll and yaw - horizontal axis on the right joystick
axis_pitch = 5 ; pitch - vertical axis on the right joystick
axis_long = 2 ; longitudinal movement - vertical axis on the left joystick
axis_long_inv = true ; needs inversion
axis_trans = 1 ; transversal movement - horizontal axis on the left joystick
button_minimap = 3 ; half-screen minimap
button_spell = 1 ; spellbook
button_menu_select = 1 ; a secondary MLB equivalent for menu interaction
button_pause_menu = 7 ; Pause Options Panel
button_esc = 8 ; escape key equivalent
; button_fire_L = 2 ; a secondary action button
axis_dead_zone = 3000 ; increase if _mouse_ is unresponsive
trigger_dead_zone = 3000 ; increase if _mouse_ is unresponsive
; select either hat or joystick control below:
; menu navigation using the hat
;hat_nav = 1 ; menu navigation on the hat
;hat_nav_inv = true ; needs inversion on the vertical axis
; menu navigation using the left joystick:
axis_nav_ns = 2 ; menu navigation North / South
axis_nav_ns_inv = true
axis_nav_ew = 1 ; menu navigation East / West
axis_nav_ew_inv = false
; select either buttons or triggers for firing
; use buttons to fire
;button_fire_R = 6 ; fire right-hand spell - right button
;button_fire_L = 5 ; fire left-hand spell - left button
; use triggers to fire
axis_fire_R = 6 ; fire right-hand spell - right trigger
axis_fire_L = 3 ; fire left-hand spell - left trigger
haptic_enabled = 1 ; set to 1 to try initialization of the controller's haptic engine
haptic_max_gain = 75 ; set GAIN value, if feature is supported. it limits the amplitude of all the effects between 0 - 100
inflection_x = 80; percentage 70 - 99, 0 for linear behaviour
inflection_y = 50; percentage 50 - 80, 0 for linear behaviour
Logitech Attack 3 (the joystick shares flight and navigation modes, the 3-rd axis can be used for fwd-back movement)
[gamepad]
axis_yaw = 1 ; roll and yaw axis (initiates turns during flight)
axis_yaw_inv = false ; false - no inversion needed, true - axis values need inversion
axis_pitch = 2 ; pitch (moves camera up/down during flight)
axis_pitch_inv = false
;optional axis_long = 3 ; longitudinal movement (aka forward / back)
axis_long_inv = true
axis_nav_ns = 2 ; menu navigation North / South
axis_nav_ew = 1 ; menu navigation East / West
button_spell = 8 ; joystick button-press code used for displaying the spellbook
button_fire_R = 2 ; fire right-hand spell, also right mouse button equivalent
button_fire_L = 1 ; fire left-hand spell, also left mouse button equivalent
button_fwd = 6 ; joystick button-press code used for forward movement
button_back = 7 ; joystick button-press code used for backward movement
button_minimap = 9 ; half-screen minimap
Logitech Extreme 3D PRO (the joystick shares flight and navigation modes, the 4-th axis can be used for fwd-back movement)
[gamepad]
axis_yaw = 1 ; roll and yaw axis (initiates turns during flight)
axis_yaw_inv = false ; false - no inversion needed, true - axis values need inversion
axis_pitch = 2 ; pitch (moves camera up/down during flight)
axis_pitch_inv = false
; optional axis_long = 4 ; longitudinal movement (aka forward / back)
axis_long_inv = true
axis_nav_ns = 2 ; menu navigation North / South
axis_nav_ew = 1 ; menu navigation East / West
button_spell = 7 ; joystick button-press code used for displaying the spellbook
button_minimap = 9 ; half-screen minimap
button_fire_R = 2 ; fire right-hand spell, also right mouse button equivalent
button_fire_L = 1 ; fire left-hand spell, also left mouse button equivalent
button_fwd = 5 ; joystick button-press code used for forward movement
button_back = 3 ; joystick button-press code used for backward movement