В Паскале все очень просто. Для таких клавиш, у которых нет простого ASCII кода, предусмотрен второй байт. Ну так вот, если код символа оказался равным нулю, то сразу же читаешь еще раз. If ord(readkey)=0 then writeln(ord(readkey)). Например, этот оператор выведет второй байт кода таких клавиш, как стрелки и т.д. Какие у них коды, посмотришь сам. Удачи