Вот подумал я: а ведь уже давно есть всякие алгоритмы для отслеживания положения зрачков глаз. Почему бы не использовать это для перемещения активного фокуса ввода?
Вешаем на монитор веб-камеру, она отслеживает положение головы и зрачков, вычисляет примерные оконные координаты точки, на которую человек смотрит, и перемещает соответствующим образом фокус ввода.
По идее, для перемещения фокуса можно Xlib использовать. Одна лишь загвоздка: как со зрачками быть? Свой велосипед ну никак городить не хочется. Может, есть что готовое?
// Я уже и процедуру калибровки придумал: в разных местах экрана выводить случайный текст и просить ввести его. По движению глаз калибровать. Для не владеющих компьютером, понятное дело, и перемещение фокуса за взглядом — ненужная штука.