S3270 как отправить функциональную клавишу (iE PF3) - PullRequest
1 голос
/ 10 января 2020

Если бы я хотел написать как "привет" в строке позиции 20 col 4

Я бы сделал это так:

MoveCursor(20,4)
Key(h)
Key(e)
Key(l)
Key(l)
Key(o)
Enter [if i wanted to submit it. "Enter" also works]

работает отлично. Но как мне отправить функциональную клавишу? Я пробовал «Ключ (pf3)», «Ключ (Pf3)» и т. Д. Но, похоже, «Ключ ()» просто не является правильным действием, и у меня возникают проблемы с поиском правильного.

Получено из того, как оно работает с "Enter", я также попытался просто "Pf3", но безуспешно.

1 Ответ

1 голос
/ 11 января 2020

Ключи PF, такие как PFn, PA1, Attn, генерируют внимание и идентифицируются идентификатором Attention IDentifier (AID). Чтобы отправить ключи PF, вы должны выполнить:

PF(n), где n - номер ключа PF, который вы хотите отправить.

Концептуально все нажатия клавиш обрабатываются терминалом для обновления буфера экрана. Когда вы хотите отправить что-то только на хост, указанные c ключи генерируют это действие.

Итак, буквы, цифры, ... являются локальными нажатиями клавиш

Такие клавиши, как PF nn , PA n Attn Отправить текущий буфер с идентификатором внимания AID, который сообщает хосту, какую «команду» ключ был отправлен.

В этой документации команды сценария со звездочкой отправляют данные на хост. Другие ключи просто обновляют локальный экранный буфер. (Выделенные примеры см. В do c для полного списка)

* Enter Enter AID (или отправить ASCII CR)

Удалить стереть предыдущий символ (или отправить ASCII BS)

EraseEOF стереть до конца текущего поля EraseInput стереть все поля ввода

Выполнить (cmd) выполнить команду в оболочке

FieldEnd переместить курсор в конец поля

Поле метки FieldMark

* Передача прерывания TE LNET IP на хост

Ключ (keysym) вставить ключ keysym Ключ (0xxx) вставить ключ с символьным кодом xx

Перемещение курсора влево влево

* PA (n) AID внимания программы (n от 1 до 3)

* PF (n) AID функции программы (n от 1 до 24)

...