%%Restore размышления
Привет! Я проверил содержимое архива, включая файл «Включение считывания GS.docx» и разделы 5.8–5.9 руководства пользователя.
Короткий ответ
Да, KEFAR H4B позволяет передавать разделитель GS двумя способами:
- как нажатие клавиши F8;
- как клавиатурную последовательность Alt+029 через цифровой блок Windows.
Это не предположение: в таблице руководства прямо указано:
- GS = ASCII HEX 1D = DEC 29;
- в стандартном клавиатурном режиме GS соответствует F8;
- в виртуальном клавиатурном режиме Alt управляющий символ передаётся через его десятичный ASCII-код, то есть GS — как Alt+029.
Эти режимы являются альтернативными: одновременно использовать F8 и Alt+029 для одного GS нельзя.
Предварительно: включить передачу GS
В архиве для этого имеется готовый документ:
«Включение считывания GS.docx»
В нём два штрихкода. Их нужно сканировать строго сверху вниз:
%%UN%%CtrlMode0
По содержанию архива это штатная последовательность включения обработки/передачи управляющих символов GS.
Эти два кода нужно отсканировать перед настройкой желаемого способа передачи.
Вариант 1 — передавать GS как F8
Последовательность:
- Откройте файл «Включение считывания GS.docx».
- Отсканируйте верхний штрихкод:
%%UN
- Отсканируйте нижний штрихкод:
%%CtrlMode0
- В основном файле «Руководство пользователя .pdf», на странице 69, раздел 5.8.1, отсканируйте штрихкод:
- «Стандартный режим клавиатуры»
- содержимое команды:
$Set#Code^0C
Итоговая последовательность:
%%UN
%%CtrlMode0
$Set#Code^0C
После этого символ GS / ASCII 1D должен передаваться компьютеру как нажатие F8.
Отдельно включать Ctrl-режим для F8 не требуется. По таблице руководства при отключённой виртуальной клавиатуре управляющим символам соответствуют функциональные клавиши, и для GS указана именно F8.
Вариант 2 — передавать GS как Alt+029
Последовательность:
- Откройте файл «Включение считывания GS.docx».
- Отсканируйте:
%%UN
- Затем:
%%CtrlMode0
- В основном руководстве, страница 69, отсканируйте:
- «Режим виртуальной клавиатуры»
- команда
$Set#Code^0D
- Затем на той же странице отсканируйте:
- «Управление символом — альтернативный режим»
- команда
$Set#Code^0F
Итоговая последовательность:
%%UN
%%CtrlMode0
$Set#Code^0D
$Set#Code^0F
После этого при обнаружении GS сканер должен эмулировать:
Alt удерживается
0 на цифровой клавиатуре
2 на цифровой клавиатуре
9 на цифровой клавиатуре
Alt отпускается
То есть фактически Alt+029.
Важное условие для Alt+029
В руководстве отдельно сказано, что для виртуальной клавиатуры должны быть доступны цифровые клавиши. Поэтому:
- в Windows должен быть включён Num Lock;
- приложение должно принимать классические Windows Alt-коды;
- используйте интерфейс USB HID Keyboard, а не виртуальный COM-порт;
- желательно проверить работу именно в целевой программе: обычный Блокнот может не показать управляющий GS визуально.
Как переключаться обратно
С Alt+029 обратно на F8
Отсканируйте:
$Set#Code^0C
Это возвращает стандартный режим клавиатуры, где GS соответствует F8.
Если нужна виртуальная клавиатура, но Ctrl-режим вместо Alt
Последовательно:
$Set#Code^0D
$Set#Code^0E
Где:
$Set#Code^0D— виртуальная клавиатура;$Set#Code^0E— Ctrl-режим.
Для GS это даст Ctrl+], а не F8 и не Alt+029.
Как правильно проверить результат
Используйте тестовый GS1 DataMatrix или другой код, в котором реально присутствует разделитель GS между полями переменной длины.
Важно: скобки вокруг идентификаторов применения, напечатанные в человекочитаемой строке, сами по себе не всегда означают наличие ASCII GS внутри символа.
Проверка F8
- Откройте программу, в которой F8 выполняет заметное действие.
- Установите курсор в поле ввода.
- Отсканируйте тестовый GS1-код.
- В позиции разделителя должно сработать действие клавиши F8.
Для надёжной проверки можно использовать средство просмотра HID-клавиш или небольшую программу, показывающую нажатые клавиши.
Проверка Alt+029
- Включите Num Lock.
- Откройте целевую программу.
- Отсканируйте тот же тестовый код.
- В позиции GS приложение должно получить управляющий символ с кодом:
- DEC: 29
- HEX: 1D
Визуально этот символ обычно не отображается, поэтому отсутствие видимого знака ещё не означает, что GS не передан.
Итоговая памятка
| Требуемый результат | Последовательность команд |
|---|---|
| GS → F8 | %%UN → %%CtrlMode0 → $Set#Code^0C |
| GS → Alt+029 | %%UN → %%CtrlMode0 → $Set#Code^0D → $Set#Code^0F |
| GS → Ctrl+] | %%UN → %%CtrlMode0 → $Set#Code^0D → $Set#Code^0E |
Используйте именно штрихкоды из приложенного архива и основного руководства: для первых двух команд — файл «Включение считывания GS.docx», для остальных — страницу 69 руководства.