【发布时间】:2015-03-05 15:35:30
【问题描述】:
我希望使用 boost::asio 从 12 位键盘读取。我目前可以在没有提升的情况下做到这一点,这样:
fd = open ("/dev/input/event0", 0_NONBLOCK);
read (fd, &ev, sizeof ev);
你知道我如何使用 boost::asio 做到这一点吗?我正在使用 Linux 和 C++。这个post 和这个post 很有用。我不会使用串行端口(io,“/dev/usb/hiddev0”),因为它不是串行的,对吧?
谢谢。
【问题讨论】:
-
我可以打开设备,获取文件描述符,然后在我认为的 asio 中使用它
-
Boost.Asio提供现代 C++ 接口,但在其实现中它使用纯 C(或 OS)函数。所以,首先,值得了解为什么上面的read不起作用。你观察到什么行为? -
高度相关:考虑使用库而不是使用原始设备:stackoverflow.com/a/25559167/85371
-
@IgorR。我无法以这种方式打开设备:serial_port port (io, "/dev/usb/hiddev0");我想我应该使用 stream_descriptor
标签: c++ boost debian boost-asio keypad