Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2013, 14:58   #1
Mozgunov
Пользователь
 
Регистрация: 19.09.2007
Сообщений: 20
По умолчанию bluetooth клавиатура как отдельное устройство

Всем добрый день. Извиняюсь за неграмотность в постановке вопроса заранее. Есть клавиатура блютуз, то есть приемник usb и сама клавиатура. При нажатии на клавишу клавиатура сначала связывается с приемником, а потом уже приемник отправляет винде код клавиши. Можно ли сделать так, чтобы приемник не отправлял коды винде, а отправлял их моей программе для обработки? Помогите, если есть какие-то мысли по этому поводу. Заранее спасибо.
Mozgunov вне форума Ответить с цитированием
Старый 30.03.2013, 16:20   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

А в чем сложно поставить клавиатурный хук?
Человек_Борща вне форума Ответить с цитированием
Старый 30.03.2013, 16:29   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

GetRawInputDeviceList()

http://msdn.microsoft.com/ru-RU/libr...(v=vs.85).aspx
http://blog.not-a-kernel-guy.com/2007/12/05/268

p.s.: TC видимо хочет различить нажатия на разных клавиатурах.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 30.03.2013, 21:38   #4
Mozgunov
Пользователь
 
Регистрация: 19.09.2007
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
А в чем сложно поставить клавиатурный хук?
Мне нужно чтобы вторая клавиатура работала в обычном режиме.
Mozgunov вне форума Ответить с цитированием
Старый 30.03.2013, 22:04   #5
Mozgunov
Пользователь
 
Регистрация: 19.09.2007
Сообщений: 20
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
GetRawInputDeviceList()

http://msdn.microsoft.com/ru-RU/libr...(v=vs.85).aspx
http://blog.not-a-kernel-guy.com/2007/12/05/268

p.s.: TC видимо хочет различить нажатия на разных клавиатурах.
Так не получается. Уже пробовал.
Mozgunov вне форума Ответить с цитированием
Старый 30.03.2013, 22:30   #6
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

...что не получается, как пробовали, скриншоты?
Вложения
Тип файла: zip Project1.zip (221.2 Кб, 24 просмотров)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 30.03.2013, 22:44   #7
Mozgunov
Пользователь
 
Регистрация: 19.09.2007
Сообщений: 20
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
...что не получается, как пробовали, скриншоты?
Мне нужно чтобы нажатие клавиши не происходило. То есть чтобы третья программа обрабатывала нажатие, но при этом не посылала винде нажатий клавиш. Например при работе в "Блокнот" с одной клавиатуры должны вводится символы, а с другой сочетания клавиш или несколько символов подряд. Я уже пробовал с этим разобраться тут , но ничего не получилось((
Mozgunov вне форума Ответить с цитированием
Старый 30.03.2013, 23:08   #8
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

Цитата:
тут
...а что вы меня в рекурсию вгоняете? Отвечайте на вопросы: что не получается, как пробовали, скриншоты? Ваша "блютуз-клавиатура" случаем не сканнер штрих-кода?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 30.03.2013, 23:22   #9
Mozgunov
Пользователь
 
Регистрация: 19.09.2007
Сообщений: 20
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
...а что вы меня в рекурсию вгоняете? Отвечайте на вопросы: что не получается, как пробовали, скриншоты? Ваша "блютуз-клавиатура" случаем не сканнер штрих-кода?
Я извиняюсь за рекурсию )) Правильно так

Да дело в том что я запутался и не могу найти ничего нужного. Поэтому скрины бесполезны, а то что я попробовал есть по ссылке так.
Mozgunov вне форума Ответить с цитированием
Старый 30.03.2013, 23:26   #10
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

http://programmersforum.ru/showpost....33&postcount=4

Все-таки продублирую свой ответ из темы Ivan32, ибо проблемы ваши схожи (у него в системе сканнер как вторая клавиатура и тоже надо было отловить в определенной программе или подавить сообщения от HID):
Цитата:
User-mode драйвер / программа-фильтр для сканера штрих-кодов - какой правильный подход при разработке?

1- в режиме HID (без эмуляции COM) вы ведь можете читать данные через dev.ReadFile(raw, ...) после энумерации и выделения по атрибутам HidDev.Attributes.VendorID и HidDev.Attributes.ProductID, принадлежащие именно вашему сканнеру
2- в режиме эмуляции COM-порта можно однозначно выделить на каком порту сканер по имени в списке через SetupAPI Как получить номер КОМ-порта зная VID и PID

Цитата:
хранить список VID&PID для всех устройств, аналогичные юзермодные драйверы-программы от производителей к таким вещам не привязаны
...разве VID/PID однозначно не укажут производителя? Есть же выделенные диапазоны (при официальной регистрациии), кроме случаев совпадения.

Цитата:
- Нет возможность подавить сами сообщения
костыль: сделать свое окно всегда поверх, добавить полупрозрачность, какую-нибудь служебную информацию, чтобы никого не раздражало.

Цитата:
Почитал, что можно якобы написать фильтр-драйвер с помощью KMDF, мол это проще будет, чем обычный драйвер. Слабо представляю себе как это можно сделать (так как опыта в разработке драйверов у меня минимум или строго говоря вообще нет). Времени у меня по сути нет, но учитывая то, что промежуточное решение у меня почти на руках, думаю, у меня будет время изучить эту область.

P.S.: Под подавлением сообщений я имею в виду, чтобы моя программа становилась конечной точкой куда приходят эти сообщения клавиатуры/сканера, то есть чтобы я нажимал клавишу (или же сканировал штрих-код сканером) и данные о нажатии приходили только в мою программу.
люди сталкивались. Неделю назад в твитт-ленте публиковал ссылку на - фильтр-минидрайвер штрихкод-сканнера для перехвата пакетов HID-клавиатуры http://smart-eyes.com/file_store/driver.rar
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вторая калвиатура как отдельное устройство wetchislaf Компьютерное железо 19 23.02.2015 16:43
Как в CSS-коде задать отдельное изображение для каждого из 3 состояний кнопки меню моего сайта? Michael_Ardan HTML и CSS 1 21.03.2013 14:16
Как вывести критерии автофильтра в отдельное поле Lybrary Microsoft Office Excel 2 18.12.2009 15:14
отдельное окно в <td> с горизонтальной прокруткой как на картинке v-victoria HTML и CSS 0 13.08.2009 22:24
Как пропинговать устройство???? Ky3Heu, Работа с сетью в Delphi 2 01.04.2009 20:37