Внутренняя работа обработки событий клавиатуры в Linux
Что именно происходит, когда я нажимаю клавишу на клавиатуре в каком-либо приложении GTK под Linux? Как получается ключ (с какого устройства), интерпретируется, передается программе, а затем обрабатывается?