Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0+
0002 // behold.h - Keytable for behold Remote Controller
0003 //
0004 // keymap imported from ir-keymaps.c
0005 //
0006 // Copyright (c) 2010 by Mauro Carvalho Chehab
0007 
0008 #include <media/rc-map.h>
0009 #include <linux/module.h>
0010 
0011 /*
0012  * Igor Kuznetsov <igk72@ya.ru>
0013  * Andrey J. Melnikov <temnota@kmv.ru>
0014  *
0015  * Keytable is used by BeholdTV 60x series, M6 series at
0016  * least, and probably other cards too.
0017  * The "ascii-art picture" below (in comments, first row
0018  * is the keycode in hex, and subsequent row(s) shows
0019  * the button labels (several variants when appropriate)
0020  * helps to decide which keycodes to assign to the buttons.
0021  */
0022 
0023 static struct rc_map_table behold[] = {
0024 
0025     /*  0x1c            0x12  *
0026      *  TV/FM          POWER  *
0027      *                        */
0028     { 0x866b1c, KEY_TUNER },    /* XXX KEY_TV / KEY_RADIO */
0029     { 0x866b12, KEY_POWER },
0030 
0031     /*  0x01    0x02    0x03  *
0032      *   1       2       3    *
0033      *                        *
0034      *  0x04    0x05    0x06  *
0035      *   4       5       6    *
0036      *                        *
0037      *  0x07    0x08    0x09  *
0038      *   7       8       9    *
0039      *                        */
0040     { 0x866b01, KEY_NUMERIC_1 },
0041     { 0x866b02, KEY_NUMERIC_2 },
0042     { 0x866b03, KEY_NUMERIC_3 },
0043     { 0x866b04, KEY_NUMERIC_4 },
0044     { 0x866b05, KEY_NUMERIC_5 },
0045     { 0x866b06, KEY_NUMERIC_6 },
0046     { 0x866b07, KEY_NUMERIC_7 },
0047     { 0x866b08, KEY_NUMERIC_8 },
0048     { 0x866b09, KEY_NUMERIC_9 },
0049 
0050     /*  0x0a    0x00    0x17  *
0051      * RECALL    0      MODE  *
0052      *                        */
0053     { 0x866b0a, KEY_AGAIN },
0054     { 0x866b00, KEY_NUMERIC_0 },
0055     { 0x866b17, KEY_MODE },
0056 
0057     /*  0x14          0x10    *
0058      * ASPECT      FULLSCREEN *
0059      *                        */
0060     { 0x866b14, KEY_SCREEN },
0061     { 0x866b10, KEY_ZOOM },
0062 
0063     /*          0x0b          *
0064      *           Up           *
0065      *                        *
0066      *  0x18    0x16    0x0c  *
0067      *  Left     Ok     Right *
0068      *                        *
0069      *         0x015          *
0070      *         Down           *
0071      *                        */
0072     { 0x866b0b, KEY_CHANNELUP },
0073     { 0x866b18, KEY_VOLUMEDOWN },
0074     { 0x866b16, KEY_OK },       /* XXX KEY_ENTER */
0075     { 0x866b0c, KEY_VOLUMEUP },
0076     { 0x866b15, KEY_CHANNELDOWN },
0077 
0078     /*  0x11            0x0d  *
0079      *  MUTE            INFO  *
0080      *                        */
0081     { 0x866b11, KEY_MUTE },
0082     { 0x866b0d, KEY_INFO },
0083 
0084     /*  0x0f    0x1b    0x1a  *
0085      * RECORD PLAY/PAUSE STOP *
0086      *                        *
0087      *  0x0e    0x1f    0x1e  *
0088      *TELETEXT  AUDIO  SOURCE *
0089      *           RED   YELLOW *
0090      *                        */
0091     { 0x866b0f, KEY_RECORD },
0092     { 0x866b1b, KEY_PLAYPAUSE },
0093     { 0x866b1a, KEY_STOP },
0094     { 0x866b0e, KEY_TEXT },
0095     { 0x866b1f, KEY_RED },  /*XXX KEY_AUDIO */
0096     { 0x866b1e, KEY_VIDEO },
0097 
0098     /*  0x1d   0x13     0x19  *
0099      * SLEEP  PREVIEW   DVB   *
0100      *         GREEN    BLUE  *
0101      *                        */
0102     { 0x866b1d, KEY_SLEEP },
0103     { 0x866b13, KEY_GREEN },
0104     { 0x866b19, KEY_BLUE }, /* XXX KEY_SAT  */
0105 
0106     /*  0x58           0x5c   *
0107      * FREEZE        SNAPSHOT *
0108      *                        */
0109     { 0x866b58, KEY_SLOW },
0110     { 0x866b5c, KEY_CAMERA },
0111 
0112 };
0113 
0114 static struct rc_map_list behold_map = {
0115     .map = {
0116         .scan     = behold,
0117         .size     = ARRAY_SIZE(behold),
0118         .rc_proto = RC_PROTO_NECX,
0119         .name     = RC_MAP_BEHOLD,
0120     }
0121 };
0122 
0123 static int __init init_rc_map_behold(void)
0124 {
0125     return rc_map_register(&behold_map);
0126 }
0127 
0128 static void __exit exit_rc_map_behold(void)
0129 {
0130     rc_map_unregister(&behold_map);
0131 }
0132 
0133 module_init(init_rc_map_behold)
0134 module_exit(exit_rc_map_behold)
0135 
0136 MODULE_LICENSE("GPL");
0137 MODULE_AUTHOR("Mauro Carvalho Chehab");