Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) // SPDX-License-Identifier: GPL-2.0-or-later
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) /* rc-rc6-mce.c - Keytable for Windows Media Center RC-6 remotes for use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3)  * with the Media Center Edition eHome Infrared Transceiver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5)  * Copyright (c) 2010 by Jarod Wilson <jarod@redhat.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7)  * See http://mediacenterguides.com/book/export/html/31 for details on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8)  * key mappings.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) #include <media/rc-map.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) #include <linux/module.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) static struct rc_map_table rc6_mce[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) 	{ 0x800f0400, KEY_NUMERIC_0 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 	{ 0x800f0401, KEY_NUMERIC_1 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 	{ 0x800f0402, KEY_NUMERIC_2 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 	{ 0x800f0403, KEY_NUMERIC_3 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 	{ 0x800f0404, KEY_NUMERIC_4 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 	{ 0x800f0405, KEY_NUMERIC_5 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 	{ 0x800f0406, KEY_NUMERIC_6 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 	{ 0x800f0407, KEY_NUMERIC_7 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 	{ 0x800f0408, KEY_NUMERIC_8 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 	{ 0x800f0409, KEY_NUMERIC_9 },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 	{ 0x800f040a, KEY_DELETE },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 	{ 0x800f040b, KEY_ENTER },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 	{ 0x800f040c, KEY_SLEEP },		/* Formerly PC Power */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 	{ 0x800f040d, KEY_MEDIA },		/* Windows MCE button */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 	{ 0x800f040e, KEY_MUTE },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 	{ 0x800f040f, KEY_INFO },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 	{ 0x800f0410, KEY_VOLUMEUP },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 	{ 0x800f0411, KEY_VOLUMEDOWN },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 	{ 0x800f0412, KEY_CHANNELUP },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 	{ 0x800f0413, KEY_CHANNELDOWN },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 	{ 0x800f0414, KEY_FASTFORWARD },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 	{ 0x800f0415, KEY_REWIND },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 	{ 0x800f0416, KEY_PLAY },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 	{ 0x800f0417, KEY_RECORD },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 	{ 0x800f0418, KEY_PAUSE },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 	{ 0x800f0419, KEY_STOP },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 	{ 0x800f041a, KEY_NEXT },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 	{ 0x800f041b, KEY_PREVIOUS },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 	{ 0x800f041c, KEY_NUMERIC_POUND },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 	{ 0x800f041d, KEY_NUMERIC_STAR },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 	{ 0x800f041e, KEY_UP },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 	{ 0x800f041f, KEY_DOWN },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 	{ 0x800f0420, KEY_LEFT },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 	{ 0x800f0421, KEY_RIGHT },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 	{ 0x800f0422, KEY_OK },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 	{ 0x800f0423, KEY_EXIT },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 	{ 0x800f0424, KEY_DVD },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	{ 0x800f0425, KEY_TUNER },		/* LiveTV */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 	{ 0x800f0426, KEY_EPG },		/* Guide */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 	{ 0x800f0427, KEY_ZOOM },		/* Aspect */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 	{ 0x800f0432, KEY_MODE },		/* Visualization */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 	{ 0x800f0433, KEY_PRESENTATION },	/* Slide Show */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 	{ 0x800f0434, KEY_EJECTCD },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	{ 0x800f043a, KEY_BRIGHTNESSUP },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	{ 0x800f0446, KEY_TV },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 	{ 0x800f0447, KEY_AUDIO },		/* My Music */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 	{ 0x800f0448, KEY_PVR },		/* RecordedTV */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 	{ 0x800f0449, KEY_CAMERA },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 	{ 0x800f044a, KEY_VIDEO },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 	{ 0x800f044c, KEY_LANGUAGE },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	{ 0x800f044d, KEY_TITLE },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	{ 0x800f044e, KEY_PRINT },	/* Print - HP OEM version of remote */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 	{ 0x800f0450, KEY_RADIO },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 	{ 0x800f045a, KEY_SUBTITLE },		/* Caption/Teletext */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 	{ 0x800f045b, KEY_RED },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 	{ 0x800f045c, KEY_GREEN },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 	{ 0x800f045d, KEY_YELLOW },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 	{ 0x800f045e, KEY_BLUE },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 	{ 0x800f0465, KEY_POWER2 },	/* TV Power */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 	{ 0x800f0469, KEY_MESSENGER },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	{ 0x800f046e, KEY_PLAYPAUSE },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 	{ 0x800f046f, KEY_PLAYER },	/* Start media application (NEW) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 	{ 0x800f0480, KEY_BRIGHTNESSDOWN },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 	{ 0x800f0481, KEY_PLAYPAUSE },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) static struct rc_map_list rc6_mce_map = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 	.map = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 		.scan     = rc6_mce,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 		.size     = ARRAY_SIZE(rc6_mce),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 		.rc_proto = RC_PROTO_RC6_MCE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 		.name     = RC_MAP_RC6_MCE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) static int __init init_rc_map_rc6_mce(void)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 	return rc_map_register(&rc6_mce_map);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) static void __exit exit_rc_map_rc6_mce(void)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 	rc_map_unregister(&rc6_mce_map);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) module_init(init_rc_map_rc6_mce)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) module_exit(exit_rc_map_rc6_mce)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) MODULE_LICENSE("GPL");
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) MODULE_AUTHOR("Jarod Wilson <jarod@redhat.com>");