Не знаю, о чем вы спрашиваете, но примерно:
- Драйверы ядра реагируют на аппаратные события от мыши и клавиатуры
- Различные уровни ядра транслируют, скажем, щелчок мышью и помещают его как событие мыши на уровень ввода ядра. Вы можете прочитать это из
/dev/input/eventX
, используя evtest
. - X-драйвер (X — оконная система )преобразует это в X-событие. Вы можете посмотреть на них, например. с
xev
. - X-сервер определяет, какое окно должно получить событие.
- Для "щелчка по значку" получением является диспетчер окон (WM ).
- Для «щелкнуть файл» получателем является приложение, которое показывает файлы (что бы это ни было на вашей Ubuntu, есть много вариантов)
- Приложение решает, что делать с событием (открыть окно с директором, использовать системный вызов для выполнения программы и т. д.)
/proc/bus/input/devices
не играет роли в этом процессе.
Если вы хотите понять Linux, я настоятельно рекомендую сначала изучить командную строку. Пользовательский интерфейс является необязательным.
dirkt
14.11.2021, 18:40
Ссылка