Как установить русскую клавиатуру на ТСД Motorola MC3190 и настроить ввод кириллицы в RDP

Системный администратор IT и автоматизация бизнеса
← На главную

Мобильные терминалы сбора данных (ТСД) марки Motorola, работающие под управлением операционной системы Windows CE 6.0, до сих пор активно используются на складах благодаря своей высокой надежности. Однако системные администраторы часто сталкиваются с аппаратными и программными ограничениями этой платформы. Типичная сложность — отсутствие поддержки русского языка на клавиатуре «из коробки», а также некорректная работа раскладки при подключении к терминальному серверу через RDP, из-за чего становится невозможно вводить артикулы или наименования с русскими символами.

В этой статье мы подробно разберем, как установить русскую раскладку клавиатуры на ТСД Motorola MC3190, а также рассмотрим системные решения для корректной передачи кириллицы в терминальных сессиях RDP и при сканировании штрихкодов.

Почему на Windows CE 6.0 возникает проблема с русским языком?

Операционная система Windows CE спроектирована как модульная платформа. В отличие от полноценной настольной Windows или Windows Mobile, в WinCE производители оборудования часто включают только минимально необходимый набор языковых пакетов. В стандартной прошивке Motorola MC3190 локализация ввода чаще всего ограничена только латиницей.

Проанализируем две основные проблемы, которые нам предстоит решить:

  1. Отсутствие локальной русской раскладки. Нам необходимо установить экранную клавиатуру, поддерживающую кириллицу, и настроить физические кнопки терминала для переключения языков.
  2. Проблема передачи ввода в RDP-сессии. Даже если русская клавиатура успешно работает локально на самом ТСД, при подключении к удаленному рабочему столу (например, для работы в базе 1С) сервер часто игнорирует ввод русских символов или переключает раскладку некорректно.

Шаг 1: Установка локальной русской клавиатуры на ТСД

Для добавления русской экранной клавиатуры на Windows CE 6.0 рассмотрим установку стороннего программного обеспечения. Одним из проверенных временем решений является связка скриптов управления раскладкой и легких экранных клавиатур, адаптированных под мобильные процессоры.

Выполним установку по шагам:

  1. Скачаем дистрибутив клавиатуры, адаптированной под Windows CE (например, CyrKeyb или решение на базе утилиты MortScript, которая позволяет автоматизировать запуск процессов при старте ОС).
  2. Подключим ТСД к компьютеру и перенесем исполняемые файлы клавиатуры во внутреннюю энергонезависимую память устройства (папка Application или Platform). Это критически важно, так как при полной разрядке аккумулятора ТСД данные из оперативной памяти будут удалены (произойдет так называемый Cold Boot). Размещение файлов во Flash-памяти сохранит конфигурацию.
  3. Запустим файл установки или исполняемый скрипт на ТСД. Экранная клавиатура заменит стандартную системную раскладку.

Если для работы требуется использовать не экранный ввод, а физические клавиши устройства (которых на Motorola MC3190 может быть 28, 38 или 48 штук в зависимости от модификации), нам потребуется утилита переназначения клавиш. Посмотрим, как это сделать:

Шаг 2: Настройка корректного ввода в RDP-сессии (Решение проблемы на сервере)

Допустим, локально русские буквы вводятся без проблем. Но при запуске стандартного RDP-клиента (cetsc.exe) и подключении к серверу 1С русский язык пропадает. Выясним причину: RDP-клиент Windows CE некорректно передает скан-коды клавиш при попытке синхронизировать раскладку, которой физически нет в самой ОС терминала.

Чтобы решить эту проблему раз и навсегда, настроим терминальный сервер так, чтобы он полностью игнорировал локальную раскладку подключающегося ТСД и управлял языком ввода самостоятельно. Разберем этот процесс по шагам:

  1. Нажмите на сервере комбинацию клавиш Win + R, введите команду regedit и нажмите Enter для запуска редактора реестра.
  2. Перейдите по следующему пути в ветке реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
  3. Создайте в этом разделе новый параметр. Нажмите правой кнопкой мыши по пустому месту в правой части окна, выберите Создать -> Параметр DWORD (32 бита).
  4. Присвойте параметру имя IgnoreRemoteKeyboardLayout.
  5. Дважды щелкните по созданному параметру и установите его значение в 1.
  6. Закройте редактор реестра и перезагрузите терминальный сервер (или завершите все активные сеансы пользователей, чтобы изменения вступили в силу при новом подключении).

Что это дает? Теперь сервер при подключении ТСД не будет пытаться подстроиться под настройки Windows CE. Язык ввода внутри сессии RDP будет переключаться стандартными средствами сервера. Вы можете настроить переключение раскладки на сервере по удобной комбинации клавиш (например, Alt + Shift или Ctrl + Shift) и эмулировать это нажатие с ТСД.

Шаг 3: Автозапуск службы языковой панели на сервере

Часто для работы кладовщиков база 1С публикуется как RemoteApp (удаленное приложение), либо RDP-сессия настраивается на запуск конкретной программы вместо полноценного рабочего стола Windows. В таких режимах на стороне сервера может не запускаться процесс управления раскладками, из-за чего переключение языков блокируется.

Проанализируем решение этой проблемы. Нам необходимо принудительно запускать языковую панель для каждого терминального пользователя. Для этого на сервере в ветку реестра автозапуска для всех пользователей необходимо добавить запуск системной утилиты:

C:\Windows\System32\ctfmon.exe

Служба ctfmon.exe отвечает за работу языковой панели и альтернативного ввода. Ее принудительный старт гарантирует появление возможности переключать раскладку внутри опубликованного окна 1С.

Шаг 4: Настройка сканирования штрихкодов с русскими символами

Иногда задача ввода русских букв связана не с ручным набором, а со сканированием штрихкодов (например, артикулов или серийных номеров, содержащих кириллицу). Если сканер настроен в режиме эмуляции клавиатуры (Keystroke), при считывании штрихкода на экране будут появляться непонятные символы.

Рассмотрим, как правильно настроить утилиту сканирования DataWedge на ТСД Motorola:

  1. Запустите приложение DataWedge на терминале.
  2. Перейдите в настройки профиля (Profile) или в раздел Basic Configuration -> Barcode Input.
  3. Найдите подраздел настройки вывода данных (Keystroke Output).
  4. Измените способ отправки данных со стандартной посимвольной эмуляции клавиатуры на передачу через буфер обмена (опция Send via Clipboard). В этом режиме сканер мгновенно копирует считанную строку в буфер обмена ОС и эмулирует команду вставки (Ctrl + V). Это полностью исключает искажение кодировки символов при передаче.
  5. Если передача через буфер обмена нежелательна, найдите параметр Character Encoding (Кодировка символов) в настройках сканера и явно укажите кодировку Windows-1251 (или UTF-8 в зависимости от используемой конфигурации базы данных).

Эти действия позволят ТСД корректно считывать любые сложные штрихкоды и артикулы, содержащие русские буквы, и безошибочно передавать их в поля поиска или ввода документов 1С.

← На главную