当linux主机插入input输入设备后,会在/dev/input/目录下生成一个名为"eventX(X=0…n)"的文件,读取这个文件就能获取到设备的输入信息,如输入键值,类型等信息;

若输入设备为usb键盘或者扫描枪时,应用层就不好直接读取event数据来使用,此时可以读取/dev/ttyX(X=0...n)来获取对应数据。

接到不同的usb口,对应的ttyX(X=0…n)有所不同,测试时需注意。
直接使用cat命令测试:

cat /dev/tty1

或者在应用层直接read数据

int fd;
uint8_t rcv_buf[64] = {0};

fd = open("/dev/tty1", O_RDONLY);
if (-1 == fd)
{
	printf("open tty error!\r\n");
	return;
}
	
while (1)
{
	read(fd, rcv_buf, sizeof(rcv_buf));
	printf("recv: %s\r\n", rcv_buf);
	memset(rcv_buf, 0, sizeof(rcv_buf));
}

接入usb键盘、扫描枪后输入数据就能看到对应数据了。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐