Как работает `stdin` linux?

Я знаю, что stdin относится к стандартным входам в linux, обычно к клавиатуре. Он также может быть передан file descriptor 0 .

Итак, к какому файловому дескриптору относится указатель (стандартный ввод)? Или это специальный файл, который работает по-другому, по сравнению с другими файлами или входными файлами? Итак, как работает мышь и где находится ввод от мыши?

Эти же вопросы относятся к сенсорному экрану.

One Solution collect form web for “Как работает `stdin` linux?”

Мышь обычно доступна под Linux в качестве устройства под /dev/input и есть виртуальное устройство /dev/input/mice которое позволяет вам получать данные от всех мышей в системе через одно устройство.

Однако это устройство мыши обычно не подключается к стандартным входам любого процесса. Если вы используете графическую среду, то сервер X11 – это процесс, который открывает одно или несколько из этих устройств и принимает события мыши. Обычные приложения получают события мыши с использованием протокола X11 (или любого другого инструментария более высокого уровня, который они используют) вместе со всеми другими типами событий (события клавиатуры, события рисования окна, события фокуса окна и т. Д.), А не через stdin.

Сенсорные экраны, такие как мыши, также присутствуют как устройства в /dev/input . Первое сенсорное устройство в системе называется /dev/input/touchscreen0 .

Все устройства в /dev/input , включая сенсорные экраны и мыши, доставляют события в определенном двоичном формате, определенном в файле include include <linux/input.h> .

Linux и Unix - лучшая ОС в мире.