здравствуйте, задался вопросом: как реализовать с нуля event-loop... вот я понимаю как работает select/poll - просто ждем некоторых «событий» на определенных дескрипторах, например, нажатие клавиши на стандартных поток ввода, или пришедших байт по сети на сокет... однако не понятно как, например, в qt или x11 реализованы все виды «событий», т.е. нажатие мышки, передвижение мышки, изменение цвета или еще что-то? какие дескрипторы файлов в данном случае select должен обрабатывать, если вообще основано на select, или там вообще другой механизм?