Отправка клавиши F2 поверх записи Pyserial - PullRequest
0 голосов
/ 08 января 2020

Я пытаюсь использовать pyserial для записи или отправки нажатия клавиши F2 через последовательный порт.

Я пытался:

serial.write (chr (115) .encode ())

как 115 - код ASCII для F2. Я получил это из javascript функции «getch» ​​из одного из ответов: коды ascii для windows клавиш клавиатуры и коды для функциональных клавиш (F1 - F12) и других клавиш, таких как shift, capslock, backspace, ctrl et c

Для ключа ES C я получил его с помощью chr (27).

Ответы [ 2 ]

0 голосов
/ 08 января 2020

В моей системе ^ [OQ по некоторым причинам является клавишей со стрелкой вверх.

Я наконец нашел из руководства PUTTY, что F2 - это ES C [12 ~.

Следовательно, это "\ x1B [12"

Передать эту строку в

serial.write("\x1B[12")

и все работает.

Надеюсь, что это пригодится другим людям. Я на самом деле пытаюсь перезагрузиться в B IOS без физического нажатия клавиши F2.

0 голосов
/ 08 января 2020

Это специальные последовательности, которые должны интерпретироваться получателем.

Здесь описаны некоторые из них, и вы можете видеть, что F2 равен ^[OQ или ^[[12~. (кстати, ASCII 115, который вы упоминаете - s)

...