如何查看是否同时按下两个键?

时间:2019-02-08 20:49:44

标签: linux linux-kernel linux-device-driver

我正在编写一个键盘驱动程序模块。我想同时按Shift键和其他键以将小写字母更改为大写字母。我需要解析扫描代码吗?请提供一些提示,我非常感谢您提供示例代码。

1 个答案:

答案 0 :(得分:0)

实际上,键盘的每个键都有两个不同的关联-按下键(键)时发生的事件和释放键(键)时发生的事件。您只需要使用这些事件。

对于您的问题,您将必须执行以下操作(将0按下,将1释放)

/*eventA for shift key*/
if (eventA == 0)
{
    Flag = PRESSED;
}
else
{
    Flag = RELEASED;
}

...

/*eventX for any character key*/
if (eventX == 0 )
{
    if (Flag == PRESSED)
        toupper(...)


    //print the character

}