软按键怎么判断是抬起还是按下
我用官方自带的keypad应用测试,发现,我只是按下按钮(没有抬起)界面上显示对应按钮变蓝色,但马上恢复成了正常的按钮颜色.也就是说,/dev/input/keypad设备,在按下按键时发送了按下和抬起两个事件!在keypad的源码中,如下语句实现判断按键的状态
for (unsigned i = 0; i < sizeof(buffer) / sizeof(buffer); i++)
{
bool oldState = m_oldButtonsState;
bool isOn = (buffer & 0x01);
if (oldState != isOn)
{
m_oldButtonsState = isOn;
update();//this function will call paintEvent
}
}
然后根据m_oldButtonsState来切换qt按钮的颜色,您可以看看这里,然后修改成自己需要的功能
或者修改一下按键驱动drivers/input/keyboard/gpio_keys.c,根据不同的状态返回不同的type,然后按照不同类型切换不同的状态
这个需要您调试一下,我们没有现成的方法
水贴
水水水水水水水水水
页:
[1]