Вы (вероятно) путаете коды клавиш с кодами ascii. Методы c / c ++ в основном поддерживают только коды ascii для ключей, тогда как документация, которую вы читаете, относится к необработанным кодам ключей.
Существуют API, которые могут считывать необработанные коды клавиш, например, на Windows, и вам, возможно, все равно придется прибегнуть к ним, в противном случае вы можете обнаружить, что страдаете от buffered-io, когда клавиши вообще не читаются, пока не нажата новая строка.
In unix или эмуляторы терминала, стрелка и ключи редактирования сгенерируют (возможно) escape-последовательность, последовательность кодов ascii, начинающуюся с кода 31, для escape. Предполагается, что библиотека termcap поможет вам их расшифровать.