Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.03;
Скачать: CL | DM;

Вниз

Клавиатура как в Досе.   Найти похожие ветки 

 
sniknik ©   (2002-11-21 22:51) [0]

Необходимо (мне) обрабатавать нажатие на клавиши, но сами они не нажимаются а эмулируются устройством в разрыв клавиатуры (сканер штрихкодов).
В досе все хорошо то что он посылает то получается, а вот в виндах проблема (по крайней мере для меня) получаю не те силволы :(. Посылается символ со скан кодом 2 (два), в дос так и принимается (по Readkey) в виндах вместо него сканкод 17 + сканкод 86, точно не помню но то же сочетание что дает Ctrl+b, вплоть до флагов (событие onKeyDown).

Вопрос возможно в виндах получить значение точно такоеже какое дает в досе? И каким способом?

если в этом случае 2=Ctrl+b еще может прокатить за "фенечку" то в случае с 0 в расширенных кодах вообще нет значения (а оно мне оченно нужно), получается 0+81 в дос = 46 в виндах (а это точка! часто встречается)

заранее извиняюсь, если обсуждение затянется до завтра то завтра у меня инета не будет скорее всего :((.


 
sniknik ©   (2002-11-23 13:36) [1]

Похоже не решается.
Пробовал через LParam (в хуке, в MSDN нашол что передается скан код 16-23 биты) но проблема осталась т.к. там именно клавиатурные коды, коды клавиш (ESC=1, F1=59 и т.д) тут значения тоже пересекаются.
Можно еще посмотреть в комбинации, но вряд ли (так можно подобрать только для под конкретный сканер универсальности не получится), нужно чтонибудь с самими сканерами делать :(. Либо опускатся до клавиатурного драйвера а это гораздо сложнее.


 
LordOfSilence ©   (2002-11-25 10:05) [2]

Delphi->Help->Windows SDK->MapVirtualKey()?


 
sniknik ©   (2002-11-25 12:43) [3]

Пробовал, при MapType = 0 возврашает теже скан коды что в LParam[16..23], в других случаях преобразует в те же значения. ну в смысле если мое значение -2- драйвером преобразуется в -Ctrl+b- то дальше они совершенно однозначны и при MapType = 1 оба преобразуются в -119-.
и потом очень много кодов нетранслируемых, возврашается 0, а у меня это нормальное значение. :-((


 
Андрей Ваганов   (2002-11-25 13:19) [4]

Есть вариант еспользовать TEdit(получишь то, что сканишь) далее используй по назначению. Edit можно замутить невидимым.

...тупо, но способ! :)


 
sniknik ©   (2002-11-25 15:06) [5]

Андрей Ваганов (25.11.02 13:19)
вообще не способ. без разницы у какого компонента onKeyUp срабатывает.
попробуй к примеру получить нажатием на клавиши там значек кода 2 -



Страницы: 1 вся ветка

Текущий архив: 2003.02.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
14-5241
Ru
2003-01-16 12:06
2003.02.03
Прочти и напиши свой.


14-5208
gsu
2003-01-15 16:52
2003.02.03
ЛЮДИиииииииииии


1-5007
Term
2003-01-23 17:41
2003.02.03
Фугкции для работы с датой


3-4758
Sectey
2003-01-16 10:30
2003.02.03
Координаты текущей ячейки в Grid-е


6-5098
kalishenko stas
2002-11-27 18:53
2003.02.03
Какой мой IP в Интернете?