Signed-off-by: Manoel Pinheiro <pinusdtv@xxxxxxxxxxx> --- drivers/media/rc/keymaps/Makefile | 1 + drivers/media/rc/keymaps/rc-tbs-dtb08.c | 77 +++++++++++++++++++++++++++++++ include/media/rc-map.h | 1 + 3 files changed, 79 insertions(+), 0 deletions(-) create mode 100644 drivers/media/rc/keymaps/rc-tbs-dtb08.c diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile index b57fc83..670febd 100644 --- a/drivers/media/rc/keymaps/Makefile +++ b/drivers/media/rc/keymaps/Makefile @@ -71,6 +71,7 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \ rc-rc6-mce.o \ rc-real-audio-220-32-keys.o \ rc-streamzap.o \ + rc-tbs-dtb08.o \ rc-tbs-nec.o \ rc-technisat-usb2.o \ rc-terratec-cinergy-xs.o \ diff --git a/drivers/media/rc/keymaps/rc-tbs-dtb08.c b/drivers/media/rc/keymaps/rc-tbs-dtb08.c new file mode 100644 index 0000000..bd2562a --- /dev/null +++ b/drivers/media/rc/keymaps/rc-tbs-dtb08.c @@ -0,0 +1,77 @@ +/* + * TBS-Tech ISDB-T Full Seg DTB08 remote controller keytable + * + * Copyright (C) 2011 Manoel Pinheiro <pinusdtv@xxxxxxxxxxxx> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include <media/rc-map.h> + +static struct rc_map_table tbs_dtb08[] = { + { 0x10, KEY_POWER }, /* power */ + { 0x06, KEY_MUTE }, /* mute */ + { 0x4c, KEY_1 }, + { 0x04, KEY_2 }, + { 0x00, KEY_3 }, + { 0x1e, KEY_4 }, + { 0x0e, KEY_5 }, + { 0x1a, KEY_6 }, + { 0x14, KEY_7 }, + { 0x0f, KEY_8 }, + { 0x0c, KEY_9 }, + { 0x1c, KEY_0 }, + { 0x40, KEY_CHANNELUP }, /* ch+ */ + { 0x0a, KEY_CHANNELDOWN }, /* ch- */ + { 0x19, KEY_VOLUMEUP }, /* vol+ */ + { 0x17, KEY_VOLUMEDOWN }, /* vol- */ + { 0x11, KEY_OK }, /* ok */ + { 0x09, KEY_SHUFFLE }, /* scrn shot */ + { 0x1f, KEY_UP }, + { 0x1b, KEY_LEFT }, + { 0x15, KEY_RIGHT }, + { 0x16, KEY_DOWN }, + { 0x4d, KEY_FAVORITES }, /* fav */ + { 0x01, KEY_ZOOM }, + { 0x03, KEY_EPG }, + { 0x1d, KEY_PLAY }, + { 0x0d, KEY_STOP }, + /* { 0x12, FIXME: }, */ /* recall */ +}; + +static struct rc_map_list tbs_dtb08_map = { + .map = { + .scan = tbs_dtb08, + .size = ARRAY_SIZE(tbs_dtb08), + .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ + .name = RC_MAP_TBS_DTB08, + } +}; + +static int __init init_rc_map_tbs_dtb08(void) +{ + return rc_map_register(&tbs_dtb08_map); +} + +static void __exit exit_rc_map_tbs_dtb08(void) +{ + rc_map_unregister(&tbs_dtb08_map); +} + +module_init(init_rc_map_tbs_dtb08) +module_exit(exit_rc_map_tbs_dtb08) + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Manoel Pinheiro <pinusdtv@xxxxxxxxxxxx>"); diff --git a/include/media/rc-map.h b/include/media/rc-map.h index 4e1409e..9a8159a 100644 --- a/include/media/rc-map.h +++ b/include/media/rc-map.h @@ -130,6 +130,7 @@ void rc_map_init(void); #define RC_MAP_RC6_MCE "rc-rc6-mce" #define RC_MAP_REAL_AUDIO_220_32_KEYS "rc-real-audio-220-32-keys" #define RC_MAP_STREAMZAP "rc-streamzap" +#define RC_MAP_TBS_DTB08 "rc-tbs-dtb08" #define RC_MAP_TBS_NEC "rc-tbs-nec" #define RC_MAP_TECHNISAT_USB2 "rc-technisat-usb2" #define RC_MAP_TERRATEC_CINERGY_XS "rc-terratec-cinergy-xs" -- 1.7.3.4 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html