akaplenko » Ср авг 30, 2017 2:27 pm
Добрый день!
Мы используем тонкие клиенты на складе. К клиентам подключен блок клавиатуры, на котором есть только NumPad кнопки. Пока мы работали на нашем программном обеспечении все было хорошо, но с какого то времени часть терминальных клиентов мы переводим на 1С. И в процессе этого перевода столкнулись со некоторыми сложностями.
Клиент 1С иногда требует сервисных операций, для которых недостаточно кнопок на цифровой клавиатуре. Для решения этого вопроса они используют сочетания кнопок [NumPad +] и цифровые кнопки ([1], [2] b т.д.), но чтобы оно работало они на виндовых машинах (с которых раньше ходили на терминальный сервер) специальным параметром реестра "ремапили" клавишу [NumPad +] на клавишу [Ctrl]. Вот параметр для ремапинга:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,4e,00,00,00,00,00
Таким образом получалось что когда пользователь нажимает [NumPad+]+[1], то 1С воспринимает это как комбинацию клавиш [Ctrl]+[1] и запускает необходимую обработку.
Однако на терминальном сервере такой фокус работает только непосредственно для консоли самого сервера. В процессе поиска решения мы нашли программное обеспечение (
http://www.kbdedit.com), которое позволяет создать раскладку клавиатуры с измененными кнопками и инсталлировать его на сервер. Создали раскладку с замененным [NumPad +] на клавишу [Ctrl], установили ее на сервер и при проведении испытаний вроде бы все работало, но мы нашли одну странность.
При нажатии комбинации кнопок [NumPad+]+[C] (в оригинале Ctrl+C) все работает. Так же работают все комбинации клавиш [NumPad+] + [любая кнопка основной клавиатуры], они правильно интерпретируются и срабатывает все нужное (вставка из буфера, сохранение файлов и т.д.). Но как только мы пробуем сделать комбинацию клавиш [NumPad +] + [любая цифра на NumPad] (тот самый [Ctrl]+[1]) все ломается. Оно как будто не видит что нажат [Ctrl] и просто выдает одну цифру.
Все тоже самое, при терминале RDP, запущенном на последнем Windows или последнем linux c freerdp работает корректно. Я наблюдаю проблему только при подключении к серверу с wtware и тоже самое происходит у меня при подключении к терминальному серверу через MacOS и стандартный клиент Microsoft.
Поможете разобраться? А то мы уже все перепробовали и не растет кокос. Могу дать доступ к серверу с установленной клавиатурной раскладкой.
Добрый день!
Мы используем тонкие клиенты на складе. К клиентам подключен блок клавиатуры, на котором есть только NumPad кнопки. Пока мы работали на нашем программном обеспечении все было хорошо, но с какого то времени часть терминальных клиентов мы переводим на 1С. И в процессе этого перевода столкнулись со некоторыми сложностями.
Клиент 1С иногда требует сервисных операций, для которых недостаточно кнопок на цифровой клавиатуре. Для решения этого вопроса они используют сочетания кнопок [NumPad +] и цифровые кнопки ([1], [2] b т.д.), но чтобы оно работало они на виндовых машинах (с которых раньше ходили на терминальный сервер) специальным параметром реестра "ремапили" клавишу [NumPad +] на клавишу [Ctrl]. Вот параметр для ремапинга:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,4e,00,00,00,00,00
Таким образом получалось что когда пользователь нажимает [NumPad+]+[1], то 1С воспринимает это как комбинацию клавиш [Ctrl]+[1] и запускает необходимую обработку.
Однако на терминальном сервере такой фокус работает только непосредственно для консоли самого сервера. В процессе поиска решения мы нашли программное обеспечение (http://www.kbdedit.com), которое позволяет создать раскладку клавиатуры с измененными кнопками и инсталлировать его на сервер. Создали раскладку с замененным [NumPad +] на клавишу [Ctrl], установили ее на сервер и при проведении испытаний вроде бы все работало, но мы нашли одну странность.
При нажатии комбинации кнопок [NumPad+]+[C] (в оригинале Ctrl+C) все работает. Так же работают все комбинации клавиш [NumPad+] + [любая кнопка основной клавиатуры], они правильно интерпретируются и срабатывает все нужное (вставка из буфера, сохранение файлов и т.д.). Но как только мы пробуем сделать комбинацию клавиш [NumPad +] + [любая цифра на NumPad] (тот самый [Ctrl]+[1]) все ломается. Оно как будто не видит что нажат [Ctrl] и просто выдает одну цифру.
Все тоже самое, при терминале RDP, запущенном на последнем Windows или последнем linux c freerdp работает корректно. Я наблюдаю проблему только при подключении к серверу с wtware и тоже самое происходит у меня при подключении к терминальному серверу через MacOS и стандартный клиент Microsoft.
Поможете разобраться? А то мы уже все перепробовали и не растет кокос. Могу дать доступ к серверу с установленной клавиатурной раскладкой.