Приложение Windows: необработанная регистрация устройства ввода — исключая желаемое устройство подкласса

В моем приложении Windows при регистрации для «Необработанных устройств ввода» я хочу зарегистрировать только мышь, но трекпад, который также является указывающим устройством, также регистрируется.

В документации MSDN в коллекции верхнего уровня (TLC) говорится об использовании полей usUsagePage, usUsage RAWINPUTDEVICE. Но нет информации, как исключить одно из устройств под той же категорией. RIDEV_REMOVE, RIDEV_EXCLUDE или любые другие флаги режима не дают ответа, и их можно использовать только для подкласса в зависимости от значения usUsagePage.

Управление конкретным устройством класса возможно после регистрации и последующего получения значения члена hDevice RawInputHeader, но я не хочу регистрировать сенсорную панель в первую очередь.

Дайте мне знать, если есть какой-либо другой вариант для вышеуказанной проблемы.

заранее спасибо

KB


person K Babu    schedule 29.01.2010    source источник


Ответы (1)


Короче говоря, похоже, что драйвер мыши в случае USB является HID-устройством, к сожалению, подклассы драйвера мыши также могут быть зарегистрированы, как вы выяснили, пытались ли вы изменить драйвер мыши на какой-то общий или возможно, отключить трекпад? Может быть, убить программу трекпада, которая работает в трее? Но опять же, вы упомянули трекпад, который, как я подозреваю, является ноутбуком, на котором вы запускаете драйвер. Вы пробовали его на настольном ПК с автономной USB-мышью?

Надеюсь, это поможет. С уважением, Том.

person t0mm13b    schedule 29.01.2010
comment
Привет, Том, спасибо! Но, как я уже сказал, он отлично работает с ПК. Это касается не только сенсорной панели, любого другого указывающего устройства, использующего класс мыши, например, я использую экран планшета, который также регистрируется. Я могу иметь условные операторы и игнорировать данные, поступающие от любого другого указывающего устройства, кроме того, которое я выбираю. Я в порядке, если есть такие варианты, как: 1) Я хочу, чтобы необработанные данные других устройств обрабатывались по умолчанию, а не взаимодействовали с моим приложением. Я использую сообщение WM_INPUT. 2) Регистрация только того устройства, данные которого мне нужны. У вас есть другие предложения? КБ - person K Babu; 29.01.2010