%%Restore размышления

Привет! Я проверил содержимое архива, включая файл «Включение считывания GS.docx» и разделы 5.8–5.9 руководства пользователя.

Короткий ответ

Да, KEFAR H4B позволяет передавать разделитель GS двумя способами:

  1. как нажатие клавиши F8;
  2. как клавиатурную последовательность Alt+029 через цифровой блок Windows.

Это не предположение: в таблице руководства прямо указано:

  • GS = ASCII HEX 1D = DEC 29;
  • в стандартном клавиатурном режиме GS соответствует F8;
  • в виртуальном клавиатурном режиме Alt управляющий символ передаётся через его десятичный ASCII-код, то есть GS — как Alt+029.

Эти режимы являются альтернативными: одновременно использовать F8 и Alt+029 для одного GS нельзя.


Предварительно: включить передачу GS

В архиве для этого имеется готовый документ:

«Включение считывания GS.docx»

В нём два штрихкода. Их нужно сканировать строго сверху вниз:

  1. %%UN
  2. %%CtrlMode0

По содержанию архива это штатная последовательность включения обработки/передачи управляющих символов GS.

Эти два кода нужно отсканировать перед настройкой желаемого способа передачи.


Вариант 1 — передавать GS как F8

Последовательность:

  1. Откройте файл «Включение считывания GS.docx».
  2. Отсканируйте верхний штрихкод:
    • %%UN
  3. Отсканируйте нижний штрихкод:
    • %%CtrlMode0
  4. В основном файле «Руководство пользователя .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

Последовательность:

  1. Откройте файл «Включение считывания GS.docx».
  2. Отсканируйте:
    • %%UN
  3. Затем:
    • %%CtrlMode0
  4. В основном руководстве, страница 69, отсканируйте:
    • «Режим виртуальной клавиатуры»
    • команда $Set#Code^0D
  5. Затем на той же странице отсканируйте:
    • «Управление символом — альтернативный режим»
    • команда $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

  1. Откройте программу, в которой F8 выполняет заметное действие.
  2. Установите курсор в поле ввода.
  3. Отсканируйте тестовый GS1-код.
  4. В позиции разделителя должно сработать действие клавиши F8.

Для надёжной проверки можно использовать средство просмотра HID-клавиш или небольшую программу, показывающую нажатые клавиши.

Проверка Alt+029

  1. Включите Num Lock.
  2. Откройте целевую программу.
  3. Отсканируйте тот же тестовый код.
  4. В позиции 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 руководства.