Мобильные терминалы сбора данных (ТСД) марки Motorola, работающие под управлением операционной системы Windows CE 6.0, до сих пор активно используются на складах благодаря своей высокой надежности. Однако системные администраторы часто сталкиваются с аппаратными и программными ограничениями этой платформы. Типичная сложность — отсутствие поддержки русского языка на клавиатуре «из коробки», а также некорректная работа раскладки при подключении к терминальному серверу через RDP, из-за чего становится невозможно вводить артикулы или наименования с русскими символами.
В этой статье мы подробно разберем, как установить русскую раскладку клавиатуры на ТСД Motorola MC3190, а также рассмотрим системные решения для корректной передачи кириллицы в терминальных сессиях RDP и при сканировании штрихкодов.
Операционная система Windows CE спроектирована как модульная платформа. В отличие от полноценной настольной Windows или Windows Mobile, в WinCE производители оборудования часто включают только минимально необходимый набор языковых пакетов. В стандартной прошивке Motorola MC3190 локализация ввода чаще всего ограничена только латиницей.
Проанализируем две основные проблемы, которые нам предстоит решить:
Для добавления русской экранной клавиатуры на Windows CE 6.0 рассмотрим установку стороннего программного обеспечения. Одним из проверенных временем решений является связка скриптов управления раскладкой и легких экранных клавиатур, адаптированных под мобильные процессоры.
Выполним установку по шагам:
CyrKeyb или решение на базе утилиты MortScript, которая позволяет автоматизировать запуск процессов при старте ОС).Application или Platform). Это критически важно, так как при полной разрядке аккумулятора ТСД данные из оперативной памяти будут удалены (произойдет так называемый Cold Boot). Размещение файлов во Flash-памяти сохранит конфигурацию.Если для работы требуется использовать не экранный ввод, а физические клавиши устройства (которых на Motorola MC3190 может быть 28, 38 или 48 штук в зависимости от модификации), нам потребуется утилита переназначения клавиш. Посмотрим, как это сделать:
KeyTrans, который сопоставляет аппаратные скан-коды кнопок с кириллическими символами.Допустим, локально русские буквы вводятся без проблем. Но при запуске стандартного RDP-клиента (cetsc.exe) и подключении к серверу 1С русский язык пропадает. Выясним причину: RDP-клиент Windows CE некорректно передает скан-коды клавиш при попытке синхронизировать раскладку, которой физически нет в самой ОС терминала.
Чтобы решить эту проблему раз и навсегда, настроим терминальный сервер так, чтобы он полностью игнорировал локальную раскладку подключающегося ТСД и управлял языком ввода самостоятельно. Разберем этот процесс по шагам:
regedit и нажмите Enter для запуска редактора реестра.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
IgnoreRemoteKeyboardLayout.1.Что это дает? Теперь сервер при подключении ТСД не будет пытаться подстроиться под настройки Windows CE. Язык ввода внутри сессии RDP будет переключаться стандартными средствами сервера. Вы можете настроить переключение раскладки на сервере по удобной комбинации клавиш (например, Alt + Shift или Ctrl + Shift) и эмулировать это нажатие с ТСД.
Часто для работы кладовщиков база 1С публикуется как RemoteApp (удаленное приложение), либо RDP-сессия настраивается на запуск конкретной программы вместо полноценного рабочего стола Windows. В таких режимах на стороне сервера может не запускаться процесс управления раскладками, из-за чего переключение языков блокируется.
Проанализируем решение этой проблемы. Нам необходимо принудительно запускать языковую панель для каждого терминального пользователя. Для этого на сервере в ветку реестра автозапуска для всех пользователей необходимо добавить запуск системной утилиты:
C:\Windows\System32\ctfmon.exe
Служба ctfmon.exe отвечает за работу языковой панели и альтернативного ввода. Ее принудительный старт гарантирует появление возможности переключать раскладку внутри опубликованного окна 1С.
Иногда задача ввода русских букв связана не с ручным набором, а со сканированием штрихкодов (например, артикулов или серийных номеров, содержащих кириллицу). Если сканер настроен в режиме эмуляции клавиатуры (Keystroke), при считывании штрихкода на экране будут появляться непонятные символы.
Рассмотрим, как правильно настроить утилиту сканирования DataWedge на ТСД Motorola:
Ctrl + V). Это полностью исключает искажение кодировки символов при передаче.Эти действия позволят ТСД корректно считывать любые сложные штрихкоды и артикулы, содержащие русские буквы, и безошибочно передавать их в поля поиска или ввода документов 1С.