六libinput功能介绍(一,按键防抖)

Posted 高桐@BILL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了六libinput功能介绍(一,按键防抖)相关的知识,希望对你有一定的参考价值。

        下面我们来了解下libinput支持的一些功能。这些功能的使能依赖具体的设备类型和设备自身的硬件能力。需要注意的是,并不是所有功能都是可配置的。

        物理按键常常会经历使用磨损。在一些设备上这种磨损可能会产生一些“影响”,我们称之为“触点回跳”或者“颤动”。这种后果可能会导致按键在一个时间周期内发送多个按键消息,即使用户仅按压或者点击了一次。我们可以通过“防抖”机制来低效这种影响,这种“防抖”机制简单来说就是屏蔽错误事件消息。

        libinput提供了两种方法来处理按键防抖,分别称之为“bounce”和“spurious”。

  • bounce

        在“bounce”中,只要是指libinput按键状态变更的监控,例如在用户点击或者释放按键时。当用户只是按下按键,但是硬件却产生了“按下-抬手-按下”的一连串事件消息。libinput将会忽略“释放”和“第二次按下”的事件消息。该功能通常默认使能。

  • spurious

        在“spurious”中,主要是指当用户按下按键时,libinput对“抬手”事件的检测。这些“抬手”事件往往紧随着按下事件而产生。libinput监听到这些“抬手事件”后,会忽略这些不正常的事件消息。该功能默认关闭。并且在libinput第一次检测到错误事件上报后使能。

        “bounce”确保所有的按压事件和大部分的“抬手”事件能够立即分发。“spurious”则需要“抬手”事件延迟分发,因此libinput并不会默认使能“spurious”,除非一次错误事件消息被检测到。当“异常抬手”事件被检测到时会打印一条日志消息。

        libinput的防抖功能可以修正因硬件老化或者不合格硬件引发的按键消息异常的问题。这里的libinput只是一个辅助功能。在这个辅助功能下,多个物理按键“按

以上是关于六libinput功能介绍(一,按键防抖)的主要内容,如果未能解决你的问题,请参考以下文章

六libinput功能介绍(三手势)

六libinput功能介绍(三手势)

六libinput功能介绍(二触摸板软件按钮及模拟鼠标中键)

六libinput功能介绍(二触摸板软件按钮及模拟鼠标中键)

五libinput介绍

Linux嵌入式驱动学习之路(十五)按键驱动-定时器防抖