LINUX.ORG.RU

как работает псевдотерминал

 ,


0

2

Решил разобраться как работает Линукс low-level и при изучении столкнулся с тем что ничего не понимаю. Всегда думал что pts это такое устройство типо блочного с него идет и чтение команд и запись вывода одновременно. И вдруг внезапно в исходниках ядра есть drivers/tty/pty.c в котором описана функция pty_write() , а никакой pty_read() нету. Я перехватил эту pty_write() при помощи systemtap она выводит ввод и вывод, но ввод только после нажатия энтера, а мне бы получить все клавиши: вниз, вверх, удалить и тд. Тут даже не клавиши, а их коды, так как при подключении к серверу по ssh никаких кнопок на клавиатуре не нажимается.

★★

Зачем вам в ядро? Есть же showkey --scancodes

mky ★★★★★
()

Гугли неканонический режим терминала и библиотеку ncurses, хотя в принципе можно и без неё.

aureliano15 ★★
()

Тут даже не клавиши, а их коды, так как при подключении к серверу по ssh никаких кнопок на клавиатуре не нажимается

Для того, чтобы обеспечить видимость для программ, что они работают с терминалом, но эту работу могло бы получать для отправки по сети (или локально для возможности контроля и правки) используются виртуальные псевдотерминалы. Главное не запутаться, что именно вы хотите сейчас понять, ибо структура терминального драйвера действительно не проста.

vodz ★★★★★
()

Посмотри в 3-м томе «Введения в программирование» Столярова, там подробно разжёвывается про всё вот это.

meliafaro ★★★★★
()
Ответ на: комментарий от meliafaro

О, возможно то что надо. Да и вообще это похоже крутая книга.

Yur4eg ★★
() автор топика
Последнее исправление: Yur4eg (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.