Search code examples
c#consolekeypresssignals

Sending "ENTER" key through serial port


Hi I want to send some command to my device which is connected via serial port. How to send it?

For example i found this on google search but for me it's useless.

Control + E is a keyboard shortcut for 5, so:

serial.Write(new byte[]{ 5 }, 0, 1);

Solution

  • The microsoft version of enter or new line is \r\n which is 0x0d 0x0a in hex.

    • \r is the carriage return

      In a shell or a printer this would put the cursor back to the beginning of the line.

    • \n is the line feed

      Puts the cursor one line below, in some shells this also puts the cursor to the beginning of the next line. a printer would simply scroll the paper a bit.

    So much for the history lesson. Current windows systems still use these characters to indicate a line ending. Dos generated this code when pressing enter.

    The key code is a bit different. Beginning with the esc key being the 1. Enter is 28.

    Source: linux hlkeycodes from www.comptechdoc.org