本帖最后由 天下第七 于 2014-9-12 22:05 编辑
用CB做机顶盒的朋友往往是用一些旧的电视遥控器,但CB的rom默认用户码是ox9f00。
常规做法:
1、直接屏蔽lihee/linux-3.4/drivers/input/keyboard/ir-keymap.h中的
#define IR_CHECK_ADDR_CODE
然后编译
2、但为了防止其它遥控器干扰,还是需要修改该文件中的 (下面括号中的数值)
#define IR_ADDR_CODE (0x9f00)
和 lihee/linux-3.4/drivers/input/keyboard/sun7i-ir.c 中static int ir_code_valid(unsigned long code) 函数的
if(SCIRPT_ITEM_VALUE_TYPE_INT != script_get_item("ir_para", "ir_addr_code", &ir_addr_code)){
pr_err("%s: ir_addr_code script_get_item error. \n",__func__ );
ir_addr_code = 0x9f00;
下面我们编辑源代码编译运行并获得遥控器用户码
源文件位置:lihee/linux-3.4/drivers/input/keyboard/sun7i-ir.c
第一步:修改c代码
static int ir_code_valid(unsigned long code)
{
unsigned long tmp1, tmp2;
//添加代码
printk(KERN_DEBUG "IR_CODE0x%x\n",code);
#ifdef IR_CHECK_ADDR_CODE
|