当前位置: 技术问答>linux和unix
linux怎么获取键盘的值?
来源: 互联网 发布时间:2016-09-05
本文导语: 标准键盘。 不用stdin的东西(没法工作在终端下,说法可能不对)。 现在键盘是/dev/input/event0. 想通过读event0得到键盘的值,不管是扫描还是什么,只要读出来就对。 通过结构体input_event对数字键盘上的数读出来的都...
标准键盘。
不用stdin的东西(没法工作在终端下,说法可能不对)。
现在键盘是/dev/input/event0.
想通过读event0得到键盘的值,不管是扫描还是什么,只要读出来就对。
通过结构体input_event对数字键盘上的数读出来的都是code69.。其他的键好像是对的。
想知道怎么处理numlock。?还有这个方法是不是对的。。
我在pc上测试得到的code按什么键都是返回同一个值。。。。
不用stdin的东西(没法工作在终端下,说法可能不对)。
现在键盘是/dev/input/event0.
想通过读event0得到键盘的值,不管是扫描还是什么,只要读出来就对。
通过结构体input_event对数字键盘上的数读出来的都是code69.。其他的键好像是对的。
想知道怎么处理numlock。?还有这个方法是不是对的。。
我在pc上测试得到的code按什么键都是返回同一个值。。。。
include
#include
#include
#include
#include
#include
#include
int main(int argc, char **argv)
{
int fd;
int a;
int i;
int flag11;
unsigned char strOutput[8];
struct input_event inmyself;
fd=open("/dev/input/event0",O_RDWR);
if(fd==-1){printf ("open keyboard err:%dn",fd);}
goon: flag11=read(fd, &inmyself, sizeof(inmyself));
if(fd==-1){printf ("read keyboard err:%dn",fd);}
else
//{for(i=0;iok,2 小键盘值相同,自己判断numlock----> ok
|
$sudo cat /dev/input/event0;按小键盘得到如下结果,说明,input层返回的是对的
^[[1~^[[A^[[5~^[[D^[[C^[[6~^[[B^[[B^C
^[[1~^[[A^[[5~^[[D^[[C^[[6~^[[B^[[B^C
|
没用PS/2鼠标很久,但通过INPUT EVENT的事件都在/dev/input/event*里的,或者你可以通过以下查看你的设备与节点的关联:
cat /proc/bus/input/device