LCOV - code coverage report
Current view: top level - drivers/media/rc/keymaps - rc-imon-rsc.c (source / functions) Hit Total Coverage
Test: Real Lines: 2 5 40.0 %
Date: 2020-10-17 15:46:43 Functions: 0 2 0.0 %
Legend: Neither, QEMU, Real, Both Branches: 0 0 -

           Branch data     Line data    Source code
       1                 :            : // SPDX-License-Identifier: GPL-2.0+
       2                 :            : //
       3                 :            : // Copyright (C) 2018 Sean Young <sean@mess.org>
       4                 :            : 
       5                 :            : #include <media/rc-map.h>
       6                 :            : #include <linux/module.h>
       7                 :            : 
       8                 :            : //
       9                 :            : // Note that this remote has a stick which its own IR protocol,
      10                 :            : // with 16 directions. This is supported by the imon_rsc BPF decoder
      11                 :            : // in v4l-utils.
      12                 :            : //
      13                 :            : static struct rc_map_table imon_rsc[] = {
      14                 :            :         { 0x801010, KEY_EXIT },
      15                 :            :         { 0x80102f, KEY_POWER },
      16                 :            :         { 0x80104a, KEY_SCREENSAVER },  /* Screensaver */
      17                 :            :         { 0x801049, KEY_TIME },         /* Timer */
      18                 :            :         { 0x801054, KEY_NUMERIC_1 },
      19                 :            :         { 0x801055, KEY_NUMERIC_2 },
      20                 :            :         { 0x801056, KEY_NUMERIC_3 },
      21                 :            :         { 0x801057, KEY_NUMERIC_4 },
      22                 :            :         { 0x801058, KEY_NUMERIC_5 },
      23                 :            :         { 0x801059, KEY_NUMERIC_6 },
      24                 :            :         { 0x80105a, KEY_NUMERIC_7 },
      25                 :            :         { 0x80105b, KEY_NUMERIC_8 },
      26                 :            :         { 0x80105c, KEY_NUMERIC_9 },
      27                 :            :         { 0x801081, KEY_SCREEN },       /* Desktop */
      28                 :            :         { 0x80105d, KEY_NUMERIC_0 },
      29                 :            :         { 0x801082, KEY_ZOOM },         /* Maximise */
      30                 :            :         { 0x801048, KEY_ESC },
      31                 :            :         { 0x80104b, KEY_MEDIA },        /* Windows key */
      32                 :            :         { 0x801083, KEY_MENU },
      33                 :            :         { 0x801045, KEY_APPSELECT },    /* app launcher */
      34                 :            :         { 0x801084, KEY_STOP },
      35                 :            :         { 0x801046, KEY_CYCLEWINDOWS },
      36                 :            :         { 0x801085, KEY_BACKSPACE },
      37                 :            :         { 0x801086, KEY_KEYBOARD },
      38                 :            :         { 0x801087, KEY_SPACE },
      39                 :            :         { 0x80101e, KEY_RESERVED },     /* shift tab */
      40                 :            :         { 0x801098, BTN_0 },
      41                 :            :         { 0x80101f, KEY_TAB },
      42                 :            :         { 0x80101b, BTN_LEFT },
      43                 :            :         { 0x80101d, BTN_RIGHT },
      44                 :            :         { 0x801016, BTN_MIDDLE },       /* drag and drop */
      45                 :            :         { 0x801088, KEY_MUTE },
      46                 :            :         { 0x80105e, KEY_VOLUMEDOWN },
      47                 :            :         { 0x80105f, KEY_VOLUMEUP },
      48                 :            :         { 0x80104c, KEY_PLAY },
      49                 :            :         { 0x80104d, KEY_PAUSE },
      50                 :            :         { 0x80104f, KEY_EJECTCD },
      51                 :            :         { 0x801050, KEY_PREVIOUS },
      52                 :            :         { 0x801051, KEY_NEXT },
      53                 :            :         { 0x80104e, KEY_STOP },
      54                 :            :         { 0x801052, KEY_REWIND },
      55                 :            :         { 0x801053, KEY_FASTFORWARD },
      56                 :            :         { 0x801089, KEY_FULL_SCREEN }   /* full screen */
      57                 :            : };
      58                 :            : 
      59                 :            : static struct rc_map_list imon_rsc_map = {
      60                 :            :         .map = {
      61                 :            :                 .scan     = imon_rsc,
      62                 :            :                 .size     = ARRAY_SIZE(imon_rsc),
      63                 :            :                 .rc_proto = RC_PROTO_NECX,
      64                 :            :                 .name     = RC_MAP_IMON_RSC,
      65                 :            :         }
      66                 :            : };
      67                 :            : 
      68                 :          3 : static int __init init_rc_map_imon_rsc(void)
      69                 :            : {
      70                 :          3 :         return rc_map_register(&imon_rsc_map);
      71                 :            : }
      72                 :            : 
      73                 :          0 : static void __exit exit_rc_map_imon_rsc(void)
      74                 :            : {
      75                 :          0 :         rc_map_unregister(&imon_rsc_map);
      76                 :          0 : }
      77                 :            : 
      78                 :            : module_init(init_rc_map_imon_rsc)
      79                 :            : module_exit(exit_rc_map_imon_rsc)
      80                 :            : 
      81                 :            : MODULE_LICENSE("GPL");
      82                 :            : MODULE_AUTHOR("Sean Young <sean@mess.org>");
    

Generated by: LCOV version 1.14