蓝牙键盘是否与“stdin”关联?

蓝牙键盘是否与“stdin”关联?

我知道键盘是标准输入并由文件引用stdin

我有时在笔记本电脑上工作时使用蓝牙 (BT) 键盘。我的笔记本电脑键盘和 BT 键盘这两个键盘同时工作。

那么,两个键盘都与 相关联吗stdin?如果是,它们是如何同步的?

答案1

键盘只是一种输入设备,它与标准输入没有直接关系。程序的标准输入只是作为文件描述符 0 传递的抽象数据流。

许多使用标准输入的程序从键盘获取输入,但它们并不直接这样做。相反,如果没有其他指示,您的 shell 会将新程序的标准输入连接到您的终端,而终端又连接到您的键盘。输入来自键盘与程序无关,程序只看到来自终端的数据流。

至于两个键盘如何同时工作,这项工作通常是在内核级别执行的,而不是在终端或应用程序级别执行的。应用程序可以请求从其中一个键盘获取输入,也可以请求从所有键盘的多路复用器获取输入。这种表示通常适用于大多数人类输入设备,而不仅仅是键盘。

如果您使用 X 或内核与程序之间的类似中间层,则可能会出现更多抽象,但基本思想是相同的 - 实用程序应用程序通常不会访问键盘。

相关内容