2020-12-30 Android红外遥控器调制kl(KeyLayoutFile)文件的映射等知识点

    Android红外遥控器调制kl(KeyLayoutFile)文件的映射等知识点

 

一、红外遥控器kernel dts 配置大致如下。

ir_remote_controller{
			compatible ="biada,ir-int";
			gpio-irq = <&gpio8 0 IRQ_TYPE_EDGE_FALLING>;
			status = "okay";
				ir_key2{
				rockchip,usercode = <0x08f7>;
				rockchip,key_table =
					<0xeb   KEY_POWER>,
					<0xec   KEY_MENU>,
					<0xfe   KEY_BACK>,
					<0xb7   KEY_HOME>,
					<0xa3   KEY_ENTER>,
					<0xf4   KEY_VOLUMEUP>,
					<0xa7   KEY_VOLUMEDOWN>,
					<0xf8   KEY_REPLY>,
					<0xfc   KEY_UP>,
					<0xfd   KEY_DOWN>,
					<0xf1   KEY_LEFT>,
					<0xe5   KEY_RIGHT>,
					<0xb7	KEY_SEARCH>,
					<0xc1	KEY_PLAY>,
					<0xc0	KEY_PLAYCD>,			
					<0xc2	KEY_STOP>,			
					<0xf3	KEY_MUTE>,
					<0xbe	KEY_1>,
					<0xba	KEY_2>,
					<0xb2	KEY_3>,
					<0xbd	KEY_4>,
					<0xf9	KEY_5>,
					<0xb1	KEY_6>,
					<0xfc	KEY_7>,
					<0xf8	KEY_8>,
					<0xb0	KEY_9>,
					<0xb6	KEY_0>,
					<0xb5	KEY_BACKSPACE>;				
				};
			};

二、input 按键系统驱动注册

三、adb shell cat /proc/bus/input/devices 查看input设备,看一下是否已经注册上。

四、adb shell dumpsys input 提供输入组件(例如触摸屏或内置键盘)的系统数据,查看对于的上层kl文件。

五、从上图可以看出,如果没有指定的KeyLayoutFile,就会使用默认的Generic.kl文件。

六、给ir_remote_controller指定一个kl文件,很简单,copy一份现有的kl命名为ir_remote_controller.kl然后放到 system/usr/keylayout/ ,系统自动查找。

六、查找kl文件的工作在\frameworks\native\services\inputflinger\EventHub.cpp

七,查看log。

八,kl文件大致如下。

九、kl文件前面一排是底层上报上来的按键值,可通过getevent查看上层收到的按键值。

十、kl文件最后一排是android映射之后的值,具体在frameworks\native\include\android\keycodes.h 、rameworks\native\include\input\InputEventLabels.h里面定义。

十一、红外遥控器大致就是上面一个流程,测试ok,可以work。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值