132cf86f6SMauro Carvalho Chehab /* behold-columbus.h - Keytable for behold_columbus Remote Controller 232cf86f6SMauro Carvalho Chehab * 332cf86f6SMauro Carvalho Chehab * keymap imported from ir-keymaps.c 432cf86f6SMauro Carvalho Chehab * 532cf86f6SMauro Carvalho Chehab * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> 632cf86f6SMauro Carvalho Chehab * 732cf86f6SMauro Carvalho Chehab * This program is free software; you can redistribute it and/or modify 832cf86f6SMauro Carvalho Chehab * it under the terms of the GNU General Public License as published by 932cf86f6SMauro Carvalho Chehab * the Free Software Foundation; either version 2 of the License, or 1032cf86f6SMauro Carvalho Chehab * (at your option) any later version. 1132cf86f6SMauro Carvalho Chehab */ 1232cf86f6SMauro Carvalho Chehab 1332cf86f6SMauro Carvalho Chehab #include <media/rc-map.h> 1432cf86f6SMauro Carvalho Chehab 1532cf86f6SMauro Carvalho Chehab /* Beholder Intl. Ltd. 2008 1632cf86f6SMauro Carvalho Chehab * Dmitry Belimov d.belimov@google.com 1732cf86f6SMauro Carvalho Chehab * Keytable is used by BeholdTV Columbus 1832cf86f6SMauro Carvalho Chehab * The "ascii-art picture" below (in comments, first row 1932cf86f6SMauro Carvalho Chehab * is the keycode in hex, and subsequent row(s) shows 2032cf86f6SMauro Carvalho Chehab * the button labels (several variants when appropriate) 2132cf86f6SMauro Carvalho Chehab * helps to descide which keycodes to assign to the buttons. 2232cf86f6SMauro Carvalho Chehab */ 2332cf86f6SMauro Carvalho Chehab 242f4f58d6SMauro Carvalho Chehab static struct rc_map_table behold_columbus[] = { 2532cf86f6SMauro Carvalho Chehab 2632cf86f6SMauro Carvalho Chehab /* 0x13 0x11 0x1C 0x12 * 2732cf86f6SMauro Carvalho Chehab * Mute Source TV/FM Power * 2832cf86f6SMauro Carvalho Chehab * */ 2932cf86f6SMauro Carvalho Chehab 3032cf86f6SMauro Carvalho Chehab { 0x13, KEY_MUTE }, 3132cf86f6SMauro Carvalho Chehab { 0x11, KEY_PROPS }, 3232cf86f6SMauro Carvalho Chehab { 0x1C, KEY_TUNER }, /* KEY_TV/KEY_RADIO */ 3332cf86f6SMauro Carvalho Chehab { 0x12, KEY_POWER }, 3432cf86f6SMauro Carvalho Chehab 3532cf86f6SMauro Carvalho Chehab /* 0x01 0x02 0x03 0x0D * 3632cf86f6SMauro Carvalho Chehab * 1 2 3 Stereo * 3732cf86f6SMauro Carvalho Chehab * * 3832cf86f6SMauro Carvalho Chehab * 0x04 0x05 0x06 0x19 * 3932cf86f6SMauro Carvalho Chehab * 4 5 6 Snapshot * 4032cf86f6SMauro Carvalho Chehab * * 4132cf86f6SMauro Carvalho Chehab * 0x07 0x08 0x09 0x10 * 4232cf86f6SMauro Carvalho Chehab * 7 8 9 Zoom * 4332cf86f6SMauro Carvalho Chehab * */ 4432cf86f6SMauro Carvalho Chehab { 0x01, KEY_1 }, 4532cf86f6SMauro Carvalho Chehab { 0x02, KEY_2 }, 4632cf86f6SMauro Carvalho Chehab { 0x03, KEY_3 }, 4732cf86f6SMauro Carvalho Chehab { 0x0D, KEY_SETUP }, /* Setup key */ 4832cf86f6SMauro Carvalho Chehab { 0x04, KEY_4 }, 4932cf86f6SMauro Carvalho Chehab { 0x05, KEY_5 }, 5032cf86f6SMauro Carvalho Chehab { 0x06, KEY_6 }, 5132cf86f6SMauro Carvalho Chehab { 0x19, KEY_CAMERA }, /* Snapshot key */ 5232cf86f6SMauro Carvalho Chehab { 0x07, KEY_7 }, 5332cf86f6SMauro Carvalho Chehab { 0x08, KEY_8 }, 5432cf86f6SMauro Carvalho Chehab { 0x09, KEY_9 }, 5532cf86f6SMauro Carvalho Chehab { 0x10, KEY_ZOOM }, 5632cf86f6SMauro Carvalho Chehab 5732cf86f6SMauro Carvalho Chehab /* 0x0A 0x00 0x0B 0x0C * 5832cf86f6SMauro Carvalho Chehab * RECALL 0 ChannelUp VolumeUp * 5932cf86f6SMauro Carvalho Chehab * */ 6032cf86f6SMauro Carvalho Chehab { 0x0A, KEY_AGAIN }, 6132cf86f6SMauro Carvalho Chehab { 0x00, KEY_0 }, 6232cf86f6SMauro Carvalho Chehab { 0x0B, KEY_CHANNELUP }, 6332cf86f6SMauro Carvalho Chehab { 0x0C, KEY_VOLUMEUP }, 6432cf86f6SMauro Carvalho Chehab 6532cf86f6SMauro Carvalho Chehab /* 0x1B 0x1D 0x15 0x18 * 6632cf86f6SMauro Carvalho Chehab * Timeshift Record ChannelDown VolumeDown * 6732cf86f6SMauro Carvalho Chehab * */ 6832cf86f6SMauro Carvalho Chehab 6932cf86f6SMauro Carvalho Chehab { 0x1B, KEY_TIME }, 7032cf86f6SMauro Carvalho Chehab { 0x1D, KEY_RECORD }, 7132cf86f6SMauro Carvalho Chehab { 0x15, KEY_CHANNELDOWN }, 7232cf86f6SMauro Carvalho Chehab { 0x18, KEY_VOLUMEDOWN }, 7332cf86f6SMauro Carvalho Chehab 7432cf86f6SMauro Carvalho Chehab /* 0x0E 0x1E 0x0F 0x1A * 7532cf86f6SMauro Carvalho Chehab * Stop Pause Previouse Next * 7632cf86f6SMauro Carvalho Chehab * */ 7732cf86f6SMauro Carvalho Chehab 7832cf86f6SMauro Carvalho Chehab { 0x0E, KEY_STOP }, 7932cf86f6SMauro Carvalho Chehab { 0x1E, KEY_PAUSE }, 8032cf86f6SMauro Carvalho Chehab { 0x0F, KEY_PREVIOUS }, 8132cf86f6SMauro Carvalho Chehab { 0x1A, KEY_NEXT }, 8232cf86f6SMauro Carvalho Chehab 8332cf86f6SMauro Carvalho Chehab }; 8432cf86f6SMauro Carvalho Chehab 8532cf86f6SMauro Carvalho Chehab static struct rc_keymap behold_columbus_map = { 8632cf86f6SMauro Carvalho Chehab .map = { 8732cf86f6SMauro Carvalho Chehab .scan = behold_columbus, 8832cf86f6SMauro Carvalho Chehab .size = ARRAY_SIZE(behold_columbus), 8952b66144SMauro Carvalho Chehab .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ 9032cf86f6SMauro Carvalho Chehab .name = RC_MAP_BEHOLD_COLUMBUS, 9132cf86f6SMauro Carvalho Chehab } 9232cf86f6SMauro Carvalho Chehab }; 9332cf86f6SMauro Carvalho Chehab 9432cf86f6SMauro Carvalho Chehab static int __init init_rc_map_behold_columbus(void) 9532cf86f6SMauro Carvalho Chehab { 9632cf86f6SMauro Carvalho Chehab return ir_register_map(&behold_columbus_map); 9732cf86f6SMauro Carvalho Chehab } 9832cf86f6SMauro Carvalho Chehab 9932cf86f6SMauro Carvalho Chehab static void __exit exit_rc_map_behold_columbus(void) 10032cf86f6SMauro Carvalho Chehab { 10132cf86f6SMauro Carvalho Chehab ir_unregister_map(&behold_columbus_map); 10232cf86f6SMauro Carvalho Chehab } 10332cf86f6SMauro Carvalho Chehab 10432cf86f6SMauro Carvalho Chehab module_init(init_rc_map_behold_columbus) 10532cf86f6SMauro Carvalho Chehab module_exit(exit_rc_map_behold_columbus) 10632cf86f6SMauro Carvalho Chehab 10732cf86f6SMauro Carvalho Chehab MODULE_LICENSE("GPL"); 10832cf86f6SMauro Carvalho Chehab MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); 109