我现在正在编写一个键盘驱动程序模块。我想同时按shift键和其他键将小写更改为大写。我需要解析扫描码吗?请提供一些提示,我非常感谢示例代码。
最佳答案
实际上,键盘的每个键有两个不同的关联 - 按下(键)时的事件和释放(键)时的不同事件。您只需要使用这些事件即可。
对于您的问题,您必须执行以下操作(以 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
}
关于linux - 如何判断两个按键是否同时按下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54599980/