roswell: это может касаться подключения usb в ps/2. Действительно, многие мыши и клавиатуры поддерживают такое подключение для совместимости, поэтому популярен соответствующий переходник. Переходники "наоборот" тоже продаются, так что, возможно, я ошибаюсь. Но поддержка usb зависит от микроконтроллера клавиатуры, и так как ps/2 более старый стандарт, я считаю, что вероятность такой поддержки крайне мала.
А, то-есть при проходе назад C не понимает, что несколько байт — это один символ, и выводит их в неправильном порядке. Но тогда как переписать код, чтобы строка выводилась корректно? Наверняка в стандартной библиотеке есть решение для "русификации".