AFAIK stdin не приучен навигации. Только сканкоды клавиш. Стрелки и прочие "служебные" кнопки имеют двойной код (как-будто нажаты 2 обычных кнопки). В нем даже backspace стирать не будет, а выведется его код.
В Сях я слаб, но если нужно редактирование ввода, попробуй gets(). Или еще какую более сложную функцию ввода.