2012-12-03 5 views
2

Так же, как вопрос Отправка клавиши «ENTER» через последовательный порт Как я могу отправить «СТРЕЛКУ» через последовательный порт? Наиболее вероятно клавиша со стрелкой ВВЕРХ.Отправка клавиши «СТРЕЛКА КЛАВИШИ» через последовательный порт

+1

«Вопрос»? На какой вопрос вы говорите? –

+1

Любая клавиша определяется кодом ключа, а последовательная связь просто отправляет байты. Что вам нужно знать, так это код, который вы отправляете, будет интерпретироваться как команда стрелки вверх. Поэтому ответ зависит от устройства, которое вы отправляете. Кроме того, что сказал Рене Вольферкин - какой вопрос? – Bikonja

+0

http://stackoverflow.com/questions/4805721/sending-enter-key-through-serial-port – CarpeDiem

ответ

4

Клавиши курсора - относительно новая функция клавиатуры. Они еще не существовали в то время, когда были выбраны коды ASCII. Это во многом было основано на возможностях телетайпов, которые использовались в то время. Как широко используемый ASR-33, его раскладка клавиатуры не выглядел так:

enter image description here

нет клавиш управления курсором. Обратите внимание на то, что линия-строка была отдельным ключом тогда, '\ n' в ASCII. Легче получить и повлиять на выбор для символа управления концом линии в Unix. Ключ возврата был эквивалентен клавише Enter на современной клавиатуре, '\ r' в ASCII.

Таким образом, для клавиш курсора нет стандартных кодов. Вам придется их кодировать самостоятельно. ANSI escape codes - общий стандарт. Эмуляция DEC VT-52 and VT-100 была очень распространена.

+0

+1. Да, старые добрые escape-последовательности VT100! 'Esc [nA' = перемещать курсор вверх по n строкам. –

Смежные вопросы