新增按键物理按钮

一.驱动层配置:

这里是rk3326为例

1.在驱动文件kernel-5.10/arch/arm64/boot/dts/rockchip/rk3326-evb-lp3-v11-avb.dtsi中

配置键值

        adc-keys {
                compatible = "adc-keys";
                io-channels = <&saradc 2>;
                io-channel-names = "buttons";
                poll-interval = <100>;
                keyup-threshold-microvolt = <1800000>;  按键抬起电压值

                custom-key {
                        linux,code = <KEY_CUSTIOM>;
                        label = "custom";
                        press-threshold-microvolt = <1310000>;  //按键按下电压采样值
                };

备注:1.home -key 为新加键值,

          2.press-threshold-microvolt = <1310000>;  //按键按下电压采样值 (需要和电子工程师确定采样值大小)

2.在目录kernel-5.10/include/uapi/linux/input-event-codes.h文件修改添加

#define KEY_CUSTIOM            249     /* 新增按键 */

说明:这里定义的键名称一定要和上一步rk3326-evb-lp3-v11-avb.dtsi文件配件的键名称保持一致

二.上层映射配置

1.当驱动层添加完成配置后,通过getevent命令查看底层驱动配置的键值

Seoul_TF:/ $ Seoul_TF:/ $ getevent
add device 1: /dev/input/event2
  name:     "mtk-tpd"
add device 2: /dev/input/event0
  name:     "ACCDET"
add device 3: /dev/input/event1
  name:     "mtk-kpd"
/dev/input/event1: 0001 00f9 00000001
/dev/input/event1: 0000 0000 00000000
/dev/input/event1: 0001 00f9 00000000
/dev/input/event1: 0000 0000 000000002
————————————————

2.添加KL 映射  

按键布局文件由  供应商、产品(可能还包括版本)ID 或输入设备名称来确定位置。系统会按顺序查阅以下路径,在以下任一kl文件下添加映射即可:

如果所有文件都没有,系统会默认是去读取/data/system/devices/keylayout/Generic.kl配置
————————————————

                   
                        
原文链接:https://blog.csdn.net/a546036242/article/details/121012512

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值