I have written HID mini port driver initially based on the vhidmini DDK
example and referencing chapter 13 of Oney's book as well as the hbtnkey and
mstabbtn DDK examples.

My driver appears to load/unload and operate correctly except that when it
completes a read report specifying a particular button was pressed the action
that is mapped to this button via the "Tablet and Pen Settings" control panel
applet's "Tablet Buttons" tab is never performed. The tablet I'm testing on
does have another button driver installed as well.

I have written a user mode application that does recive the WM_INPUT HID
messages with HID Usage Page of Generic Desktop (0x01) and HID Usage of
Tablet PC System Controls (0x09) which seems to indicate that my driver has
the HID report descriptor correct, but for some reason the mapping in the OS
is not happening.

Is there some step I'm missing here? Does the OS monitor all INPUT reports
with usage page = 0x01 and usage = 0x09 or does it some how choose to only
use the reports from a specific driver?

Any suggestions on this would be greatly appreciated.

Oh, BTW, I know about the
[HKLM\System\CurrentControlSet\Control\TabletPC\TabletButtons] registry
entries and I believe I have these correct too.

Thanks an advance for any input on this.
--
Neal Smith
Sr Software Engineer
Intel Corp.

Re: Tablet PC Button Driver OS Integration Question by Doron

Doron
Mon Jul 28 12:02:37 CDT 2008

i can guarantee you the OS is not looking at the mfg of the driver ot
determine if it should use it or not. i would suggest installing a kmdf
upper filter driver on a HID TLC stack whose buttons actually work and then
compare that to the data you are reporting in your driver

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Neal Smith" <NealSmith@discussions.microsoft.com> wrote in message
news:2DB6FAC5-E34E-48EC-B3B3-705A89D1D3D5@microsoft.com...
>I have written HID mini port driver initially based on the vhidmini DDK
> example and referencing chapter 13 of Oney's book as well as the hbtnkey
> and
> mstabbtn DDK examples.
>
> My driver appears to load/unload and operate correctly except that when it
> completes a read report specifying a particular button was pressed the
> action
> that is mapped to this button via the "Tablet and Pen Settings" control
> panel
> applet's "Tablet Buttons" tab is never performed. The tablet I'm testing
> on
> does have another button driver installed as well.
>
> I have written a user mode application that does recive the WM_INPUT HID
> messages with HID Usage Page of Generic Desktop (0x01) and HID Usage of
> Tablet PC System Controls (0x09) which seems to indicate that my driver
> has
> the HID report descriptor correct, but for some reason the mapping in the
> OS
> is not happening.
>
> Is there some step I'm missing here? Does the OS monitor all INPUT
> reports
> with usage page = 0x01 and usage = 0x09 or does it some how choose to only
> use the reports from a specific driver?
>
> Any suggestions on this would be greatly appreciated.
>
> Oh, BTW, I know about the
> [HKLM\System\CurrentControlSet\Control\TabletPC\TabletButtons] registry
> entries and I believe I have these correct too.
>
> Thanks an advance for any input on this.
> --
> Neal Smith
> Sr Software Engineer
> Intel Corp.


Re: Tablet PC Button Driver OS Integration Question by NealSmith

NealSmith
Mon Jul 28 15:08:37 CDT 2008

Thanks for the reply. I actually got desperate and removed the original
mfg's button driver and then windows started using my driver which seems to
be working as is.

I'm still not clear on exactly how the driver that Windows uses is selected,
maybe it has to do with the fact that my driver isn't signed and the original
one is. If anyone has any more information on how this process works I'd
love to hear about it.

Neal

--
Neal Smith
Sr Software Engineer
Intel Corp.


"Doron Holan [MSFT]" wrote:

> i can guarantee you the OS is not looking at the mfg of the driver ot
> determine if it should use it or not. i would suggest installing a kmdf
> upper filter driver on a HID TLC stack whose buttons actually work and then
> compare that to the data you are reporting in your driver
>
> d
>
> --
> Please do not send e-mail directly to this alias. this alias is for
> newsgroup purposes only.
> This posting is provided "AS IS" with no warranties, and confers no rights.
>
>
> "Neal Smith" <NealSmith@discussions.microsoft.com> wrote in message
> news:2DB6FAC5-E34E-48EC-B3B3-705A89D1D3D5@microsoft.com...
> >I have written HID mini port driver initially based on the vhidmini DDK
> > example and referencing chapter 13 of Oney's book as well as the hbtnkey
> > and
> > mstabbtn DDK examples.
> >
> > My driver appears to load/unload and operate correctly except that when it
> > completes a read report specifying a particular button was pressed the
> > action
> > that is mapped to this button via the "Tablet and Pen Settings" control
> > panel
> > applet's "Tablet Buttons" tab is never performed. The tablet I'm testing
> > on
> > does have another button driver installed as well.
> >
> > I have written a user mode application that does recive the WM_INPUT HID
> > messages with HID Usage Page of Generic Desktop (0x01) and HID Usage of
> > Tablet PC System Controls (0x09) which seems to indicate that my driver
> > has
> > the HID report descriptor correct, but for some reason the mapping in the
> > OS
> > is not happening.
> >
> > Is there some step I'm missing here? Does the OS monitor all INPUT
> > reports
> > with usage page = 0x01 and usage = 0x09 or does it some how choose to only
> > use the reports from a specific driver?
> >
> > Any suggestions on this would be greatly appreciated.
> >
> > Oh, BTW, I know about the
> > [HKLM\System\CurrentControlSet\Control\TabletPC\TabletButtons] registry
> > entries and I believe I have these correct too.
> >
> > Thanks an advance for any input on this.
> > --
> > Neal Smith
> > Sr Software Engineer
> > Intel Corp.
>
>

Re: Tablet PC Button Driver OS Integration Question by Doron

Doron
Wed Jul 30 17:15:37 CDT 2008

perhaps it only uses the first one in the list of HIDs that support the
usage it is looking for? at that point, it could be up to enumeration order
or chance which one is used. i again highly doubt it has anything to do
with the signing of the drivers, HID is just not a space where signing is
that important for the app consuming the data (as opposed to DVD playback
for instance)

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Neal Smith" <NealSmith@discussions.microsoft.com> wrote in message
news:8D9DB365-8E3F-4EDE-A15E-65A00C18C77F@microsoft.com...
> Thanks for the reply. I actually got desperate and removed the original
> mfg's button driver and then windows started using my driver which seems
> to
> be working as is.
>
> I'm still not clear on exactly how the driver that Windows uses is
> selected,
> maybe it has to do with the fact that my driver isn't signed and the
> original
> one is. If anyone has any more information on how this process works I'd
> love to hear about it.
>
> Neal
>
> --
> Neal Smith
> Sr Software Engineer
> Intel Corp.
>
>
> "Doron Holan [MSFT]" wrote:
>
>> i can guarantee you the OS is not looking at the mfg of the driver ot
>> determine if it should use it or not. i would suggest installing a kmdf
>> upper filter driver on a HID TLC stack whose buttons actually work and
>> then
>> compare that to the data you are reporting in your driver
>>
>> d
>>
>> --
>> Please do not send e-mail directly to this alias. this alias is for
>> newsgroup purposes only.
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>>
>>
>> "Neal Smith" <NealSmith@discussions.microsoft.com> wrote in message
>> news:2DB6FAC5-E34E-48EC-B3B3-705A89D1D3D5@microsoft.com...
>> >I have written HID mini port driver initially based on the vhidmini DDK
>> > example and referencing chapter 13 of Oney's book as well as the
>> > hbtnkey
>> > and
>> > mstabbtn DDK examples.
>> >
>> > My driver appears to load/unload and operate correctly except that when
>> > it
>> > completes a read report specifying a particular button was pressed the
>> > action
>> > that is mapped to this button via the "Tablet and Pen Settings" control
>> > panel
>> > applet's "Tablet Buttons" tab is never performed. The tablet I'm
>> > testing
>> > on
>> > does have another button driver installed as well.
>> >
>> > I have written a user mode application that does recive the WM_INPUT
>> > HID
>> > messages with HID Usage Page of Generic Desktop (0x01) and HID Usage of
>> > Tablet PC System Controls (0x09) which seems to indicate that my driver
>> > has
>> > the HID report descriptor correct, but for some reason the mapping in
>> > the
>> > OS
>> > is not happening.
>> >
>> > Is there some step I'm missing here? Does the OS monitor all INPUT
>> > reports
>> > with usage page = 0x01 and usage = 0x09 or does it some how choose to
>> > only
>> > use the reports from a specific driver?
>> >
>> > Any suggestions on this would be greatly appreciated.
>> >
>> > Oh, BTW, I know about the
>> > [HKLM\System\CurrentControlSet\Control\TabletPC\TabletButtons] registry
>> > entries and I believe I have these correct too.
>> >
>> > Thanks an advance for any input on this.
>> > --
>> > Neal Smith
>> > Sr Software Engineer
>> > Intel Corp.
>>
>>