Making simple application
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
caption:=chr(key);
end;Will show that up arrow says '&'. This would basically mean you can't distinct arrow keys from typed characters with onKeyPress event.
And, how could it represent arrow keys as characters of 0..255? They go from 37..40.