Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How is a return / enter keypress encoded in a string sent to a SSH shell?

I am making a SSH client for a special device which does not have a return key on it's keyboard, my question is how is the return key encoded in the string sent to the shell? is it just '\n'?

like image 874
David Karlsson Avatar asked Jun 30 '13 17:06

David Karlsson


Video Answer


1 Answers

Then Enter key sends the character 13 = \015 = 0x0d = \r = ^M = CR (carriage return). You can observe that by typing Ctrl+V then Enter in a terminal: Ctrl+V tells the shell to insert the next character literally instead of interpreting it as a command.

You can select a different end-of-line character in stty settings, but not all applications will notice. It's better to use the standard character.

For historical reasons, the character sent by the Enter key on keyboards is not the same character that indicates the end of a line in a text file: the end-of-line character is 10 = \012 = 0x0a = \n = ^J = LF (line feed).

like image 166
Gilles 'SO- stop being evil' Avatar answered Oct 25 '22 17:10

Gilles 'SO- stop being evil'