android TV 遥控配制

kernel目录下

要修改到的文件:
     mstar/mstar/ir/Kconfig
     mstar/mstar/ir/IR_MSTAR_DTV.h
     drivers/media/rc/keymaps/rc-mstar-tv.c
添加一个config:
     .config.bk.thtf
1.Kconfig:
添加一个分支:
==============================加在末尾========
choice
prompt "IR REMOTE"
     default THTF_IR
     config REALTOP_IR
          bool "realtop ir remote"
     config THTF_IR
          bool "thtf ir remote"
     config HAIER_IR
          bool "haier ir remote"
     config VIDEOCON_IR
          bool "videocon ir remote"
endchoice
=======================================
2.IR_MSTAR_DTV.h:
添加客户头码:
======================================
// IR Header code define
#ifdef CONFIG_REALTOP_IR          //realtop
     #define IR_HEADER_CODE0         0x00    // Custom 0
     #define IR_HEADER_CODE1         0xFF    // Custom 1
#elif CONFIG_THTF_IR          //thtf
      #define IR_HEADER_CODE0         0x00    // Custom 0
     #define IR_HEADER_CODE1         0xFF    // Custom 1
#elif CONFIG_HAIER_IR          //haier
      #define IR_HEADER_CODE0         0x00    // Custom 0
     #define IR_HEADER_CODE1         0xFF    // Custom 1
#elif CONFIG_VIDEOCON_IR          //videocon
      #define IR_HEADER_CODE0         0x00    // Custom 0
     #define IR_HEADER_CODE1         0xFF    // Custom 1
#else          //default to MSTAR IR
      #define IR_HEADER_CODE0         0x00    // Custom 0
     #define IR_HEADER_CODE1         0xFF    // Custom 1
#endif
===========================================
3.rc-mstar-tv.c
添加键值:static struct rc_map_table mstar_tv[]这个结构体里:
==================================================
#if CONFIG_THTF_IR          //thtf
     { 0x0046, KEY_POWER },
    { 0x004C, KEY_MUTE },
    { 0x0001, KEY_1 },
    { 0x0002, KEY_2 },
    { 0x0003, KEY_3 },
    { 0x0004, KEY_4 },
    { 0x0005, KEY_5 },
    { 0x0006, KEY_6 },
    { 0x0007, KEY_7 },
    { 0x0008, KEY_8 },
    { 0x0009, KEY_9 },
    { 0x0000, KEY_0 },  
     { 0x0041, KEY_CHANNEL },    // CHANNEL_RETURN
    { 0x004B, KEY_KP1},      // TV_INPUT
    { 0x0048, KEY_UP },    
    { 0x0045, KEY_MENU },
    { 0x004E, KEY_LEFT },
    { 0x004A, KEY_ENTER },
     { 0x0049, KEY_RIGHT },
    { 0x004F, KEY_INFO },   
     { 0x004D, KEY_DOWN },
     { 0x000D, KEY_BACK},
    { 0x000F, KEY_VOLUMEUP },
     { 0x005B, KEY_HOME},    
    { 0x000C, KEY_CHANNELUP },
    { 0x005A, KEY_VOLUMEDOWN },    
    { 0x0047, KEY_FN_F7 },      // 3D_MODE    
    { 0x0019, KEY_CHANNELDOWN },         
    { 0x0057, KEY_PLAYPAUSE },
    { 0x0056, KEY_REWIND },
    { 0x0017, KEY_FORWARD },
     { 0x0043, KEY_SUBTITLE },
    
    { 0x0016, KEY_STOP },   
     { 0x0054, KEY_PREVIOUSSONG },
    { 0x0015, KEY_NEXTSONG },
     { 0x0044, KEY_AUDIO },      // MTS
    
    { 0x0052, KEY_RED },
    { 0x0013, KEY_GREEN },
    { 0x0050, KEY_YELLOW },
    { 0x0011, KEY_BLUE },         

    { 0x0014, KEY_FN_F2 },      // FREEZE         
    { 0x0040, KEY_SLEEP },
     { 0x0018, KEY_EPG },
    
    { 0x0058, KEY_ZOOM },       // ASPECT RATIO
     { 0x0059, KEY_FN_F8},       // add fav
     { 0x001A, KEY_FAVORITES},   // add fav
     { 0x0061, KEY_F2},
#else     //default to MSTAR IR
    { 0x0046, KEY_POWER },
    { 0x0050, KEY_0 },
    { 0x0049, KEY_1 },
    { 0x0055, KEY_2 },
    { 0x0059, KEY_3 },
    { 0x004D, KEY_4 },
    { 0x0051, KEY_5 },
    { 0x005D, KEY_6 },
    { 0x0048, KEY_7 },
    { 0x0054, KEY_8 },
    { 0x0058, KEY_9 },
    { 0x0047, KEY_RED },
    { 0x004B, KEY_GREEN },
    { 0x0057, KEY_YELLOW },
    { 0x005B, KEY_BLUE },
    { 0x0052, KEY_UP },
    { 0x0013, KEY_DOWN },
    { 0x0006, KEY_LEFT },
    { 0x001A, KEY_RIGHT },
    { 0x000F, KEY_ENTER },
    { 0x001F, KEY_CHANNELUP },
    { 0x0019, KEY_CHANNELDOWN },
    { 0x0016, KEY_VOLUMEUP },
    { 0x0015, KEY_VOLUMEDOWN },
    { 0x0003, KEY_PAGEUP },
    { 0x0005, KEY_PAGEDOWN },
    { 0x0017, KEY_HOME},
    { 0x0007, KEY_MENU },
    { 0x001B, KEY_BACK },
    { 0x005A, KEY_MUTE },
    { 0x000D, KEY_RECORD },     // DVR
    { 0x0042, KEY_HELP },       // GUIDE
    { 0x0014, KEY_INFO },
    { 0x0040, KEY_KP0 },        // WINDOW
    { 0x0004, KEY_KP1 },        // TV_INPUT
    { 0x000E, KEY_REWIND },
    { 0x0012, KEY_FORWARD },
    { 0x0002, KEY_PREVIOUSSONG },
    { 0x001E, KEY_NEXTSONG },
    { 0x0001, KEY_PLAY },
    { 0x001D, KEY_PAUSE },
    { 0x0011, KEY_STOP },
    { 0x0044, KEY_AUDIO },      // (C)SOUND_MODE
    { 0x0056, KEY_CAMERA },     // (C)PICTURE_MODE
    { 0x004C, KEY_ZOOM },       // (C)ASPECT_RATIO
    { 0x005C, KEY_CHANNEL },    // (C)CHANNEL_RETURN
    { 0x0045, KEY_SLEEP },      // (C)SLEEP
    { 0x004A, KEY_EPG },        // (C)EPG
    { 0x0010, KEY_LIST },       // (C)LIST
    { 0x0053, KEY_SUBTITLE },   // (C)SUBTITLE
    { 0x0041, KEY_FN_F1 },      // (C)MTS
    { 0x004E, KEY_FN_F2 },      // (C)FREEZE
    { 0x000A, KEY_FN_F3 },      // (C)TTX
    { 0x0009, KEY_FN_F4 },      // (C)CC
    { 0x001C, KEY_FN_F5 },      // (C)TV_SETTING
    { 0x0008, KEY_FN_F6 },      // (C)SCREENSHOT
    { 0x000B, KEY_F1 },         // MSTAR_BALANCE
    { 0x0018, KEY_F2 },         // MSTAR_INDEX
    { 0x0000, KEY_F3 },         // MSTAR_HOLD
    { 0x000C, KEY_F4 },         // MSTAR_UPDATE
    { 0x004F, KEY_F5 },         // MSTAR_REVEAL
    { 0x005E, KEY_F6 },         // MSTAR_SUBCODE
    { 0x0043, KEY_F7 },         // MSTAR_SIZE
    { 0x005F, KEY_F8 },         // MSTAR_CLOCK
    { 0x00FE, KEY_POWER2 },     // FAKE_POWER
    { 0x00FF, KEY_OK },         // KEY_OK

    // 2nd IR controller.
#endif
============================================================

4.添加config
查看编译脚本,用的是哪个config
复制一份.config.madison.android.emmc.performance,并重命名:.config.bk.thtf


Mstar按键配置:
在串口工具输入getevent:
配好的打印信息:

92,66都是十六进制的数!!!
92:对应的是Linux层的,文件:kernel\3.1.10\drivers\media\rc\keymaps\rc-XXXX-tv.c
66:对应的是android层的,文件:device\mstar\mango\preinstall\keylayout\Vendor_XXXX_Product_XXXX.kl,


在Linux层的映射关系关键是:kernel\3.1.10\include\linux\input.h;


没配好的打印信息:


在android层,kl文件与KeyEvent.KEYCODE的对应关系表:


需要注意的是KeycodeLabels.h文件,在android4.4.4以前的版本里,它的路径是 frameworks/base/include/ui/keycodeLabels.h

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ytmfdw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值