Linux 的 `stdin` 是如何工作的?

Linux 的 `stdin` 是如何工作的?

我知道是stdin指linux中的标准输入,通常是键盘。也可以参考一下file descriptor 0

那么,(标准输入)鼠标引用哪个文件描述符呢?或者它是一个特殊文件,与其他文件或输入文件相比,其功能非常不同?那么鼠标是如何工作的以及鼠标的输入映射到哪里呢?

同样的问题也适用于触摸屏。

答案1

鼠标通常可以在 Linux 下作为设备进行访问/dev/input,并且有一个虚拟设备/dev/input/mice,允许您通过单个设备接收系统中所有鼠标的输入。

不过,该鼠标设备通常不连接到任何进程的标准输入。如果您使用图形环境,则 X11 服务器是打开一个或多个这些设备并接收鼠标事件的进程。普通应用程序使用 X11 协议(或它们正在使用的任何更高级别的工具包)接收鼠标事件以及所有其他类型的事件(键盘事件、窗口绘制事件、窗口焦点事件等...),而不是通过 stdin。

触摸屏与鼠标一样,也作为/dev/input.系统中的第一个触摸屏设备称为/dev/input/touchscreen0

中的所有设备/dev/input,包括触摸屏和鼠标,都以 C 包含文件中定义的特定二进制格式传递事件<linux/input.h>

相关内容