forked from tmj-fstate/maszyna
-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathdriverkeyboardinput.cpp
244 lines (237 loc) · 12.6 KB
/
driverkeyboardinput.cpp
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
/*
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
2.0. If a copy of the MPL was not
distributed with this file, You can
obtain one at
http://mozilla.org/MPL/2.0/.
*/
#include "stdafx.h"
#include "driverkeyboardinput.h"
bool
driverkeyboard_input::init() {
default_bindings();
recall_bindings();
bind();
m_bindingsetups.clear();
return true;
}
void
driverkeyboard_input::default_bindings() {
m_bindingsetups = {
{ user_command::aidriverenable, GLFW_KEY_Q | keymodifier::shift },
{ user_command::aidriverdisable, GLFW_KEY_Q },
// jointcontrollerset,
{ user_command::mastercontrollerincrease, GLFW_KEY_KP_ADD },
{ user_command::mastercontrollerincreasefast, GLFW_KEY_KP_ADD | keymodifier::shift },
{ user_command::mastercontrollerdecrease, GLFW_KEY_KP_SUBTRACT },
{ user_command::mastercontrollerdecreasefast, GLFW_KEY_KP_SUBTRACT | keymodifier::shift },
// mastercontrollerset,
{ user_command::secondcontrollerincrease, GLFW_KEY_KP_DIVIDE },
{ user_command::secondcontrollerincreasefast, GLFW_KEY_KP_DIVIDE | keymodifier::shift },
{ user_command::secondcontrollerdecrease, GLFW_KEY_KP_MULTIPLY },
{ user_command::secondcontrollerdecreasefast, GLFW_KEY_KP_MULTIPLY | keymodifier::shift },
// secondcontrollerset,
{ user_command::mucurrentindicatorothersourceactivate, GLFW_KEY_Z | keymodifier::shift },
{ user_command::independentbrakeincrease, GLFW_KEY_KP_1 },
{ user_command::independentbrakeincreasefast, GLFW_KEY_KP_1 | keymodifier::shift },
{ user_command::independentbrakedecrease, GLFW_KEY_KP_7 },
{ user_command::independentbrakedecreasefast, GLFW_KEY_KP_7 | keymodifier::shift },
// independentbrakeset,
{ user_command::independentbrakebailoff, GLFW_KEY_KP_4 },
{ user_command::trainbrakeincrease, GLFW_KEY_KP_3 },
{ user_command::trainbrakedecrease, GLFW_KEY_KP_9 },
// trainbrakeset,
{ user_command::trainbrakecharging, GLFW_KEY_KP_DECIMAL },
{ user_command::trainbrakerelease, GLFW_KEY_KP_6 },
{ user_command::trainbrakefirstservice, GLFW_KEY_KP_8 },
{ user_command::trainbrakeservice, GLFW_KEY_KP_5 },
{ user_command::trainbrakefullservice, GLFW_KEY_KP_2 },
{ user_command::trainbrakehandleoff, GLFW_KEY_KP_5 | keymodifier::control },
{ user_command::trainbrakeemergency, GLFW_KEY_KP_0 },
{ user_command::trainbrakebasepressureincrease, GLFW_KEY_KP_3 | keymodifier::control },
{ user_command::trainbrakebasepressuredecrease, GLFW_KEY_KP_9 | keymodifier::control },
{ user_command::trainbrakebasepressurereset, GLFW_KEY_KP_6 | keymodifier::control },
{ user_command::trainbrakeoperationtoggle, GLFW_KEY_KP_4 | keymodifier::control },
{ user_command::manualbrakeincrease, GLFW_KEY_KP_1 | keymodifier::control },
{ user_command::manualbrakedecrease, GLFW_KEY_KP_7 | keymodifier::control },
{ user_command::alarmchaintoggle, GLFW_KEY_B | keymodifier::shift | keymodifier::control },
{ user_command::wheelspinbrakeactivate, GLFW_KEY_KP_ENTER },
{ user_command::sandboxactivate, GLFW_KEY_S | keymodifier::shift },
{ user_command::reverserincrease, GLFW_KEY_D },
{ user_command::reverserdecrease, GLFW_KEY_R },
// reverserforwardhigh,
// reverserforward,
// reverserneutral,
// reverserbackward,
{ user_command::waterpumpbreakertoggle, GLFW_KEY_W | keymodifier::control },
// waterpumpbreakerclose,
// waterpumpbreakeropen,
{ user_command::waterpumptoggle, GLFW_KEY_W },
// waterpumpenable,
// waterpumpdisable,
{ user_command::waterheaterbreakertoggle, GLFW_KEY_W | keymodifier::control | keymodifier::shift },
// waterheaterbreakerclose,
// waterheaterbreakeropen,
{ user_command::waterheatertoggle, GLFW_KEY_W | keymodifier::shift },
// waterheaterenable,
// waterheaterdisable,
{ user_command::watercircuitslinktoggle, GLFW_KEY_H | keymodifier::shift },
// watercircuitslinkenable,
// watercircuitslinkdisable,
{ user_command::fuelpumptoggle, GLFW_KEY_F },
// fuelpumpenable,
// fuelpumpdisable,
{ user_command::oilpumptoggle, GLFW_KEY_F | keymodifier::shift },
// oilpumpenable,
// oilpumpdisable,
{ user_command::linebreakertoggle, GLFW_KEY_M },
// linebreakeropen,
// linebreakerclose,
{ user_command::convertertoggle, GLFW_KEY_X },
// converterenable,
// converterdisable,
{ user_command::convertertogglelocal, GLFW_KEY_X | keymodifier::shift },
{ user_command::converteroverloadrelayreset, GLFW_KEY_N | keymodifier::control },
{ user_command::compressortoggle, GLFW_KEY_C },
// compressorenable,
// compressordisable,
{ user_command::compressortogglelocal, GLFW_KEY_C | keymodifier::shift },
{ user_command::motoroverloadrelaythresholdtoggle, GLFW_KEY_F | keymodifier::control },
// motoroverloadrelaythresholdsetlow,
// motoroverloadrelaythresholdsethigh,
{ user_command::motoroverloadrelayreset, GLFW_KEY_N },
{ user_command::notchingrelaytoggle, GLFW_KEY_G },
{ user_command::epbrakecontroltoggle, GLFW_KEY_Z | keymodifier::control },
{ user_command::trainbrakeoperationmodeincrease, GLFW_KEY_KP_2 | keymodifier::control },
{ user_command::trainbrakeoperationmodedecrease, GLFW_KEY_KP_8 | keymodifier::control },
{ user_command::brakeactingspeedincrease, GLFW_KEY_B | keymodifier::shift },
{ user_command::brakeactingspeeddecrease, GLFW_KEY_B },
// brakeactingspeedsetcargo,
// brakeactingspeedsetpassenger,
// brakeactingspeedsetrapid,
{ user_command::brakeloadcompensationincrease, GLFW_KEY_H | keymodifier::shift | keymodifier::control },
{ user_command::brakeloadcompensationdecrease, GLFW_KEY_H | keymodifier::control },
{ user_command::mubrakingindicatortoggle, GLFW_KEY_L | keymodifier::shift },
{ user_command::alerteracknowledge, GLFW_KEY_SPACE },
{ user_command::hornlowactivate, GLFW_KEY_A },
{ user_command::hornhighactivate, GLFW_KEY_S },
{ user_command::whistleactivate, GLFW_KEY_Z },
{ user_command::radiotoggle, GLFW_KEY_R | keymodifier::control },
{ user_command::radiochannelincrease, GLFW_KEY_R | keymodifier::shift },
{ user_command::radiochanneldecrease, GLFW_KEY_R },
{ user_command::radiostopsend, GLFW_KEY_PAUSE | keymodifier::shift | keymodifier::control },
{ user_command::radiostoptest, GLFW_KEY_R | keymodifier::shift | keymodifier::control },
{ user_command::radiocall3send, GLFW_KEY_BACKSPACE },
{ user_command::cabchangeforward, GLFW_KEY_HOME },
{ user_command::cabchangebackward, GLFW_KEY_END },
// viewturn,
// movehorizontal,
// movehorizontalfast,
// movevertical,
// moveverticalfast,
{ user_command::moveleft, GLFW_KEY_LEFT },
{ user_command::moveright, GLFW_KEY_RIGHT },
{ user_command::moveforward, GLFW_KEY_UP },
{ user_command::moveback, GLFW_KEY_DOWN },
{ user_command::moveup, GLFW_KEY_PAGE_UP },
{ user_command::movedown, GLFW_KEY_PAGE_DOWN },
{ user_command::carcouplingincrease, GLFW_KEY_INSERT },
{ user_command::carcouplingdisconnect, GLFW_KEY_DELETE },
{ user_command::doortoggleleft, GLFW_KEY_COMMA },
{ user_command::doortoggleright, GLFW_KEY_PERIOD },
{ user_command::doorpermitleft, GLFW_KEY_COMMA | keymodifier::shift },
{ user_command::doorpermitright, GLFW_KEY_PERIOD | keymodifier::shift },
{ user_command::doorpermitpresetactivatenext, GLFW_KEY_PERIOD | keymodifier::shift | keymodifier::control },
{ user_command::doorpermitpresetactivateprevious, GLFW_KEY_COMMA | keymodifier::shift | keymodifier::control },
// dooropenleft,
// dooropenright,
{ user_command::dooropenall, GLFW_KEY_SLASH | keymodifier::shift },
// doorcloseleft,
// doorcloseright,
{ user_command::doorcloseall, GLFW_KEY_SLASH | keymodifier::control },
// doorsteptoggle,
{ user_command::doormodetoggle, GLFW_KEY_SLASH | keymodifier::shift | keymodifier::control },
{ user_command::departureannounce, GLFW_KEY_SLASH },
{ user_command::doorlocktoggle, GLFW_KEY_S | keymodifier::control },
{ user_command::pantographcompressorvalvetoggle, GLFW_KEY_V | keymodifier::control },
{ user_command::pantographcompressoractivate, GLFW_KEY_V | keymodifier::shift },
{ user_command::pantographtogglefront, GLFW_KEY_P },
{ user_command::pantographtogglerear, GLFW_KEY_O },
// pantographraisefront,
// pantographraiserear,
// pantographlowerfront,
// pantographlowerrear,
{ user_command::pantographlowerall, GLFW_KEY_P | keymodifier::control },
{ user_command::heatingtoggle, GLFW_KEY_H },
// heatingenable,
// heatingdisable,
{ user_command::lightspresetactivatenext, GLFW_KEY_T | keymodifier::shift },
{ user_command::lightspresetactivateprevious, GLFW_KEY_T },
{ user_command::headlighttoggleleft, GLFW_KEY_Y },
// headlightenableleft,
// headlightdisableleft,
{ user_command::headlighttoggleright, GLFW_KEY_I },
// headlightenableright,
// headlightdisableright,
{ user_command::headlighttoggleupper, GLFW_KEY_U },
// headlightenableupper,
// headlightdisableupper,
{ user_command::redmarkertoggleleft, GLFW_KEY_Y | keymodifier::shift },
// redmarkerenableleft,
// redmarkerdisableleft,
{ user_command::redmarkertoggleright, GLFW_KEY_I | keymodifier::shift },
// redmarkerenableright,
// redmarkerdisableright,
{ user_command::headlighttogglerearleft, GLFW_KEY_Y | keymodifier::control },
{ user_command::headlighttogglerearright, GLFW_KEY_I | keymodifier::control },
{ user_command::headlighttogglerearupper, GLFW_KEY_U | keymodifier::control },
{ user_command::redmarkertogglerearleft, GLFW_KEY_Y | keymodifier::control | keymodifier::shift },
{ user_command::redmarkertogglerearright, GLFW_KEY_I | keymodifier::control | keymodifier::shift },
{ user_command::redmarkerstoggle, GLFW_KEY_E | keymodifier::shift },
{ user_command::endsignalstoggle, GLFW_KEY_E },
{ user_command::headlightsdimtoggle, GLFW_KEY_L | keymodifier::control },
// headlightsdimenable,
// headlightsdimdisable,
{ user_command::motorconnectorsopen, GLFW_KEY_L },
// motorconnectorsclose,
{ user_command::motordisconnect, GLFW_KEY_E | keymodifier::control },
{ user_command::interiorlighttoggle, GLFW_KEY_APOSTROPHE },
// interiorlightenable,
// interiorlightdisable,
{ user_command::interiorlightdimtoggle, GLFW_KEY_APOSTROPHE | keymodifier::control },
// interiorlightdimenable,
// interiorlightdimdisable,
{ user_command::instrumentlighttoggle, GLFW_KEY_SEMICOLON },
// instrumentlightenable,
// instrumentlightdisable,
{ user_command::dashboardlighttoggle, GLFW_KEY_SEMICOLON | keymodifier::shift },
{ user_command::timetablelighttoggle, GLFW_KEY_APOSTROPHE | keymodifier::shift },
{ user_command::generictoggle0, GLFW_KEY_0 },
{ user_command::generictoggle1, GLFW_KEY_1 },
{ user_command::generictoggle2, GLFW_KEY_2 },
{ user_command::generictoggle3, GLFW_KEY_3 },
{ user_command::generictoggle4, GLFW_KEY_4 },
{ user_command::generictoggle5, GLFW_KEY_5 },
{ user_command::generictoggle6, GLFW_KEY_6 },
{ user_command::generictoggle7, GLFW_KEY_7 },
{ user_command::generictoggle8, GLFW_KEY_8 },
{ user_command::generictoggle9, GLFW_KEY_9 },
{ user_command::batterytoggle, GLFW_KEY_J },
// batteryenable,
// batterydisable,
{ user_command::motorblowerstogglefront, GLFW_KEY_N | keymodifier::shift },
{ user_command::motorblowerstogglerear, GLFW_KEY_M | keymodifier::shift },
{ user_command::motorblowersdisableall, GLFW_KEY_M | keymodifier::control }
// coolingfanstoggle
// tempomattoggle
// springbraketoggle
// springbrakeenable
// springbrakedisable
// springbrakeshutofftoggle
// springbrakeshutoffenable
// springbrakeshutoffdisable
// springbrakerelease
};
}
//---------------------------------------------------------------------------