Добрый день.
Мы имеем устройство MC3190 c WinCE 6 на борту. У устройства есть 2 программируемые клавиши (зеленый кружочек и красный)
Появилась необходимость настройки програмиируемых клавиш под нужды 1С-ников. Назначить на зеленую клавишу F11, а на красную F12. В ходе изыскания выявил следующее: раскладка клавиатуры находится в файлах MC3000–{28,38,48}.{sct,rmt,mmt} И собственно необходим человек который сможет с помощью ВизуалСтудио переписать эти файлы с измененными значениями клавиш. Сам в программировании не разбираюсь.
Ссылку или цитирование со странички могу предоставить в личку. Там говорится как это можно сделать. И из офф. источника говорится что нужно компилить.
Спасибо.
Вот пример переназначения этих клавиш без KBTool, через реестр (на клавишу F3):
Код:
[HKEY_LOCAL_MACHINE\Hardware\DEVICEMAP\KEYBD]
“RedKeyOverride”=dword:0000003d
; this will remap Red to F3
[HKEY_LOCAL_MACHINE\Hardware\DEVICEMAP\KEYBD]
"GreenKeyOverride"=dword:0000003d
;this will remap Green key to F3
"Thursday, 22 December 2005
HOWTO: Program Symbol MC3000 function keys
With my powers of intuition, I divine that someone out there needs to handle or program the function keys on the Symbol MC3000 device.
(Well, OK, it turned up in my referrer log – click the tracker icon at the bottom of the right-hand bar!)
The 28–key variant has F1 through F10 available through pressing the blue Func button and then the corresponding number key. The 38–key variant has F1 through F10 keys, then F11 through F14 on Func+F1 to Func+F4. The 48–key variant has F1 to F13 on Func+A to Func+M. (Nothing like consistency). When pressed, these will appear as VK_F1 through VK_F14 in your application’s WM_KEYDOWN and WM_KEYUP handlers or their equivalent in your environment (Control.KeyDown and Control.KeyUp events in the .NET Compact Framework, the value of KeyEventArgs.KeyCode will be Key.F1 through Key.F14).
That’s the default keyboard map. If you want to change the keyboard map, on any Symbol device, you need the Device Configuration Package for that device, which you can download from Symbol DevZone. In the package, you’ll find under Tools\kbtool a bunch of C++ files and a VC6 project. This is a program for your desktop computer which generates the keyboard map files. Open this with VC6 or later.
Each keyboard layout has (up to) three files associated with it – for the MC3000, MC3000KeynnM, R and S.cpp, where nn is the number of keys. The M file controls the multiple-press key operations, such as the mobile-phone-style input on the 28–key variant. The R file controls remapping key functions in different shift states. Finally the S file controls the scan code that’s output by each key – this is normally the one you want to edit. The available scan codes can be found in the accompanying ScanCode.h file.
Running the program generates the files that the keyboard driver is looking for. For the MC3000 these are named MC3000–{28,38,48}.{sct,rmt,mmt}. You can either overwrite these files in their normal location (\Platform\Keyboard) or modify the registry under HKLM\Hardware\DeviceMap\KEYBD to point to your version of the files.
We did this for New Look to make the two keys below the screen – with the red and green surrounds – perform ‘soft key’ functions in their applications."(taken from )
Вот что советовали делать в 2005 году.
2grannie, попробовал, в реестре отсутствовала строка с оверрайдом, дописал сам. не помогло, еще уточнение, прога определяющая коды по нажатию клавиши (та что по умолчанию идет с устройством) говорит что Ф11 это 007А и Ф12 007В соответственно. Я сначала попробовал с вашими кодами, потом со своими и потом заметил, что в реестре ничего не меняется. (менял путем создания *.reg файла). И когда прописываешь все ручками строка не появляется в списке тоже. Не исключено, что я что то не то делаю.
Тоже так думаю
Рецепт выше - вполне официальный, получен в своё время в техподдержке производителя. Должно работать.
После внесений изменений в реестр надо перезагрузиться, но, разумеется, не Cold Boot'ом.
Кстати, насколько я помню, существует "рецепт" и для того чтобы после "Cold Reboot" нужные значения в реестр внеслись автоматом. Нужно положить reg в файл в определённую директорию на устройстве. Какую именно - не помню к сожалению.
А как на счёт слить драйвер клавиатуры с железки (имя dll файла должно быть указано в ключе реестра "DriverName") на комп и посмотреть его в hex редакторе?
grannie➤ Вот пример переназначения этих клавиш без KBTool ...
Пробуйте.
А этот самый KBTool реально найти? а то по запросу в поисковиках выдает все что угодно кроме этой утилиты. И еще, я так понимаю под каждое устройство она отдельная? находил разные но не MC3190 и даже не MC30xx