Проблема в том, что GS - неопределенный контрольный код. Поэтому вам нужно, чтобы это было признано.
Добавьте следующее к записи вашего терминала в protermcap, чтобы определить GS как F13:
:( F13) = \ 035: \
(Восьмеричный код для GS равен \ 035, а F13 - неопределенная функциональная клавиша - поэтому комбинация должна работать. У меня нет сканера для тестирования, но это работает для контрольных кодов, которые я могу ввести в свой клавиатура ...)
Тогда используйте такой код:
define variable bc as character no-undo format "X(50)".
update bc editing:
if lastkey = 313 then
apply ".". /* 313 is the code for F13 */
else
apply lastkey.
end.
Это должно вызвать "." быть вставленным вместо GS. Что позволит вам разобрать строку, используя "." а не GS.