Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
RazerKeyboard.cs
Go to the documentation of this file.
1using System;
4using Microsoft.Xna.Framework.Input;
5
7
8internal class RazerKeyboard : RgbKeyboard
9{
11
12 private readonly EffectHandle _handle = new EffectHandle();
13
15
17 {
18 {
19 (Keys)27,
20 RazerKey.Esc
21 },
22 {
23 (Keys)112,
24 RazerKey.F1
25 },
26 {
27 (Keys)113,
28 RazerKey.F2
29 },
30 {
31 (Keys)114,
32 RazerKey.F3
33 },
34 {
35 (Keys)115,
36 RazerKey.F4
37 },
38 {
39 (Keys)116,
40 RazerKey.F5
41 },
42 {
43 (Keys)117,
44 RazerKey.F6
45 },
46 {
47 (Keys)118,
48 RazerKey.F7
49 },
50 {
51 (Keys)119,
52 RazerKey.F8
53 },
54 {
55 (Keys)120,
56 RazerKey.F9
57 },
58 {
59 (Keys)121,
60 RazerKey.F10
61 },
62 {
63 (Keys)122,
64 RazerKey.F11
65 },
66 {
67 (Keys)123,
68 RazerKey.F12
69 },
70 {
71 (Keys)49,
72 RazerKey.D1
73 },
74 {
75 (Keys)50,
76 RazerKey.D2
77 },
78 {
79 (Keys)51,
80 RazerKey.D3
81 },
82 {
83 (Keys)52,
84 RazerKey.D4
85 },
86 {
87 (Keys)53,
88 RazerKey.D5
89 },
90 {
91 (Keys)54,
92 RazerKey.D6
93 },
94 {
95 (Keys)55,
96 RazerKey.D7
97 },
98 {
99 (Keys)56,
100 RazerKey.D8
101 },
102 {
103 (Keys)57,
104 RazerKey.D9
105 },
106 {
107 (Keys)48,
108 RazerKey.D0
109 },
110 {
111 (Keys)65,
112 RazerKey.A
113 },
114 {
115 (Keys)66,
116 RazerKey.B
117 },
118 {
119 (Keys)67,
120 RazerKey.C
121 },
122 {
123 (Keys)68,
124 RazerKey.D
125 },
126 {
127 (Keys)69,
128 RazerKey.E
129 },
130 {
131 (Keys)70,
132 RazerKey.F
133 },
134 {
135 (Keys)71,
136 RazerKey.G
137 },
138 {
139 (Keys)72,
140 RazerKey.H
141 },
142 {
143 (Keys)73,
144 RazerKey.I
145 },
146 {
147 (Keys)74,
148 RazerKey.J
149 },
150 {
151 (Keys)75,
152 RazerKey.K
153 },
154 {
155 (Keys)76,
156 RazerKey.L
157 },
158 {
159 (Keys)77,
160 RazerKey.M
161 },
162 {
163 (Keys)78,
164 RazerKey.N
165 },
166 {
167 (Keys)79,
168 RazerKey.O
169 },
170 {
171 (Keys)80,
172 RazerKey.P
173 },
174 {
175 (Keys)81,
176 RazerKey.Q
177 },
178 {
179 (Keys)82,
180 RazerKey.R
181 },
182 {
183 (Keys)83,
184 RazerKey.S
185 },
186 {
187 (Keys)84,
188 RazerKey.T
189 },
190 {
191 (Keys)85,
192 RazerKey.U
193 },
194 {
195 (Keys)86,
196 RazerKey.V
197 },
198 {
199 (Keys)87,
200 RazerKey.W
201 },
202 {
203 (Keys)88,
204 RazerKey.X
205 },
206 {
207 (Keys)89,
208 RazerKey.Y
209 },
210 {
211 (Keys)90,
212 RazerKey.Z
213 },
214 {
215 (Keys)144,
216 RazerKey.NumLock
217 },
218 {
219 (Keys)96,
220 RazerKey.Numpad0
221 },
222 {
223 (Keys)97,
224 RazerKey.Numpad1
225 },
226 {
227 (Keys)98,
228 RazerKey.Numpad2
229 },
230 {
231 (Keys)99,
232 RazerKey.Numpad3
233 },
234 {
235 (Keys)100,
236 RazerKey.Numpad4
237 },
238 {
239 (Keys)101,
240 RazerKey.Numpad5
241 },
242 {
243 (Keys)102,
244 RazerKey.Numpad6
245 },
246 {
247 (Keys)103,
248 RazerKey.Numpad7
249 },
250 {
251 (Keys)104,
252 RazerKey.Numpad8
253 },
254 {
255 (Keys)105,
256 RazerKey.Numpad9
257 },
258 {
259 (Keys)111,
260 RazerKey.NumpadDivide
261 },
262 {
263 (Keys)106,
264 RazerKey.NumpadMultiply
265 },
266 {
267 (Keys)109,
268 RazerKey.NumpadSubtract
269 },
270 {
271 (Keys)107,
272 RazerKey.NumpadAdd
273 },
274 {
275 (Keys)13,
276 RazerKey.NumpadEnter
277 },
278 {
279 (Keys)110,
280 RazerKey.NumpadDecimal
281 },
282 {
283 (Keys)44,
284 RazerKey.PrintScreen
285 },
286 {
287 (Keys)145,
288 RazerKey.Scroll
289 },
290 {
291 (Keys)19,
292 RazerKey.Pause
293 },
294 {
295 (Keys)45,
296 RazerKey.Insert
297 },
298 {
299 (Keys)36,
300 RazerKey.Home
301 },
302 {
303 (Keys)33,
304 RazerKey.PageUp
305 },
306 {
307 (Keys)46,
308 RazerKey.Delete
309 },
310 {
311 (Keys)35,
312 RazerKey.End
313 },
314 {
315 (Keys)34,
316 RazerKey.PageDown
317 },
318 {
319 (Keys)38,
320 RazerKey.Up
321 },
322 {
323 (Keys)37,
324 RazerKey.Left
325 },
326 {
327 (Keys)40,
328 RazerKey.Down
329 },
330 {
331 (Keys)39,
332 RazerKey.Right
333 },
334 {
335 (Keys)9,
336 RazerKey.Tab
337 },
338 {
339 (Keys)20,
340 RazerKey.CapsLock
341 },
342 {
343 (Keys)8,
344 RazerKey.Backspace
345 },
346 {
347 (Keys)162,
348 RazerKey.LeftCtrl
349 },
350 {
351 (Keys)91,
352 RazerKey.LeftWindows
353 },
354 {
355 (Keys)164,
356 RazerKey.LeftAlt
357 },
358 {
359 (Keys)32,
360 RazerKey.Space
361 },
362 {
363 (Keys)165,
364 RazerKey.RightAlt
365 },
366 {
367 (Keys)93,
368 RazerKey.RightMenu
369 },
370 {
371 (Keys)163,
372 RazerKey.RightCtrl
373 },
374 {
375 (Keys)160,
376 RazerKey.LeftShift
377 },
378 {
379 (Keys)161,
380 RazerKey.RightShift
381 },
382 {
383 (Keys)192,
384 RazerKey.OemTilde
385 },
386 {
387 (Keys)189,
388 RazerKey.OemMinus
389 },
390 {
391 (Keys)219,
392 RazerKey.OemLeftBracket
393 },
394 {
395 (Keys)221,
396 RazerKey.OemRightBracket
397 },
398 {
399 (Keys)226,
400 RazerKey.OemBackslash
401 },
402 {
403 (Keys)186,
404 RazerKey.OemSemicolon
405 },
406 {
407 (Keys)222,
408 RazerKey.OemApostrophe
409 },
410 {
411 (Keys)188,
412 RazerKey.OemComma
413 },
414 {
415 (Keys)190,
416 RazerKey.OemPeriod
417 }
418 };
419
421 : base(RgbDeviceVendor.Razer, Fragment.FromGrid(new Rectangle(0, 0, 22, 6)), colorProfile)
422 {
423 }//IL_002d: Unknown result type (might be due to invalid IL or missing references)
424
425
426 public override void Render(IEnumerable<RgbKey> keys)
427 {
428 //IL_0016: Unknown result type (might be due to invalid IL or missing references)
429 //IL_0026: Unknown result type (might be due to invalid IL or missing references)
430 //IL_002b: Unknown result type (might be due to invalid IL or missing references)
431 foreach (RgbKey key in keys)
432 {
433 if (XnaKeyToChromaKey.TryGetValue(key.Key, out var value))
434 {
436 _pendingKeys.Add(Tuple.Create(value, item));
437 }
438 }
439 }
440
441 public override void Present()
442 {
443 //IL_0046: Unknown result type (might be due to invalid IL or missing references)
444 for (int i = 0; i < _effect.Color.Length; i++)
445 {
446 _effect.Color[i] = 0u;
447 _effect.Key[i] = 0u;
448 }
449 for (int j = 0; j < base.LedCount; j++)
450 {
452 _effect.Key[j] = _effect.Color[j] & 0xFFFFFFu;
453 }
454 for (int k = 0; k < _pendingKeys.Count; k++)
455 {
456 int item = (int)_pendingKeys[k].Item1;
457 item = (item >> 8) * 22 + (item & 0xFF);
458 _effect.Key[item] = _pendingKeys[k].Item2 | 0x1000000u;
459 }
462 _handle.Apply();
463 }
464}
void SetAsKeyboardEffect(ref NativeMethods.CustomKeyboardEffect effect)
static uint XnaColorToDeviceColor(Color color)
static uint Vector4ToDeviceColor(Vector4 color)
Definition RazerHelper.cs:7
override void Render(IEnumerable< RgbKey > keys)
static readonly Dictionary< Keys, RazerKey > XnaKeyToChromaKey
RazerKeyboard(DeviceColorProfile colorProfile)
NativeMethods.CustomKeyboardEffect _effect
readonly List< Tuple< RazerKey, uint > > _pendingKeys
Color ProcessLedColor(Color color)
Definition RgbDevice.cs:53
Vector4 GetProcessedLedColor(int index)
Definition RgbDevice.cs:37