Razer Chroma SDK
Razer Chroma SDK Documentation
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
RzChromaSDKTypes.h
Go to the documentation of this file.
1 
4 #ifndef _RZCHROMASDKTYPES_H_
5 #define _RZCHROMASDKTYPES_H_
6 
7 #pragma once
8 
9 typedef LONG RZRESULT;
10 typedef GUID RZEFFECTID;
11 typedef GUID RZDEVICEID;
12 typedef unsigned int RZDURATION;
13 typedef size_t RZSIZE;
14 typedef void* PRZPARAM;
15 typedef DWORD RZID;
16 typedef DWORD RZCOLOR;
17 
18 namespace ChromaSDK
19 {
21  const UINT WM_CHROMA_EVENT = WM_APP+0x2000;
22 
24  typedef enum EFFECT_TYPE
25  {
26  CHROMA_NONE = 0,
27  CHROMA_WAVE,
28  CHROMA_SPECTRUMCYCLING,
29  CHROMA_BREATHING,
30  CHROMA_BLINKING,
31  CHROMA_REACTIVE,
32  CHROMA_STATIC,
33  CHROMA_CUSTOM,
34  CHROMA_INVALID
35  } EFFECT_TYPE;
36 
38  typedef struct DEVICE_INFO_TYPE
39  {
42  {
48  } DeviceType;
49 
50  BOOL Connected;
52 
53  namespace Keyboard
54  {
56  typedef enum RZKEY
57  {
58  RZKEY_ESC = 0x0001,
59  RZKEY_F1 = 0x0003,
60  RZKEY_F2 = 0x0004,
61  RZKEY_F3 = 0x0005,
62  RZKEY_F4 = 0x0006,
63  RZKEY_F5 = 0x0007,
64  RZKEY_F6 = 0x0008,
65  RZKEY_F7 = 0x0009,
66  RZKEY_F8 = 0x000A,
67  RZKEY_F9 = 0x000B,
68  RZKEY_F10 = 0x000C,
69  RZKEY_F11 = 0x000D,
70  RZKEY_F12 = 0x000E,
71  RZKEY_1 = 0x0102,
72  RZKEY_2 = 0x0103,
73  RZKEY_3 = 0x0104,
74  RZKEY_4 = 0x0105,
75  RZKEY_5 = 0x0106,
76  RZKEY_6 = 0x0107,
77  RZKEY_7 = 0x0108,
78  RZKEY_8 = 0x0109,
79  RZKEY_9 = 0x010A,
80  RZKEY_0 = 0x010B,
81  RZKEY_A = 0x0302,
82  RZKEY_B = 0x0407,
83  RZKEY_C = 0x0405,
84  RZKEY_D = 0x0304,
85  RZKEY_E = 0x0204,
86  RZKEY_F = 0x0305,
87  RZKEY_G = 0x0306,
88  RZKEY_H = 0x0307,
89  RZKEY_I = 0x0209,
90  RZKEY_J = 0x0308,
91  RZKEY_K = 0x0309,
92  RZKEY_L = 0x030A,
93  RZKEY_M = 0x0409,
94  RZKEY_N = 0x0408,
95  RZKEY_O = 0x020A,
96  RZKEY_P = 0x020B,
97  RZKEY_Q = 0x0202,
98  RZKEY_R = 0x0205,
99  RZKEY_S = 0x0303,
100  RZKEY_T = 0x0206,
101  RZKEY_U = 0x0208,
102  RZKEY_V = 0x0406,
103  RZKEY_W = 0x0203,
104  RZKEY_X = 0x0404,
105  RZKEY_Y = 0x0207,
106  RZKEY_Z = 0x0403,
107  RZKEY_NUMLOCK = 0x0112,
108  RZKEY_NUMPAD0 = 0x0513,
109  RZKEY_NUMPAD1 = 0x0412,
110  RZKEY_NUMPAD2 = 0x0413,
111  RZKEY_NUMPAD3 = 0x0414,
112  RZKEY_NUMPAD4 = 0x0312,
113  RZKEY_NUMPAD5 = 0x0313,
114  RZKEY_NUMPAD6 = 0x0314,
115  RZKEY_NUMPAD7 = 0x0212,
116  RZKEY_NUMPAD8 = 0x0213,
117  RZKEY_NUMPAD9 = 0x0214,
118  RZKEY_NUMPAD_DIVIDE = 0x0113,
119  RZKEY_NUMPAD_MULTIPLY = 0x0114,
120  RZKEY_NUMPAD_SUBTRACT = 0x0115,
121  RZKEY_NUMPAD_ADD = 0x0215,
122  RZKEY_NUMPAD_ENTER = 0x0415,
123  RZKEY_NUMPAD_DECIMAL = 0x0514,
124  RZKEY_PRINTSCREEN = 0x000F,
125  RZKEY_SCROLL = 0x0010,
126  RZKEY_PAUSE = 0x0011,
127  RZKEY_INSERT = 0x010F,
128  RZKEY_HOME = 0x0110,
129  RZKEY_PAGEUP = 0x0111,
130  RZKEY_DELETE = 0x020f,
131  RZKEY_END = 0x0210,
132  RZKEY_PAGEDOWN = 0x0211,
133  RZKEY_UP = 0x0410,
134  RZKEY_LEFT = 0x050F,
135  RZKEY_DOWN = 0x0510,
136  RZKEY_RIGHT = 0x0511,
137  RZKEY_TAB = 0x0201,
138  RZKEY_CAPSLOCK = 0x0301,
139  RZKEY_BACKSPACE = 0x010E,
140  RZKEY_ENTER = 0x030E,
141  RZKEY_LCTRL = 0x0501,
142  RZKEY_LWIN = 0x0502,
143  RZKEY_LALT = 0x0503,
144  RZKEY_SPACE = 0x0507,
145  RZKEY_RALT = 0x050B,
146  RZKEY_FN = 0x050C,
147  RZKEY_RMENU = 0x050D,
148  RZKEY_RCTRL = 0x050E,
149  RZKEY_LSHIFT = 0x0401,
150  RZKEY_RSHIFT = 0x040E,
151  RZKEY_MACRO1 = 0x0100,
152  RZKEY_MACRO2 = 0x0200,
153  RZKEY_MACRO3 = 0x0300,
154  RZKEY_MACRO4 = 0x0400,
155  RZKEY_MACRO5 = 0x0500,
156  RZKEY_OEM_1 = 0x0101,
157  RZKEY_OEM_2 = 0x010C,
158  RZKEY_OEM_3 = 0x010D,
159  RZKEY_OEM_4 = 0x020C,
160  RZKEY_OEM_5 = 0x020D,
161  RZKEY_OEM_6 = 0x020E,
162  RZKEY_OEM_7 = 0x030B,
163  RZKEY_OEM_8 = 0x030C,
164  RZKEY_OEM_9 = 0x040A,
165  RZKEY_OEM_10 = 0x040B,
166  RZKEY_OEM_11 = 0x040C,
167  RZKEY_EUR_1 = 0x030D,
168  RZKEY_EUR_2 = 0x0402,
169  RZKEY_JPN_1 = 0x0015,
170  RZKEY_JPN_2 = 0x040D,
171  RZKEY_JPN_3 = 0x0504,
172  RZKEY_JPN_4 = 0x0509,
173  RZKEY_JPN_5 = 0x050A,
174  RZKEY_KOR_1 = 0x0015,
175  RZKEY_KOR_2 = 0x030D,
176  RZKEY_KOR_3 = 0x0402,
177  RZKEY_KOR_4 = 0x040D,
178  RZKEY_KOR_5 = 0x0504,
179  RZKEY_KOR_6 = 0x0509,
180  RZKEY_KOR_7 = 0x050A,
181  RZKEY_INVALID = 0xFFFF
182  } RZKEY;
183 
185  const RZSIZE MAX_ROW = 6;
186 
188  const RZSIZE MAX_COLUMN = 22;
189 
191  const RZSIZE MAX_KEYS = MAX_ROW * MAX_COLUMN;
192 
194  const RZSIZE MAX_CUSTOM_EFFECTS = MAX_KEYS;
195 
197  const COLORREF RZKEY_LAYOUT[MAX_ROW][MAX_COLUMN] = {};
198 
200  typedef enum EFFECT_TYPE
201  {
202  CHROMA_NONE = 0,
203  CHROMA_BREATHING,
204  CHROMA_CUSTOM,
205  CHROMA_REACTIVE,
206  CHROMA_STATIC,
207  CHROMA_SPECTRUMCYCLING,
208  CHROMA_WAVE,
209  CHROMA_INVALID
210  } EFFECT_TYPE;
211 
212  // Chroma keyboard effects
214  typedef struct BREATHING_EFFECT_TYPE
215  {
216  COLORREF Color1;
217  COLORREF Color2;
219 
221  typedef struct CUSTOM_EFFECT_TYPE
222  {
223  COLORREF Color[MAX_ROW][MAX_COLUMN];
225 
227  typedef struct REACTIVE_EFFECT_TYPE
228  {
230  enum Duration
231  {
237  } Duration;
238 
239  COLORREF Color;
241 
243  typedef struct STATIC_EFFECT_TYPE
244  {
245  COLORREF Color;
247 
249  typedef struct WAVE_EFFECT_TYPE
250  {
253  {
258  } Direction;
259  } WAVE_EFFECT_TYPE;
260  }
261 
262  namespace Mouse
263  {
265  const RZSIZE MAX_LEDS = 30;
266 
268  const RZCOLOR RZLED_LAYOUT[MAX_LEDS] = {};
269 
271  typedef enum RZLED
272  {
273  RZLED_NONE = 0,
274  RZLED_SCROLLWHEEL = 1,
275  RZLED_LOGO = 2,
276  RZLED_BACKLIGHT = 3,
277  RZLED_SIDE_STRIP1 = 4,
278  RZLED_SIDE_STRIP2 = 5,
279  RZLED_SIDE_STRIP3 = 6,
280  RZLED_SIDE_STRIP4 = 7,
281  RZLED_SIDE_STRIP5 = 8,
282  RZLED_SIDE_STRIP6 = 9,
283  RZLED_SIDE_STRIP7 = 10,
284  RZLED_SIDE_STRIP8 = 11,
285  RZLED_SIDE_STRIP9 = 12,
286  RZLED_SIDE_STRIP10 = 13,
287  RZLED_SIDE_STRIP11 = 14,
288  RZLED_SIDE_STRIP12 = 15,
289  RZLED_SIDE_STRIP13 = 16,
290  RZLED_SIDE_STRIP14 = 17,
291  RZLED_ALL = 0xFFFF
292  } RZLED;
293 
295  typedef enum EFFECT_TYPE
296  {
297  CHROMA_NONE = 0,
298  CHROMA_BLINKING,
299  CHROMA_BREATHING,
300  CHROMA_CUSTOM,
301  CHROMA_REACTIVE,
302  CHROMA_SPECTRUMCYCLING,
303  CHROMA_STATIC,
304  CHROMA_WAVE,
305  CHROMA_INVALID
306  } EFFECT_TYPE;
307 
309  typedef struct STATIC_EFFECT_TYPE
310  {
311  RZLED LEDId;
312  COLORREF Color;
314 
316  typedef struct BLINKING_EFFECT_TYPE
317  {
318  RZLED LEDId;
319  COLORREF Color;
321 
323  typedef struct BREATHING_EFFECT_TYPE
324  {
325  RZLED LEDId;
326 
328  enum Type
329  {
330  ONE_COLOR = 1,
333  } Type;
334 
335  COLORREF Color1;
336  COLORREF Color2;
338 
340  typedef struct CUSTOM_EFFECT_TYPE
341  {
342  RZCOLOR Color[MAX_LEDS];
344 
346  typedef struct REACTIVE_EFFECT_TYPE
347  {
348  RZLED LEDId;
349 
351  enum Duration
352  {
357  } Duration;
358 
361 
363  typedef struct NO_EFFECT_TYPE
364  {
365  RZLED LEDId;
366  } NO_EFFECT_TYPE;
367 
370  {
371  RZLED LEDId;
373 
375  typedef struct WAVE_EFFECT_TYPE
376  {
379  {
382  } Direction;
383  } WAVE_EFFECT_TYPE;
384  }
385 
386  namespace Headset
387  {
389  typedef enum EFFECT_TYPE
390  {
391  CHROMA_NONE = 0,
392  CHROMA_STATIC,
393  CHROMA_BREATHING,
394  CHROMA_SPECTRUMCYCLING,
395  CHROMA_INVALID
396  } EFFECT_TYPE;
397 
399  typedef struct STATIC_EFFECT_TYPE
400  {
401  COLORREF Color;
403 
405  typedef struct BREATHING_EFFECT_TYPE
406  {
407  COLORREF Color;
409  }
410 
411  namespace Mousepad
412  {
414  const RZSIZE MAX_LEDS = 15;
415 
417  typedef enum EFFECT_TYPE
418  {
419  CHROMA_NONE = 0,
420  CHROMA_BREATHING,
421  CHROMA_CUSTOM,
422  CHROMA_SPECTRUMCYCLING,
423  CHROMA_STATIC,
424  CHROMA_WAVE,
425  CHROMA_INVALID
426  } EFFECT_TYPE;
427 
428  // Chroma mousepad effects
430  typedef struct BREATHING_EFFECT_TYPE
431  {
433  enum Type
434  {
437  INVALID
438  } Type;
439  COLORREF Color1;
440  COLORREF Color2;
442 
444  typedef struct CUSTOM_EFFECT_TYPE
445  {
446  RZCOLOR Color[MAX_LEDS];
449 
451  typedef struct STATIC_EFFECT_TYPE
452  {
453  COLORREF Color;
455 
457  typedef struct WAVE_EFFECT_TYPE
458  {
461  {
466  } Direction;
467  } WAVE_EFFECT_TYPE;
468  }
469 
470  namespace Keypad
471  {
473  const RZSIZE MAX_ROW = 4;
474 
476  const RZSIZE MAX_COLUMN = 5;
477 
479  const RZSIZE MAX_KEYS = MAX_ROW * MAX_COLUMN;
480 
482  typedef enum EFFECT_TYPE
483  {
484  CHROMA_NONE = 0,
485  CHROMA_BREATHING,
486  CHROMA_CUSTOM,
487  CHROMA_REACTIVE,
488  CHROMA_SPECTRUMCYCLING,
489  CHROMA_STATIC,
490  CHROMA_WAVE,
491  CHROMA_INVALID
492  } EFFECT_TYPE;
493 
494  // Chroma keypad effects
496  typedef struct BREATHING_EFFECT_TYPE
497  {
499  enum Type
500  {
503  INVALID
504  } Type;
505  COLORREF Color1;
506  COLORREF Color2;
508 
510  typedef struct CUSTOM_EFFECT_TYPE
511  {
512  RZCOLOR Color[MAX_ROW][MAX_COLUMN];
515 
517  typedef struct REACTIVE_EFFECT_TYPE
518  {
520  enum Duration
521  {
527  } Duration;
528 
529  COLORREF Color;
531 
533  typedef struct STATIC_EFFECT_TYPE
534  {
537 
539  typedef struct WAVE_EFFECT_TYPE
540  {
543  {
548  } Direction;
549  } WAVE_EFFECT_TYPE;
550  }
551 }
552 
553 #endif
COLORREF Color
Color of the effect.
Definition: RzChromaSDKTypes.h:239
Static effect type.
Definition: RzChromaSDKTypes.h:533
RZCOLOR Color
Color of the effect.
Definition: RzChromaSDKTypes.h:535
Mousepad device.
Definition: RzChromaSDKTypes.h:46
Breathing effect type.
Definition: RzChromaSDKTypes.h:405
Left to right.
Definition: RzChromaSDKTypes.h:463
Wave effect type.
Definition: RzChromaSDKTypes.h:539
Direction
Direction of the wave effect.
Definition: RzChromaSDKTypes.h:542
Type
Breathing type.
Definition: RzChromaSDKTypes.h:328
void * PRZPARAM
Context sensitive pointer.
Definition: RzChromaSDKTypes.h:14
RZLED LEDId
LED Id.
Definition: RzChromaSDKTypes.h:365
Long duration.
Definition: RzChromaSDKTypes.h:525
BOOL Connected
Devioce is connected.
Definition: RzChromaSDKTypes.h:50
Invalid duration.
Definition: RzChromaSDKTypes.h:526
Right to left.
Definition: RzChromaSDKTypes.h:256
Duration
Duration of the effect.
Definition: RzChromaSDKTypes.h:520
RZLED LEDId
LED Id.
Definition: RzChromaSDKTypes.h:311
RZLED LEDId
LED Id.
Definition: RzChromaSDKTypes.h:348
Duration
Duration of the effect.
Definition: RzChromaSDKTypes.h:351
Breathing effect type.
Definition: RzChromaSDKTypes.h:496
Reactive effect type.
Definition: RzChromaSDKTypes.h:227
Invalid direction.
Definition: RzChromaSDKTypes.h:465
Right to left.
Definition: RzChromaSDKTypes.h:464
unsigned int RZDURATION
Milliseconds.
Definition: RzChromaSDKTypes.h:12
COLORREF Color1
First color.
Definition: RzChromaSDKTypes.h:505
Invalid duration.
Definition: RzChromaSDKTypes.h:236
Type
Breathing effects.
Definition: RzChromaSDKTypes.h:499
Keyboard device.
Definition: RzChromaSDKTypes.h:43
RZLED LEDId
LED id.
Definition: RzChromaSDKTypes.h:371
Mouse device.
Definition: RzChromaSDKTypes.h:44
No duration.
Definition: RzChromaSDKTypes.h:522
Breathing effect.
Definition: RzChromaSDKTypes.h:323
No direction.
Definition: RzChromaSDKTypes.h:544
Left to right.
Definition: RzChromaSDKTypes.h:545
Random colors.
Definition: RzChromaSDKTypes.h:436
Long duration.
Definition: RzChromaSDKTypes.h:235
COLORREF Color2
Second color.
Definition: RzChromaSDKTypes.h:506
Breathing effect type.
Definition: RzChromaSDKTypes.h:214
DeviceType
Device types.
Definition: RzChromaSDKTypes.h:41
COLORREF Color1
First color.
Definition: RzChromaSDKTypes.h:335
COLORREF Color
Color of the effect.
Definition: RzChromaSDKTypes.h:401
COLORREF Color
Color.
Definition: RzChromaSDKTypes.h:319
Wave effect type.
Definition: RzChromaSDKTypes.h:249
RZCOLOR Color[MAX_LEDS]
Definition: RzChromaSDKTypes.h:446
1 color (Only fill Color1).
Definition: RzChromaSDKTypes.h:330
No effect.
Definition: RzChromaSDKTypes.h:363
RZCOLOR Color[MAX_ROW][MAX_COLUMN]
Definition: RzChromaSDKTypes.h:512
2 colors
Definition: RzChromaSDKTypes.h:501
Reactive effect type.
Definition: RzChromaSDKTypes.h:517
COLORREF Color
Color.
Definition: RzChromaSDKTypes.h:407
Back to front.
Definition: RzChromaSDKTypes.h:381
COLORREF Color1
First color.
Definition: RzChromaSDKTypes.h:216
Custom effect using a matrix type.
Definition: RzChromaSDKTypes.h:221
Spectrum cycling.
Definition: RzChromaSDKTypes.h:369
Device info.
Definition: RzChromaSDKTypes.h:38
Static effect type.
Definition: RzChromaSDKTypes.h:399
GUID RZEFFECTID
Effect Id.
Definition: RzChromaSDKTypes.h:10
Custom effect.
Definition: RzChromaSDKTypes.h:340
RZCOLOR Color
Color of the effect.
Definition: RzChromaSDKTypes.h:359
No direction.
Definition: RzChromaSDKTypes.h:254
Wave effect.
Definition: RzChromaSDKTypes.h:375
COLORREF Color2
Second color.
Definition: RzChromaSDKTypes.h:336
COLORREF Color
Color of the effect.
Definition: RzChromaSDKTypes.h:312
Right to left.
Definition: RzChromaSDKTypes.h:546
Custom effect type.
Definition: RzChromaSDKTypes.h:510
Front to back.
Definition: RzChromaSDKTypes.h:380
Direction
Direction of the wave effect.
Definition: RzChromaSDKTypes.h:378
Custom effect type.
Definition: RzChromaSDKTypes.h:444
Static effect type.
Definition: RzChromaSDKTypes.h:309
Left to right.
Definition: RzChromaSDKTypes.h:255
COLORREF Color[MAX_ROW][MAX_COLUMN]
Grid layout. 6 rows by 22 columns.
Definition: RzChromaSDKTypes.h:223
COLORREF Color2
Second color.
Definition: RzChromaSDKTypes.h:217
Long duration.
Definition: RzChromaSDKTypes.h:356
DWORD RZID
Generic data type for Identifier.
Definition: RzChromaSDKTypes.h:15
Breathing effect type.
Definition: RzChromaSDKTypes.h:430
RZLED LEDId
LED Id.
Definition: RzChromaSDKTypes.h:325
LONG RZRESULT
Return result.
Definition: RzChromaSDKTypes.h:9
Random colors.
Definition: RzChromaSDKTypes.h:332
Direction
Direction of the wave effect.
Definition: RzChromaSDKTypes.h:252
Invalid direction.
Definition: RzChromaSDKTypes.h:257
Direction
Direction of the wave effect.
Definition: RzChromaSDKTypes.h:460
No duration.
Definition: RzChromaSDKTypes.h:232
Reactive effect.
Definition: RzChromaSDKTypes.h:346
GUID RZDEVICEID
Device Id.
Definition: RzChromaSDKTypes.h:11
Short duration.
Definition: RzChromaSDKTypes.h:233
No direction.
Definition: RzChromaSDKTypes.h:462
COLORREF Color
Color of the effect.
Definition: RzChromaSDKTypes.h:453
Type
Breathing effects.
Definition: RzChromaSDKTypes.h:433
Medium duration.
Definition: RzChromaSDKTypes.h:524
COLORREF Color2
Second color.
Definition: RzChromaSDKTypes.h:440
2 colors
Definition: RzChromaSDKTypes.h:435
Medium duration.
Definition: RzChromaSDKTypes.h:234
COLORREF Color1
First color.
Definition: RzChromaSDKTypes.h:439
Headset device.
Definition: RzChromaSDKTypes.h:45
size_t RZSIZE
Size.
Definition: RzChromaSDKTypes.h:13
Static effect type.
Definition: RzChromaSDKTypes.h:243
COLORREF Color
Color of the effect.
Definition: RzChromaSDKTypes.h:245
Wave effect type.
Definition: RzChromaSDKTypes.h:457
No duration.
Definition: RzChromaSDKTypes.h:353
Short duration.
Definition: RzChromaSDKTypes.h:354
Static effect type.
Definition: RzChromaSDKTypes.h:451
COLORREF Color
Color of the effect.
Definition: RzChromaSDKTypes.h:529
Invalid direction.
Definition: RzChromaSDKTypes.h:547
Random colors.
Definition: RzChromaSDKTypes.h:502
Keypad device.
Definition: RzChromaSDKTypes.h:47
Blinking effect type.
Definition: RzChromaSDKTypes.h:316
Medium duration.
Definition: RzChromaSDKTypes.h:355
DWORD RZCOLOR
Color data. 1st byte = Red; 2nd byte = Green; 3rd byte = Blue; 4th byte = Alpha (if applicable) ...
Definition: RzChromaSDKTypes.h:16
RZLED LEDId
LED Id.
Definition: RzChromaSDKTypes.h:318
Duration
Duration of the effect.
Definition: RzChromaSDKTypes.h:230
2 colors.
Definition: RzChromaSDKTypes.h:331
RZCOLOR Color[MAX_LEDS]
Array of colors.
Definition: RzChromaSDKTypes.h:342
Short duration.
Definition: RzChromaSDKTypes.h:523