forked from google/periph
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ir.go
568 lines (562 loc) · 27.1 KB
/
ir.go
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
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
// Copyright 2016 The Periph Authors. All rights reserved.
// Use of this source code is governed under the Apache License, Version 2.0
// that can be found in the LICENSE file.
// Package ir defines InfraRed codes for use with a IR remote control.
package ir
// Key represents one of the supported key press.
type Key string
// Keys use the original UNDER_SCORES format even if not Go idiomatic to
// simplify the addition and removal of codes.
const (
// The following was manually extracted from
// http://www.lirc.org/api-docs/html/input__map_8inc_source.html
KEY_0 Key = "KEY_0"
KEY_102ND Key = "KEY_102ND"
KEY_10CHANNELSDOWN Key = "KEY_10CHANNELSDOWN"
KEY_10CHANNELSUP Key = "KEY_10CHANNELSUP"
KEY_1 Key = "KEY_1"
KEY_2 Key = "KEY_2"
KEY_3 Key = "KEY_3"
KEY_4 Key = "KEY_4"
KEY_5 Key = "KEY_5"
KEY_6 Key = "KEY_6"
KEY_7 Key = "KEY_7"
KEY_8 Key = "KEY_8"
KEY_9 Key = "KEY_9"
KEY_A Key = "KEY_A"
KEY_AB Key = "KEY_AB"
KEY_ADDRESSBOOK Key = "KEY_ADDRESSBOOK"
KEY_AGAIN Key = "KEY_AGAIN"
KEY_ALS_TOGGLE Key = "KEY_ALS_TOGGLE"
KEY_ALTERASE Key = "KEY_ALTERASE"
KEY_ANGLE Key = "KEY_ANGLE"
KEY_APOSTROPHE Key = "KEY_APOSTROPHE"
KEY_APPSELECT Key = "KEY_APPSELECT"
KEY_ARCHIVE Key = "KEY_ARCHIVE"
KEY_ATTENDANT_OFF Key = "KEY_ATTENDANT_OFF"
KEY_ATTENDANT_ON Key = "KEY_ATTENDANT_ON"
KEY_ATTENDANT_TOGGLE Key = "KEY_ATTENDANT_TOGGLE"
KEY_AUDIO Key = "KEY_AUDIO"
KEY_AUX Key = "KEY_AUX"
KEY_B Key = "KEY_B"
KEY_BACK Key = "KEY_BACK"
KEY_BACKSLASH Key = "KEY_BACKSLASH"
KEY_BACKSPACE Key = "KEY_BACKSPACE"
KEY_BASSBOOST Key = "KEY_BASSBOOST"
KEY_BATTERY Key = "KEY_BATTERY"
KEY_BLUE Key = "KEY_BLUE"
KEY_BLUETOOTH Key = "KEY_BLUETOOTH"
KEY_BOOKMARKS Key = "KEY_BOOKMARKS"
KEY_BREAK Key = "KEY_BREAK"
KEY_BRIGHTNESS_AUTO Key = "KEY_BRIGHTNESS_AUTO"
KEY_BRIGHTNESS_CYCLE Key = "KEY_BRIGHTNESS_CYCLE"
KEY_BRIGHTNESSDOWN Key = "KEY_BRIGHTNESSDOWN"
KEY_BRIGHTNESS_MAX Key = "KEY_BRIGHTNESS_MAX"
KEY_BRIGHTNESS_MIN Key = "KEY_BRIGHTNESS_MIN"
KEY_BRIGHTNESSUP Key = "KEY_BRIGHTNESSUP"
KEY_BRL_DOT10 Key = "KEY_BRL_DOT10"
KEY_BRL_DOT1 Key = "KEY_BRL_DOT1"
KEY_BRL_DOT2 Key = "KEY_BRL_DOT2"
KEY_BRL_DOT3 Key = "KEY_BRL_DOT3"
KEY_BRL_DOT4 Key = "KEY_BRL_DOT4"
KEY_BRL_DOT5 Key = "KEY_BRL_DOT5"
KEY_BRL_DOT6 Key = "KEY_BRL_DOT6"
KEY_BRL_DOT7 Key = "KEY_BRL_DOT7"
KEY_BRL_DOT8 Key = "KEY_BRL_DOT8"
KEY_BRL_DOT9 Key = "KEY_BRL_DOT9"
KEY_BUTTONCONFIG Key = "KEY_BUTTONCONFIG"
KEY_C Key = "KEY_C"
KEY_CALC Key = "KEY_CALC"
KEY_CALENDAR Key = "KEY_CALENDAR"
KEY_CAMERA Key = "KEY_CAMERA"
KEY_CAMERA_DOWN Key = "KEY_CAMERA_DOWN"
KEY_CAMERA_FOCUS Key = "KEY_CAMERA_FOCUS"
KEY_CAMERA_LEFT Key = "KEY_CAMERA_LEFT"
KEY_CAMERA_RIGHT Key = "KEY_CAMERA_RIGHT"
KEY_CAMERA_UP Key = "KEY_CAMERA_UP"
KEY_CAMERA_ZOOMIN Key = "KEY_CAMERA_ZOOMIN"
KEY_CAMERA_ZOOMOUT Key = "KEY_CAMERA_ZOOMOUT"
KEY_CANCEL Key = "KEY_CANCEL"
KEY_CAPSLOCK Key = "KEY_CAPSLOCK"
KEY_CD Key = "KEY_CD"
KEY_CHANNEL Key = "KEY_CHANNEL"
KEY_CHANNELDOWN Key = "KEY_CHANNELDOWN"
KEY_CHANNELUP Key = "KEY_CHANNELUP"
KEY_CHAT Key = "KEY_CHAT"
KEY_CLEAR Key = "KEY_CLEAR"
KEY_CLOSE Key = "KEY_CLOSE"
KEY_CLOSECD Key = "KEY_CLOSECD"
KEY_COFFEE Key = "KEY_COFFEE"
KEY_COMMA Key = "KEY_COMMA"
KEY_COMPOSE Key = "KEY_COMPOSE"
KEY_COMPUTER Key = "KEY_COMPUTER"
KEY_CONFIG Key = "KEY_CONFIG"
KEY_CONNECT Key = "KEY_CONNECT"
KEY_CONTEXT_MENU Key = "KEY_CONTEXT_MENU"
KEY_CONTROLPANEL Key = "KEY_CONTROLPANEL"
KEY_COPY Key = "KEY_COPY"
KEY_CUT Key = "KEY_CUT"
KEY_CYCLEWINDOWS Key = "KEY_CYCLEWINDOWS"
KEY_D Key = "KEY_D"
KEY_DASHBOARD Key = "KEY_DASHBOARD"
KEY_DATABASE Key = "KEY_DATABASE"
KEY_DEL_EOL Key = "KEY_DEL_EOL"
KEY_DEL_EOS Key = "KEY_DEL_EOS"
KEY_DELETE Key = "KEY_DELETE"
KEY_DELETEFILE Key = "KEY_DELETEFILE"
KEY_DEL_LINE Key = "KEY_DEL_LINE"
KEY_DIGITS Key = "KEY_DIGITS"
KEY_DIRECTORY Key = "KEY_DIRECTORY"
KEY_DISPLAY_OFF Key = "KEY_DISPLAY_OFF"
KEY_DISPLAYTOGGLE Key = "KEY_DISPLAYTOGGLE"
KEY_DOCUMENTS Key = "KEY_DOCUMENTS"
KEY_DOLLAR Key = "KEY_DOLLAR"
KEY_DOT Key = "KEY_DOT"
KEY_DOWN Key = "KEY_DOWN"
KEY_DVD Key = "KEY_DVD"
KEY_E Key = "KEY_E"
KEY_EDIT Key = "KEY_EDIT"
KEY_EDITOR Key = "KEY_EDITOR"
KEY_EJECTCD Key = "KEY_EJECTCD"
KEY_EJECTCLOSECD Key = "KEY_EJECTCLOSECD"
KEY_EMAIL Key = "KEY_EMAIL"
KEY_END Key = "KEY_END"
KEY_ENTER Key = "KEY_ENTER"
KEY_EPG Key = "KEY_EPG"
KEY_EQUAL Key = "KEY_EQUAL"
KEY_ESC Key = "KEY_ESC"
KEY_EURO Key = "KEY_EURO"
KEY_EXIT Key = "KEY_EXIT"
KEY_F10 Key = "KEY_F10"
KEY_F11 Key = "KEY_F11"
KEY_F12 Key = "KEY_F12"
KEY_F13 Key = "KEY_F13"
KEY_F14 Key = "KEY_F14"
KEY_F15 Key = "KEY_F15"
KEY_F1 Key = "KEY_F1"
KEY_F16 Key = "KEY_F16"
KEY_F17 Key = "KEY_F17"
KEY_F18 Key = "KEY_F18"
KEY_F19 Key = "KEY_F19"
KEY_F20 Key = "KEY_F20"
KEY_F21 Key = "KEY_F21"
KEY_F22 Key = "KEY_F22"
KEY_F23 Key = "KEY_F23"
KEY_F24 Key = "KEY_F24"
KEY_F2 Key = "KEY_F2"
KEY_F Key = "KEY_F"
KEY_F3 Key = "KEY_F3"
KEY_F4 Key = "KEY_F4"
KEY_F5 Key = "KEY_F5"
KEY_F6 Key = "KEY_F6"
KEY_F7 Key = "KEY_F7"
KEY_F8 Key = "KEY_F8"
KEY_F9 Key = "KEY_F9"
KEY_FASTFORWARD Key = "KEY_FASTFORWARD"
KEY_FAVORITES Key = "KEY_FAVORITES"
KEY_FILE Key = "KEY_FILE"
KEY_FINANCE Key = "KEY_FINANCE"
KEY_FIND Key = "KEY_FIND"
KEY_FIRST Key = "KEY_FIRST"
KEY_FN Key = "KEY_FN"
KEY_FN_1 Key = "KEY_FN_1"
KEY_FN_2 Key = "KEY_FN_2"
KEY_FN_B Key = "KEY_FN_B"
KEY_FN_D Key = "KEY_FN_D"
KEY_FN_E Key = "KEY_FN_E"
KEY_FN_ESC Key = "KEY_FN_ESC"
KEY_FN_F Key = "KEY_FN_F"
KEY_FN_F10 Key = "KEY_FN_F10"
KEY_FN_F1 Key = "KEY_FN_F1"
KEY_FN_F11 Key = "KEY_FN_F11"
KEY_FN_F12 Key = "KEY_FN_F12"
KEY_FN_F2 Key = "KEY_FN_F2"
KEY_FN_F3 Key = "KEY_FN_F3"
KEY_FN_F4 Key = "KEY_FN_F4"
KEY_FN_F5 Key = "KEY_FN_F5"
KEY_FN_F6 Key = "KEY_FN_F6"
KEY_FN_F7 Key = "KEY_FN_F7"
KEY_FN_F8 Key = "KEY_FN_F8"
KEY_FN_F9 Key = "KEY_FN_F9"
KEY_FN_S Key = "KEY_FN_S"
KEY_FORWARD Key = "KEY_FORWARD"
KEY_FORWARDMAIL Key = "KEY_FORWARDMAIL"
KEY_FRAMEBACK Key = "KEY_FRAMEBACK"
KEY_FRAMEFORWARD Key = "KEY_FRAMEFORWARD"
KEY_FRONT Key = "KEY_FRONT"
KEY_G Key = "KEY_G"
KEY_GAMES Key = "KEY_GAMES"
KEY_GOTO Key = "KEY_GOTO"
KEY_GRAPHICSEDITOR Key = "KEY_GRAPHICSEDITOR"
KEY_GRAVE Key = "KEY_GRAVE"
KEY_GREEN Key = "KEY_GREEN"
KEY_H Key = "KEY_H"
KEY_HANGEUL Key = "KEY_HANGEUL"
KEY_HANJA Key = "KEY_HANJA"
KEY_HELP Key = "KEY_HELP"
KEY_HENKAN Key = "KEY_HENKAN"
KEY_HIRAGANA Key = "KEY_HIRAGANA"
KEY_HOME Key = "KEY_HOME"
KEY_HOMEPAGE Key = "KEY_HOMEPAGE"
KEY_HP Key = "KEY_HP"
KEY_I Key = "KEY_I"
KEY_IMAGES Key = "KEY_IMAGES"
KEY_INFO Key = "KEY_INFO"
KEY_INSERT Key = "KEY_INSERT"
KEY_INS_LINE Key = "KEY_INS_LINE"
KEY_ISO Key = "KEY_ISO"
KEY_J Key = "KEY_J"
KEY_JOURNAL Key = "KEY_JOURNAL"
KEY_K Key = "KEY_K"
KEY_KATAKANA Key = "KEY_KATAKANA"
KEY_KATAKANAHIRAGANA Key = "KEY_KATAKANAHIRAGANA"
KEY_KBDILLUMDOWN Key = "KEY_KBDILLUMDOWN"
KEY_KBDILLUMTOGGLE Key = "KEY_KBDILLUMTOGGLE"
KEY_KBDILLUMUP Key = "KEY_KBDILLUMUP"
KEY_KBDINPUTASSIST_ACCEPT Key = "KEY_KBDINPUTASSIST_ACCEPT"
KEY_KBDINPUTASSIST_CANCEL Key = "KEY_KBDINPUTASSIST_CANCEL"
KEY_KBDINPUTASSIST_NEXT Key = "KEY_KBDINPUTASSIST_NEXT"
KEY_KBDINPUTASSIST_NEXTGROUP Key = "KEY_KBDINPUTASSIST_NEXTGROUP"
KEY_KBDINPUTASSIST_PREV Key = "KEY_KBDINPUTASSIST_PREV"
KEY_KBDINPUTASSIST_PREVGROUP Key = "KEY_KBDINPUTASSIST_PREVGROUP"
KEY_KEYBOARD Key = "KEY_KEYBOARD"
KEY_KP0 Key = "KEY_KP0"
KEY_KP1 Key = "KEY_KP1"
KEY_KP2 Key = "KEY_KP2"
KEY_KP3 Key = "KEY_KP3"
KEY_KP4 Key = "KEY_KP4"
KEY_KP5 Key = "KEY_KP5"
KEY_KP6 Key = "KEY_KP6"
KEY_KP7 Key = "KEY_KP7"
KEY_KP8 Key = "KEY_KP8"
KEY_KP9 Key = "KEY_KP9"
KEY_KPASTERISK Key = "KEY_KPASTERISK"
KEY_KPCOMMA Key = "KEY_KPCOMMA"
KEY_KPDOT Key = "KEY_KPDOT"
KEY_KPENTER Key = "KEY_KPENTER"
KEY_KPEQUAL Key = "KEY_KPEQUAL"
KEY_KPJPCOMMA Key = "KEY_KPJPCOMMA"
KEY_KPLEFTPAREN Key = "KEY_KPLEFTPAREN"
KEY_KPMINUS Key = "KEY_KPMINUS"
KEY_KPPLUS Key = "KEY_KPPLUS"
KEY_KPPLUSMINUS Key = "KEY_KPPLUSMINUS"
KEY_KPRIGHTPAREN Key = "KEY_KPRIGHTPAREN"
KEY_KPSLASH Key = "KEY_KPSLASH"
KEY_L Key = "KEY_L"
KEY_LANGUAGE Key = "KEY_LANGUAGE"
KEY_LAST Key = "KEY_LAST"
KEY_LEFT Key = "KEY_LEFT"
KEY_LEFTALT Key = "KEY_LEFTALT"
KEY_LEFTBRACE Key = "KEY_LEFTBRACE"
KEY_LEFTCTRL Key = "KEY_LEFTCTRL"
KEY_LEFTMETA Key = "KEY_LEFTMETA"
KEY_LEFTSHIFT Key = "KEY_LEFTSHIFT"
KEY_LIGHTS_TOGGLE Key = "KEY_LIGHTS_TOGGLE"
KEY_LINEFEED Key = "KEY_LINEFEED"
KEY_LIST Key = "KEY_LIST"
KEY_LOGOFF Key = "KEY_LOGOFF"
KEY_M Key = "KEY_M"
KEY_MACRO Key = "KEY_MACRO"
KEY_MAIL Key = "KEY_MAIL"
KEY_MAX Key = "KEY_MAX"
KEY_MEDIA Key = "KEY_MEDIA"
KEY_MEDIA_REPEAT Key = "KEY_MEDIA_REPEAT"
KEY_MEMO Key = "KEY_MEMO"
KEY_MENU Key = "KEY_MENU"
KEY_MESSENGER Key = "KEY_MESSENGER"
KEY_MHP Key = "KEY_MHP"
KEY_MICMUTE Key = "KEY_MICMUTE"
KEY_MINUS Key = "KEY_MINUS"
KEY_MODE Key = "KEY_MODE"
KEY_MOVE Key = "KEY_MOVE"
KEY_MP3 Key = "KEY_MP3"
KEY_MSDOS Key = "KEY_MSDOS"
KEY_MUHENKAN Key = "KEY_MUHENKAN"
KEY_MUTE Key = "KEY_MUTE"
KEY_N Key = "KEY_N"
KEY_NEW Key = "KEY_NEW"
KEY_NEWS Key = "KEY_NEWS"
KEY_NEXT Key = "KEY_NEXT"
KEY_NEXTSONG Key = "KEY_NEXTSONG"
KEY_NUMERIC_0 Key = "KEY_NUMERIC_0"
KEY_NUMERIC_1 Key = "KEY_NUMERIC_1"
KEY_NUMERIC_2 Key = "KEY_NUMERIC_2"
KEY_NUMERIC_3 Key = "KEY_NUMERIC_3"
KEY_NUMERIC_4 Key = "KEY_NUMERIC_4"
KEY_NUMERIC_5 Key = "KEY_NUMERIC_5"
KEY_NUMERIC_6 Key = "KEY_NUMERIC_6"
KEY_NUMERIC_7 Key = "KEY_NUMERIC_7"
KEY_NUMERIC_8 Key = "KEY_NUMERIC_8"
KEY_NUMERIC_9 Key = "KEY_NUMERIC_9"
KEY_NUMERIC_A Key = "KEY_NUMERIC_A"
KEY_NUMERIC_B Key = "KEY_NUMERIC_B"
KEY_NUMERIC_C Key = "KEY_NUMERIC_C"
KEY_NUMERIC_D Key = "KEY_NUMERIC_D"
KEY_NUMERIC_POUND Key = "KEY_NUMERIC_POUND"
KEY_NUMERIC_STAR Key = "KEY_NUMERIC_STAR"
KEY_NUMLOCK Key = "KEY_NUMLOCK"
KEY_O Key = "KEY_O"
KEY_OK Key = "KEY_OK"
KEY_OPEN Key = "KEY_OPEN"
KEY_OPTION Key = "KEY_OPTION"
KEY_P Key = "KEY_P"
KEY_PAGEDOWN Key = "KEY_PAGEDOWN"
KEY_PAGEUP Key = "KEY_PAGEUP"
KEY_PASTE Key = "KEY_PASTE"
KEY_PAUSE Key = "KEY_PAUSE"
KEY_PAUSECD Key = "KEY_PAUSECD"
KEY_PC Key = "KEY_PC"
KEY_PHONE Key = "KEY_PHONE"
KEY_PLAY Key = "KEY_PLAY"
KEY_PLAYCD Key = "KEY_PLAYCD"
KEY_PLAYER Key = "KEY_PLAYER"
KEY_PLAYPAUSE Key = "KEY_PLAYPAUSE"
KEY_POWER Key = "KEY_POWER"
KEY_POWER2 Key = "KEY_POWER2"
KEY_PRESENTATION Key = "KEY_PRESENTATION"
KEY_PREVIOUS Key = "KEY_PREVIOUS"
KEY_PREVIOUSSONG Key = "KEY_PREVIOUSSONG"
KEY_PRINT Key = "KEY_PRINT"
KEY_PROG1 Key = "KEY_PROG1"
KEY_PROG2 Key = "KEY_PROG2"
KEY_PROG3 Key = "KEY_PROG3"
KEY_PROG4 Key = "KEY_PROG4"
KEY_PROGRAM Key = "KEY_PROGRAM"
KEY_PROPS Key = "KEY_PROPS"
KEY_PVR Key = "KEY_PVR"
KEY_Q Key = "KEY_Q"
KEY_QUESTION Key = "KEY_QUESTION"
KEY_R Key = "KEY_R"
KEY_RADIO Key = "KEY_RADIO"
KEY_RECORD Key = "KEY_RECORD"
KEY_RED Key = "KEY_RED"
KEY_REDO Key = "KEY_REDO"
KEY_REFRESH Key = "KEY_REFRESH"
KEY_REPLY Key = "KEY_REPLY"
KEY_RESERVED Key = "KEY_RESERVED"
KEY_RESTART Key = "KEY_RESTART"
KEY_REWIND Key = "KEY_REWIND"
KEY_RFKILL Key = "KEY_RFKILL"
KEY_RIGHT Key = "KEY_RIGHT"
KEY_RIGHTALT Key = "KEY_RIGHTALT"
KEY_RIGHTBRACE Key = "KEY_RIGHTBRACE"
KEY_RIGHTCTRL Key = "KEY_RIGHTCTRL"
KEY_RIGHTMETA Key = "KEY_RIGHTMETA"
KEY_RIGHTSHIFT Key = "KEY_RIGHTSHIFT"
KEY_RO Key = "KEY_RO"
KEY_ROTATE_DISPLAY Key = "KEY_ROTATE_DISPLAY"
KEY_S Key = "KEY_S"
KEY_SAT Key = "KEY_SAT"
KEY_SAT2 Key = "KEY_SAT2"
KEY_SAVE Key = "KEY_SAVE"
KEY_SCALE Key = "KEY_SCALE"
KEY_SCREEN Key = "KEY_SCREEN"
KEY_SCREENSAVER Key = "KEY_SCREENSAVER"
KEY_SCROLLDOWN Key = "KEY_SCROLLDOWN"
KEY_SCROLLLOCK Key = "KEY_SCROLLLOCK"
KEY_SCROLLUP Key = "KEY_SCROLLUP"
KEY_SEARCH Key = "KEY_SEARCH"
KEY_SELECT Key = "KEY_SELECT"
KEY_SEMICOLON Key = "KEY_SEMICOLON"
KEY_SEND Key = "KEY_SEND"
KEY_SENDFILE Key = "KEY_SENDFILE"
KEY_SETUP Key = "KEY_SETUP"
KEY_SHOP Key = "KEY_SHOP"
KEY_SHUFFLE Key = "KEY_SHUFFLE"
KEY_SLASH Key = "KEY_SLASH"
KEY_SLEEP Key = "KEY_SLEEP"
KEY_SLOW Key = "KEY_SLOW"
KEY_SOUND Key = "KEY_SOUND"
KEY_SPACE Key = "KEY_SPACE"
KEY_SPELLCHECK Key = "KEY_SPELLCHECK"
KEY_SPORT Key = "KEY_SPORT"
KEY_SPREADSHEET Key = "KEY_SPREADSHEET"
KEY_STOP Key = "KEY_STOP"
KEY_STOPCD Key = "KEY_STOPCD"
KEY_SUBTITLE Key = "KEY_SUBTITLE"
KEY_SUSPEND Key = "KEY_SUSPEND"
KEY_SWITCHVIDEOMODE Key = "KEY_SWITCHVIDEOMODE"
KEY_SYSRQ Key = "KEY_SYSRQ"
KEY_T Key = "KEY_T"
KEY_TAB Key = "KEY_TAB"
KEY_TAPE Key = "KEY_TAPE"
KEY_TASKMANAGER Key = "KEY_TASKMANAGER"
KEY_TEEN Key = "KEY_TEEN"
KEY_TEXT Key = "KEY_TEXT"
KEY_TIME Key = "KEY_TIME"
KEY_TITLE Key = "KEY_TITLE"
KEY_TOUCHPAD_OFF Key = "KEY_TOUCHPAD_OFF"
KEY_TOUCHPAD_ON Key = "KEY_TOUCHPAD_ON"
KEY_TOUCHPAD_TOGGLE Key = "KEY_TOUCHPAD_TOGGLE"
KEY_TUNER Key = "KEY_TUNER"
KEY_TV Key = "KEY_TV"
KEY_TV2 Key = "KEY_TV2"
KEY_TWEN Key = "KEY_TWEN"
KEY_U Key = "KEY_U"
KEY_UNDO Key = "KEY_UNDO"
KEY_UNKNOWN Key = "KEY_UNKNOWN"
KEY_UP Key = "KEY_UP"
KEY_UWB Key = "KEY_UWB"
KEY_V Key = "KEY_V"
KEY_VCR Key = "KEY_VCR"
KEY_VCR2 Key = "KEY_VCR2"
KEY_VENDOR Key = "KEY_VENDOR"
KEY_VIDEO Key = "KEY_VIDEO"
KEY_VIDEO_NEXT Key = "KEY_VIDEO_NEXT"
KEY_VIDEOPHONE Key = "KEY_VIDEOPHONE"
KEY_VIDEO_PREV Key = "KEY_VIDEO_PREV"
KEY_VOICECOMMAND Key = "KEY_VOICECOMMAND"
KEY_VOICEMAIL Key = "KEY_VOICEMAIL"
KEY_VOLUMEDOWN Key = "KEY_VOLUMEDOWN"
KEY_VOLUMEUP Key = "KEY_VOLUMEUP"
KEY_W Key = "KEY_W"
KEY_WAKEUP Key = "KEY_WAKEUP"
KEY_WLAN Key = "KEY_WLAN"
KEY_WORDPROCESSOR Key = "KEY_WORDPROCESSOR"
KEY_WPS_BUTTON Key = "KEY_WPS_BUTTON"
KEY_WWAN Key = "KEY_WWAN"
KEY_WWW Key = "KEY_WWW"
KEY_X Key = "KEY_X"
KEY_XFER Key = "KEY_XFER"
KEY_Y Key = "KEY_Y"
KEY_YELLOW Key = "KEY_YELLOW"
KEY_YEN Key = "KEY_YEN"
KEY_Z Key = "KEY_Z"
KEY_ZENKAKUHANKAKU Key = "KEY_ZENKAKUHANKAKU"
KEY_ZOOM Key = "KEY_ZOOM"
KEY_ZOOMIN Key = "KEY_ZOOMIN"
KEY_ZOOMOUT Key = "KEY_ZOOMOUT"
KEY_ZOOMRESET Key = "KEY_ZOOMRESET"
BTN_0 Key = "BTN_0"
BTN_1 Key = "BTN_1"
BTN_2 Key = "BTN_2"
BTN_3 Key = "BTN_3"
BTN_4 Key = "BTN_4"
BTN_5 Key = "BTN_5"
BTN_6 Key = "BTN_6"
BTN_7 Key = "BTN_7"
BTN_8 Key = "BTN_8"
BTN_9 Key = "BTN_9"
BTN_BACK Key = "BTN_BACK"
BTN_BASE Key = "BTN_BASE"
BTN_BASE2 Key = "BTN_BASE2"
BTN_BASE3 Key = "BTN_BASE3"
BTN_BASE4 Key = "BTN_BASE4"
BTN_BASE5 Key = "BTN_BASE5"
BTN_BASE6 Key = "BTN_BASE6"
BTN_C Key = "BTN_C"
BTN_DEAD Key = "BTN_DEAD"
BTN_DIGI Key = "BTN_DIGI"
BTN_DPAD_DOWN Key = "BTN_DPAD_DOWN"
BTN_DPAD_LEFT Key = "BTN_DPAD_LEFT"
BTN_DPAD_RIGHT Key = "BTN_DPAD_RIGHT"
BTN_DPAD_UP Key = "BTN_DPAD_UP"
BTN_EAST Key = "BTN_EAST"
BTN_EXTRA Key = "BTN_EXTRA"
BTN_FORWARD Key = "BTN_FORWARD"
BTN_GAMEPAD Key = "BTN_GAMEPAD"
BTN_GEAR_DOWN Key = "BTN_GEAR_DOWN"
BTN_GEAR_UP Key = "BTN_GEAR_UP"
BTN_JOYSTICK Key = "BTN_JOYSTICK"
BTN_LEFT Key = "BTN_LEFT"
BTN_MIDDLE Key = "BTN_MIDDLE"
BTN_MISC Key = "BTN_MISC"
BTN_MODE Key = "BTN_MODE"
BTN_MOUSE Key = "BTN_MOUSE"
BTN_NORTH Key = "BTN_NORTH"
BTN_PINKIE Key = "BTN_PINKIE"
BTN_RIGHT Key = "BTN_RIGHT"
BTN_SELECT Key = "BTN_SELECT"
BTN_SIDE Key = "BTN_SIDE"
BTN_SOUTH Key = "BTN_SOUTH"
BTN_START Key = "BTN_START"
BTN_STYLUS Key = "BTN_STYLUS"
BTN_STYLUS2 Key = "BTN_STYLUS2"
BTN_TASK Key = "BTN_TASK"
BTN_THUMB Key = "BTN_THUMB"
BTN_THUMB2 Key = "BTN_THUMB2"
BTN_THUMBL Key = "BTN_THUMBL"
BTN_THUMBR Key = "BTN_THUMBR"
BTN_TL Key = "BTN_TL"
BTN_TL2 Key = "BTN_TL2"
BTN_TOOL_AIRBRUSH Key = "BTN_TOOL_AIRBRUSH"
BTN_TOOL_BRUSH Key = "BTN_TOOL_BRUSH"
BTN_TOOL_DOUBLETAP Key = "BTN_TOOL_DOUBLETAP"
BTN_TOOL_FINGER Key = "BTN_TOOL_FINGER"
BTN_TOOL_LENS Key = "BTN_TOOL_LENS"
BTN_TOOL_MOUSE Key = "BTN_TOOL_MOUSE"
BTN_TOOL_PEN Key = "BTN_TOOL_PEN"
BTN_TOOL_PENCIL Key = "BTN_TOOL_PENCIL"
BTN_TOOL_QUADTAP Key = "BTN_TOOL_QUADTAP"
BTN_TOOL_QUINTTAP Key = "BTN_TOOL_QUINTTAP"
BTN_TOOL_RUBBER Key = "BTN_TOOL_RUBBER"
BTN_TOOL_TRIPLETAP Key = "BTN_TOOL_TRIPLETAP"
BTN_TOP Key = "BTN_TOP"
BTN_TOP2 Key = "BTN_TOP2"
BTN_TOUCH Key = "BTN_TOUCH"
BTN_TR Key = "BTN_TR"
BTN_TR2 Key = "BTN_TR2"
BTN_TRIGGER Key = "BTN_TRIGGER"
BTN_TRIGGER_HAPPY Key = "BTN_TRIGGER_HAPPY"
BTN_TRIGGER_HAPPY10 Key = "BTN_TRIGGER_HAPPY10"
BTN_TRIGGER_HAPPY1 Key = "BTN_TRIGGER_HAPPY1"
BTN_TRIGGER_HAPPY11 Key = "BTN_TRIGGER_HAPPY11"
BTN_TRIGGER_HAPPY12 Key = "BTN_TRIGGER_HAPPY12"
BTN_TRIGGER_HAPPY13 Key = "BTN_TRIGGER_HAPPY13"
BTN_TRIGGER_HAPPY14 Key = "BTN_TRIGGER_HAPPY14"
BTN_TRIGGER_HAPPY15 Key = "BTN_TRIGGER_HAPPY15"
BTN_TRIGGER_HAPPY16 Key = "BTN_TRIGGER_HAPPY16"
BTN_TRIGGER_HAPPY17 Key = "BTN_TRIGGER_HAPPY17"
BTN_TRIGGER_HAPPY18 Key = "BTN_TRIGGER_HAPPY18"
BTN_TRIGGER_HAPPY19 Key = "BTN_TRIGGER_HAPPY19"
BTN_TRIGGER_HAPPY20 Key = "BTN_TRIGGER_HAPPY20"
BTN_TRIGGER_HAPPY2 Key = "BTN_TRIGGER_HAPPY2"
BTN_TRIGGER_HAPPY21 Key = "BTN_TRIGGER_HAPPY21"
BTN_TRIGGER_HAPPY22 Key = "BTN_TRIGGER_HAPPY22"
BTN_TRIGGER_HAPPY23 Key = "BTN_TRIGGER_HAPPY23"
BTN_TRIGGER_HAPPY24 Key = "BTN_TRIGGER_HAPPY24"
BTN_TRIGGER_HAPPY25 Key = "BTN_TRIGGER_HAPPY25"
BTN_TRIGGER_HAPPY26 Key = "BTN_TRIGGER_HAPPY26"
BTN_TRIGGER_HAPPY27 Key = "BTN_TRIGGER_HAPPY27"
BTN_TRIGGER_HAPPY28 Key = "BTN_TRIGGER_HAPPY28"
BTN_TRIGGER_HAPPY29 Key = "BTN_TRIGGER_HAPPY29"
BTN_TRIGGER_HAPPY30 Key = "BTN_TRIGGER_HAPPY30"
BTN_TRIGGER_HAPPY3 Key = "BTN_TRIGGER_HAPPY3"
BTN_TRIGGER_HAPPY31 Key = "BTN_TRIGGER_HAPPY31"
BTN_TRIGGER_HAPPY32 Key = "BTN_TRIGGER_HAPPY32"
BTN_TRIGGER_HAPPY33 Key = "BTN_TRIGGER_HAPPY33"
BTN_TRIGGER_HAPPY34 Key = "BTN_TRIGGER_HAPPY34"
BTN_TRIGGER_HAPPY35 Key = "BTN_TRIGGER_HAPPY35"
BTN_TRIGGER_HAPPY36 Key = "BTN_TRIGGER_HAPPY36"
BTN_TRIGGER_HAPPY37 Key = "BTN_TRIGGER_HAPPY37"
BTN_TRIGGER_HAPPY38 Key = "BTN_TRIGGER_HAPPY38"
BTN_TRIGGER_HAPPY39 Key = "BTN_TRIGGER_HAPPY39"
BTN_TRIGGER_HAPPY40 Key = "BTN_TRIGGER_HAPPY40"
BTN_TRIGGER_HAPPY4 Key = "BTN_TRIGGER_HAPPY4"
BTN_TRIGGER_HAPPY5 Key = "BTN_TRIGGER_HAPPY5"
BTN_TRIGGER_HAPPY6 Key = "BTN_TRIGGER_HAPPY6"
BTN_TRIGGER_HAPPY7 Key = "BTN_TRIGGER_HAPPY7"
BTN_TRIGGER_HAPPY8 Key = "BTN_TRIGGER_HAPPY8"
BTN_TRIGGER_HAPPY9 Key = "BTN_TRIGGER_HAPPY9"
BTN_WEST Key = "BTN_WEST"
BTN_WHEEL Key = "BTN_WHEEL"
BTN_Z Key = "BTN_Z"
// The following came for the author's personal remote.
KEY_100PLUS Key = "KEY_100PLUS"
KEY_200PLUS Key = "KEY_200PLUS"
KEY_EQ Key = "KEY_EQ"
)
// Message is one received message.
type Message struct {
Key Key
RemoteType string // Remote type name
Repeat bool // true if the button press is a repeated key press; i.e. the user holds the button
}
// Conn defines an infrared receiver and emitter.
type Conn interface {
// Channel returns a channel that is used to listen to new messages capted by
// the IR receiver. It will be closed when the device is closed.
Channel() <-chan Message
// Emit emits a key press.
Emit(remote string, key Key) error
}