root/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. init_rc_map_kworld_plus_tv_analog
  2. exit_rc_map_kworld_plus_tv_analog

   1 // SPDX-License-Identifier: GPL-2.0+
   2 // kworld-plus-tv-analog.h - Keytable for kworld_plus_tv_analog Remote Controller
   3 //
   4 // keymap imported from ir-keymaps.c
   5 //
   6 // Copyright (c) 2010 by Mauro Carvalho Chehab
   7 
   8 #include <media/rc-map.h>
   9 #include <linux/module.h>
  10 
  11 /* Kworld Plus TV Analog Lite PCI IR
  12    Mauro Carvalho Chehab <mchehab@kernel.org>
  13  */
  14 
  15 static struct rc_map_table kworld_plus_tv_analog[] = {
  16         { 0x0c, KEY_MEDIA },            /* Kworld key */
  17         { 0x16, KEY_CLOSECD },          /* -> ) */
  18         { 0x1d, KEY_POWER2 },
  19 
  20         { 0x00, KEY_NUMERIC_1 },
  21         { 0x01, KEY_NUMERIC_2 },
  22 
  23         /* Two keys have the same code: 3 and left */
  24         { 0x02, KEY_NUMERIC_3 },
  25 
  26         /* Two keys have the same code: 4 and right */
  27         { 0x03, KEY_NUMERIC_4 },
  28         { 0x04, KEY_NUMERIC_5 },
  29         { 0x05, KEY_NUMERIC_6 },
  30         { 0x06, KEY_NUMERIC_7 },
  31         { 0x07, KEY_NUMERIC_8 },
  32         { 0x08, KEY_NUMERIC_9 },
  33         { 0x0a, KEY_NUMERIC_0 },
  34 
  35         { 0x09, KEY_AGAIN },
  36         { 0x14, KEY_MUTE },
  37 
  38         { 0x20, KEY_UP },
  39         { 0x21, KEY_DOWN },
  40         { 0x0b, KEY_ENTER },
  41 
  42         { 0x10, KEY_CHANNELUP },
  43         { 0x11, KEY_CHANNELDOWN },
  44 
  45         /* Couldn't map key left/key right since those
  46            conflict with '3' and '4' scancodes
  47            I dunno what the original driver does
  48          */
  49 
  50         { 0x13, KEY_VOLUMEUP },
  51         { 0x12, KEY_VOLUMEDOWN },
  52 
  53         /* The lower part of the IR
  54            There are several duplicated keycodes there.
  55            Most of them conflict with digits.
  56            Add mappings just to the unused scancodes.
  57            Somehow, the original driver has a way to know,
  58            but this doesn't seem to be on some GPIO.
  59            Also, it is not related to the time between keyup
  60            and keydown.
  61          */
  62         { 0x19, KEY_TIME},              /* Timeshift */
  63         { 0x1a, KEY_STOP},
  64         { 0x1b, KEY_RECORD},
  65 
  66         { 0x22, KEY_TEXT},
  67 
  68         { 0x15, KEY_AUDIO},             /* ((*)) */
  69         { 0x0f, KEY_ZOOM},
  70         { 0x1c, KEY_CAMERA},            /* snapshot */
  71 
  72         { 0x18, KEY_RED},               /* B */
  73         { 0x23, KEY_GREEN},             /* C */
  74 };
  75 
  76 static struct rc_map_list kworld_plus_tv_analog_map = {
  77         .map = {
  78                 .scan     = kworld_plus_tv_analog,
  79                 .size     = ARRAY_SIZE(kworld_plus_tv_analog),
  80                 .rc_proto = RC_PROTO_UNKNOWN,   /* Legacy IR type */
  81                 .name     = RC_MAP_KWORLD_PLUS_TV_ANALOG,
  82         }
  83 };
  84 
  85 static int __init init_rc_map_kworld_plus_tv_analog(void)
  86 {
  87         return rc_map_register(&kworld_plus_tv_analog_map);
  88 }
  89 
  90 static void __exit exit_rc_map_kworld_plus_tv_analog(void)
  91 {
  92         rc_map_unregister(&kworld_plus_tv_analog_map);
  93 }
  94 
  95 module_init(init_rc_map_kworld_plus_tv_analog)
  96 module_exit(exit_rc_map_kworld_plus_tv_analog)
  97 
  98 MODULE_LICENSE("GPL");
  99 MODULE_AUTHOR("Mauro Carvalho Chehab");

/* [<][>][^][v][top][bottom][index][help] */