Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[media] rc: add rc-reddo

It is very similar than rc-msi-digivox-iii but new keytable is needed
as there is one existing scancode mapped to different button. Also that
one has less buttons.
NEC extended protocol with address 0x61d6.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

authored by

Antti Palosaari and committed by
Mauro Carvalho Chehab
52f5ad6c 068a0df7

+88
+1
drivers/media/rc/keymaps/Makefile
··· 78 78 rc-hauppauge.o \ 79 79 rc-rc6-mce.o \ 80 80 rc-real-audio-220-32-keys.o \ 81 + rc-reddo.o \ 81 82 rc-snapstream-firefly.o \ 82 83 rc-streamzap.o \ 83 84 rc-tbs-nec.o \
+86
drivers/media/rc/keymaps/rc-reddo.c
··· 1 + /* 2 + * MSI DIGIVOX mini III remote controller keytable 3 + * 4 + * Copyright (C) 2013 Antti Palosaari <crope@iki.fi> 5 + * 6 + * This program is free software; you can redistribute it and/or modify 7 + * it under the terms of the GNU General Public License as published by 8 + * the Free Software Foundation; either version 2 of the License, or 9 + * (at your option) any later version. 10 + * 11 + * This program is distributed in the hope that it will be useful, 12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 + * GNU General Public License for more details. 15 + * 16 + * You should have received a copy of the GNU General Public License along 17 + * with this program; if not, write to the Free Software Foundation, Inc., 18 + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 19 + */ 20 + 21 + #include <media/rc-map.h> 22 + #include <linux/module.h> 23 + 24 + /* 25 + * Derived from MSI DIGIVOX mini III remote (rc-msi-digivox-iii.c) 26 + * 27 + * Differences between these remotes are: 28 + * 29 + * 1) scancode 0x61d601 is mapped to different button: 30 + * MSI DIGIVOX mini III "Source" = KEY_VIDEO 31 + * Reddo "EPG" = KEY_EPG 32 + * 33 + * 2) Reddo remote has less buttons. Missing buttons are: colored buttons, 34 + * navigation buttons and main power button. 35 + */ 36 + 37 + static struct rc_map_table reddo[] = { 38 + { 0x61d601, KEY_EPG }, /* EPG */ 39 + { 0x61d602, KEY_3 }, 40 + { 0x61d604, KEY_1 }, 41 + { 0x61d605, KEY_5 }, 42 + { 0x61d606, KEY_6 }, 43 + { 0x61d607, KEY_CHANNELDOWN }, /* CH- */ 44 + { 0x61d608, KEY_2 }, 45 + { 0x61d609, KEY_CHANNELUP }, /* CH+ */ 46 + { 0x61d60a, KEY_9 }, 47 + { 0x61d60b, KEY_ZOOM }, /* Zoom */ 48 + { 0x61d60c, KEY_7 }, 49 + { 0x61d60d, KEY_8 }, 50 + { 0x61d60e, KEY_VOLUMEUP }, /* Vol+ */ 51 + { 0x61d60f, KEY_4 }, 52 + { 0x61d610, KEY_ESC }, /* [back up arrow] */ 53 + { 0x61d611, KEY_0 }, 54 + { 0x61d612, KEY_OK }, /* [enter arrow] */ 55 + { 0x61d613, KEY_VOLUMEDOWN }, /* Vol- */ 56 + { 0x61d614, KEY_RECORD }, /* Rec */ 57 + { 0x61d615, KEY_STOP }, /* Stop */ 58 + { 0x61d616, KEY_PLAY }, /* Play */ 59 + { 0x61d617, KEY_MUTE }, /* Mute */ 60 + { 0x61d643, KEY_POWER2 }, /* [red power button] */ 61 + }; 62 + 63 + static struct rc_map_list reddo_map = { 64 + .map = { 65 + .scan = reddo, 66 + .size = ARRAY_SIZE(reddo), 67 + .rc_type = RC_TYPE_NEC, 68 + .name = RC_MAP_REDDO, 69 + } 70 + }; 71 + 72 + static int __init init_rc_map_reddo(void) 73 + { 74 + return rc_map_register(&reddo_map); 75 + } 76 + 77 + static void __exit exit_rc_map_reddo(void) 78 + { 79 + rc_map_unregister(&reddo_map); 80 + } 81 + 82 + module_init(init_rc_map_reddo) 83 + module_exit(exit_rc_map_reddo) 84 + 85 + MODULE_LICENSE("GPL"); 86 + MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>");
+1
include/media/rc-map.h
··· 172 172 #define RC_MAP_RC5_TV "rc-rc5-tv" 173 173 #define RC_MAP_RC6_MCE "rc-rc6-mce" 174 174 #define RC_MAP_REAL_AUDIO_220_32_KEYS "rc-real-audio-220-32-keys" 175 + #define RC_MAP_REDDO "rc-reddo" 175 176 #define RC_MAP_SNAPSTREAM_FIREFLY "rc-snapstream-firefly" 176 177 #define RC_MAP_STREAMZAP "rc-streamzap" 177 178 #define RC_MAP_TBS_NEC "rc-tbs-nec"