键盘驱动问题
做了一个按键驱动,想实现按该键输出数字“1”,以前这段代码在S3C2440上已实现这个功能,现在把它移植到S3C2416平台,按一次键可以打印一次“::: KEY1”,问题是文本中不能输出“1”,但是将keybd_event事件换成VK_RETURN,在文本中会实现ENTRY功能,换成其他方向键(如VK_LEFT)也可以实现相应的功能。就是数字不能输出。
//去抖操作
if (IST_IsPushed())
{
Sleep(100);//减少去抖时间Sleep(200);
//确定有键按下
if (IST_IsPushed())
{
//根据扫描的键码值进行相应的操作
if(!(v_pIOPregs->GPFDAT & (1 << 5)))
{
RETAILMSG(1, (TEXT("::: KEY1\r\n")));
keybd_event(0x31,0x31, 0, 0);
Sleep(30);
keybd_event(0x31,0x31, KEYEVENTF_KEYUP, 0);
//keybd_event(VK_RETURN,0x0D, 0, 0);
}
}
}
VK_RETURN,VK_LEFT好像并不需要keybd_event(XXX,XXX, KEYEVENTF_KEYUP, 0);
[解决办法]