首先,我对初学者的问题表示歉意。例如,我单击“文件”图标然后单击一个文件后,我仍然无法想到系统(Ubuntu 21.10)中发生了什么。通过单击鼠标来调用与 gedit 等关联的文件或调用目录或任何程序的过程实际上包含什么?它是否写在类似的地方/proc/bus/input/devices Ev = ...
,键盘会发生什么?
答案1
不确定你在问什么,但大致是:
- 内核驱动程序对来自鼠标和键盘的硬件事件做出反应
- 各个内核层都会翻译鼠标单击,并将其作为鼠标事件放入内核输入层。您可以
/dev/input/eventX
使用来阅读此内容evtest
。 - X 驱动程序(X 是窗口系统)将其转换为 X 事件。您可以使用例如查看那些
xev
。 - X 服务器确定哪个窗口应该接收事件。
- 对于“单击图标”,接收者是窗口管理器(WM)。
- 对于“单击文件”,接收器是显示文件的应用程序(无论您的 Ubuntu 上是什么,都有很多选择)
- 应用程序决定如何处理该事件(弹出一个带有控制器的窗口,使用系统调用来执行程序等)
/proc/bus/input/devices
在此过程中不发挥作用。
如果你想了解Linux,我强烈建议你先学习命令行。用户界面是可选的。