关于MiniGUI的按键消息 100
请各位帮帮我,我用的是ubuntu10.10,MiniGUI是1.6.10的,配置好了之后不能识别按键的扫描码、、、相关代码如下(用helloworld程序修改的,下面是...
请各位帮帮我,我用的是ubuntu10.10,MiniGUI是1.6.10的,配置好了之后不能识别按键的扫描码、、、相关代码如下(用hello world 程序修改的,下面是修改的部分):
...
#include <iostream>
using namespace std;
...
...
case MSG_KEYDOWN:
cout << "the scan code is :" << wParam << endl;
break;
....
...
之后不论按什么键终端机上都显示为“the scan code is :1”,
开始我还以为我键盘有问题,可是我在终端机上运行showkey后每个按键的扫描码都是正常的,请问各位是怎么回事啊?是不是minigui的库或者配置有问题的,请不吝赐教啊~~
我的环境:宏基笔记本,ubuntu10.10系统,minigui1.6.10版本 展开
...
#include <iostream>
using namespace std;
...
...
case MSG_KEYDOWN:
cout << "the scan code is :" << wParam << endl;
break;
....
...
之后不论按什么键终端机上都显示为“the scan code is :1”,
开始我还以为我键盘有问题,可是我在终端机上运行showkey后每个按键的扫描码都是正常的,请问各位是怎么回事啊?是不是minigui的库或者配置有问题的,请不吝赐教啊~~
我的环境:宏基笔记本,ubuntu10.10系统,minigui1.6.10版本 展开
2个回答
展开全部
你加上这样的消息
case MSG_CHAR:
if(wParam == '\033')
EndDialog (hDlg, wParam);
bzero(buffer,30);
cout << "the scan code is :" << wParam << endl;
break;
就行了
case MSG_CHAR:
if(wParam == '\033')
EndDialog (hDlg, wParam);
bzero(buffer,30);
cout << "the scan code is :" << wParam << endl;
break;
就行了
追问
不好意思,我基础比较差,能解释一下我出错的原因吗?
追答
应该不会的啊,我的是Fedora7,没出现你说的情况,你根据键值做相应的输出就行了,终端上显示不了十六进制的,就直接显示 cout << "the scan code is :" << LOWORD(wParam) <<endl;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询