Как ни странно, перенаправление работает нормально (я только что проверил это с помощью мыши) ... Кажется, это проблема, характерная для виртуального устройства.
Ну, это было намного больше, незнакомец проблема, чем я изначально думал. Короткий ответ: он буферизирован, и когда вы контролируете + C, этот буфер теряется. Теперь я не знаю, почему он буферизуется для виртуального устройства, а не для физических ... Это выше моего уровня оплаты.
Как обойти это довольно просто (снова из он буферизуется, и когда вы контролируете + C, этот буфер теряется в Unix и Linux):
stdbuf -oL xinput test 5 > test
И причина, по которой вы видели почему вывод раньше - это потому, что виртуальная клавиатура записывается в активное окно (например, на физическую клавиатуру).