Virutal HID mini-driver with mult top level collections

All,

I am developing a virtual HID mini-driver that supports both multi-touch and
pen. The mini-driver’s descriptor has three top level descriptors:
multi-touch, pen, and mouse. When I install the driver I see device objects
being created for all three collections. However, I only ever receive read
report requests for the multi-touch collection --( based on the observation
that the only read report the driver receives has the size and ID of the
multi-touch collection). I was thinking that I would receive read report
requests (IOCTL_HID_READ_REPORT) for all the top level collections.

For purposes of testing, I would like to report coordinate data using either
the pen or the multitouch collection.

Questions:

  1. Why doesn’t the minidriver receive read report requests for all reported
    top level collections.
  2. Do I need to set some configuration parameters (either via the Pen and
    Touch applet, or TabletPC applet) to allow the device to act as a
    multi-touch device or a pen?

BTW: This driver is targeted for Win7

TIA,
Jimmy

If you’re making a Windows Touch device, you might want to double-check
the logo requirements with Microsoft, as I believe you’re not allowed to
report a mouse TLC.

They are a bit vague on this, but the requirement says: “Multi-touch
digitizers appear to the OS as HID digitizers, and not as a mouse or
other proprietary device”. That might just mean that they need *at
least* a HID digitizer TLC, though, hard to say.

As for why you’re not getting a read request on the pen and mouse TLCs,
that I don’t know. Perhaps something about the descriptors is keeping
the class drivers from installing. I know they’re kind of touchy. You
should be able to look in the registry in the enum key and figure out
what drivers are loaded for the various TLCs.

Jimmy James wrote:

All,

I am developing a virtual HID mini-driver that supports both multi-touch and
pen. The mini-driver’s descriptor has three top level descriptors:
multi-touch, pen, and mouse. When I install the driver I see device objects
being created for all three collections. However, I only ever receive read
report requests for the multi-touch collection --( based on the observation
that the only read report the driver receives has the size and ID of the
multi-touch collection). I was thinking that I would receive read report
requests (IOCTL_HID_READ_REPORT) for all the top level collections.

For purposes of testing, I would like to report coordinate data using either
the pen or the multitouch collection.

Questions:

  1. Why doesn’t the minidriver receive read report requests for all reported
    top level collections.
  2. Do I need to set some configuration parameters (either via the Pen and
    Touch applet, or TabletPC applet) to allow the device to act as a
    multi-touch device or a pen?

BTW: This driver is targeted for Win7

TIA,
Jimmy


Ray
(If you want to reply to me off list, please remove “spamblock.” from my
email address)

Did you read this slide deck, http://download.microsoft.com/download/8/6/A/86A97515-8AF4-4CA6-B516-CDA1139B8D93/MBL-T787_en.pptx, which talks about the configuration TLC which lets you know how to route input information? If you are supporting win7 in this driver, why even have the mouse and pen TLCs? I can understand wanting them for a pre win7 OS, but not for win7.

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Ray Trent
Sent: Wednesday, April 01, 2009 4:21 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Virutal HID mini-driver with mult top level collections

If you’re making a Windows Touch device, you might want to double-check
the logo requirements with Microsoft, as I believe you’re not allowed to
report a mouse TLC.

They are a bit vague on this, but the requirement says: “Multi-touch
digitizers appear to the OS as HID digitizers, and not as a mouse or
other proprietary device”. That might just mean that they need *at
least* a HID digitizer TLC, though, hard to say.

As for why you’re not getting a read request on the pen and mouse TLCs,
that I don’t know. Perhaps something about the descriptors is keeping
the class drivers from installing. I know they’re kind of touchy. You
should be able to look in the registry in the enum key and figure out
what drivers are loaded for the various TLCs.

Jimmy James wrote:

All,

I am developing a virtual HID mini-driver that supports both multi-touch and
pen. The mini-driver’s descriptor has three top level descriptors:
multi-touch, pen, and mouse. When I install the driver I see device objects
being created for all three collections. However, I only ever receive read
report requests for the multi-touch collection --( based on the observation
that the only read report the driver receives has the size and ID of the
multi-touch collection). I was thinking that I would receive read report
requests (IOCTL_HID_READ_REPORT) for all the top level collections.

For purposes of testing, I would like to report coordinate data using either
the pen or the multitouch collection.

Questions:

  1. Why doesn’t the minidriver receive read report requests for all reported
    top level collections.
  2. Do I need to set some configuration parameters (either via the Pen and
    Touch applet, or TabletPC applet) to allow the device to act as a
    multi-touch device or a pen?

BTW: This driver is targeted for Win7

TIA,
Jimmy


Ray
(If you want to reply to me off list, please remove “spamblock.” from my
email address)


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Also, more details on the config TLC

http://download.microsoft.com/download/a/d/f/adf1347d-08dc-41a4-9084-623b1194d4b2/DigitizerDrvs_touch.docx

d

-----Original Message-----
From: Doron Holan
Sent: Wednesday, April 01, 2009 4:28 PM
To: Windows System Software Devs Interest List
Subject: RE: Re:[ntdev] Virutal HID mini-driver with mult top level collections

Did you read this slide deck, http://download.microsoft.com/download/8/6/A/86A97515-8AF4-4CA6-B516-CDA1139B8D93/MBL-T787_en.pptx, which talks about the configuration TLC which lets you know how to route input information? If you are supporting win7 in this driver, why even have the mouse and pen TLCs? I can understand wanting them for a pre win7 OS, but not for win7.

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Ray Trent
Sent: Wednesday, April 01, 2009 4:21 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Virutal HID mini-driver with mult top level collections

If you’re making a Windows Touch device, you might want to double-check
the logo requirements with Microsoft, as I believe you’re not allowed to
report a mouse TLC.

They are a bit vague on this, but the requirement says: “Multi-touch
digitizers appear to the OS as HID digitizers, and not as a mouse or
other proprietary device”. That might just mean that they need *at
least* a HID digitizer TLC, though, hard to say.

As for why you’re not getting a read request on the pen and mouse TLCs,
that I don’t know. Perhaps something about the descriptors is keeping
the class drivers from installing. I know they’re kind of touchy. You
should be able to look in the registry in the enum key and figure out
what drivers are loaded for the various TLCs.

Jimmy James wrote:

All,

I am developing a virtual HID mini-driver that supports both multi-touch and
pen. The mini-driver’s descriptor has three top level descriptors:
multi-touch, pen, and mouse. When I install the driver I see device objects
being created for all three collections. However, I only ever receive read
report requests for the multi-touch collection --( based on the observation
that the only read report the driver receives has the size and ID of the
multi-touch collection). I was thinking that I would receive read report
requests (IOCTL_HID_READ_REPORT) for all the top level collections.

For purposes of testing, I would like to report coordinate data using either
the pen or the multitouch collection.

Questions:

  1. Why doesn’t the minidriver receive read report requests for all reported
    top level collections.
  2. Do I need to set some configuration parameters (either via the Pen and
    Touch applet, or TabletPC applet) to allow the device to act as a
    multi-touch device or a pen?

BTW: This driver is targeted for Win7

TIA,
Jimmy


Ray
(If you want to reply to me off list, please remove “spamblock.” from my
email address)


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Actaully, if you read the spec “Digitizer Drivers for Windows Touch and
Pen-Based Computers”, section “Top-Level Collection Guidance” you’ll see
that reporting mouse TLC is required. And yes the descriptor reports a HID
digitizer usage page.

On Wed, Apr 1, 2009 at 5:21 PM, Ray Trent wrote:

> If you’re making a Windows Touch device, you might want to double-check the
> logo requirements with Microsoft, as I believe you’re not allowed to report
> a mouse TLC.
>
> They are a bit vague on this, but the requirement says: “Multi-touch
> digitizers appear to the OS as HID digitizers, and not as a mouse or other
> proprietary device”. That might just mean that they need at least a HID
> digitizer TLC, though, hard to say.
>
> As for why you’re not getting a read request on the pen and mouse TLCs,
> that I don’t know. Perhaps something about the descriptors is keeping the
> class drivers from installing. I know they’re kind of touchy. You should be
> able to look in the registry in the enum key and figure out what drivers are
> loaded for the various TLCs.
>
> Jimmy James wrote:
>
>> All,
>>
>> I am developing a virtual HID mini-driver that supports both multi-touch
>> and pen. The mini-driver’s descriptor has three top level descriptors:
>> multi-touch, pen, and mouse. When I install the driver I see device objects
>> being created for all three collections. However, I only ever receive read
>> report requests for the multi-touch collection --( based on the observation
>> that the only read report the driver receives has the size and ID of the
>> multi-touch collection). I was thinking that I would receive read report
>> requests (IOCTL_HID_READ_REPORT) for all the top level collections.
>>
>> For purposes of testing, I would like to report coordinate data using
>> either the pen or the multitouch collection.
>>
>> Questions:
>> 1. Why doesn’t the minidriver receive read report requests for all
>> reported top level collections.
>> 2. Do I need to set some configuration parameters (either via the Pen and
>> Touch applet, or TabletPC applet) to allow the device to act as a
>> multi-touch device or a pen?
>>
>>
>> BTW: This driver is targeted for Win7
>>
>> TIA,
>> Jimmy
>>
>>
>>
>>
> –
> Ray
> (If you want to reply to me off list, please remove “spamblock.” from my
> email address)
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>

Excuse me I read-read the spec and it really says that the mouse TLC is only
required for multiple input device. So, just for the record, the mouse TLC
is not strictly required.

The reason that I want to report pen is foir test purposes.

Thanks for the poitner to the slides - I’ll check them out.

“JIm james” wrote in message news:xxxxx@ntdev…
> Actaully, if you read the spec “Digitizer Drivers for Windows Touch and
> Pen-Based Computers”, section “Top-Level Collection Guidance” you’ll see
> that reporting mouse TLC is required. And yes the descriptor reports a HID
> digitizer usage page.
>
>
>
> On Wed, Apr 1, 2009 at 5:21 PM, Ray Trent
> wrote:
>
>> If you’re making a Windows Touch device, you might want to double-check
>> the
>> logo requirements with Microsoft, as I believe you’re not allowed to
>> report
>> a mouse TLC.
>>
>> They are a bit vague on this, but the requirement says: “Multi-touch
>> digitizers appear to the OS as HID digitizers, and not as a mouse or
>> other
>> proprietary device”. That might just mean that they need at least a HID
>> digitizer TLC, though, hard to say.
>>
>> As for why you’re not getting a read request on the pen and mouse TLCs,
>> that I don’t know. Perhaps something about the descriptors is keeping the
>> class drivers from installing. I know they’re kind of touchy. You should
>> be
>> able to look in the registry in the enum key and figure out what drivers
>> are
>> loaded for the various TLCs.
>>
>> Jimmy James wrote:
>>
>>> All,
>>>
>>> I am developing a virtual HID mini-driver that supports both multi-touch
>>> and pen. The mini-driver’s descriptor has three top level descriptors:
>>> multi-touch, pen, and mouse. When I install the driver I see device
>>> objects
>>> being created for all three collections. However, I only ever receive
>>> read
>>> report requests for the multi-touch collection --( based on the
>>> observation
>>> that the only read report the driver receives has the size and ID of the
>>> multi-touch collection). I was thinking that I would receive read report
>>> requests (IOCTL_HID_READ_REPORT) for all the top level collections.
>>>
>>> For purposes of testing, I would like to report coordinate data using
>>> either the pen or the multitouch collection.
>>>
>>> Questions:
>>> 1. Why doesn’t the minidriver receive read report requests for all
>>> reported top level collections.
>>> 2. Do I need to set some configuration parameters (either via the Pen
>>> and
>>> Touch applet, or TabletPC applet) to allow the device to act as a
>>> multi-touch device or a pen?
>>>
>>>
>>> BTW: This driver is targeted for Win7
>>>
>>> TIA,
>>> Jimmy
>>>
>>>
>>>
>>>
>> –
>> Ray
>> (If you want to reply to me off list, please remove “spamblock.” from my
>> email address)
>>
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> For our schedule of WDF, WDM, debugging and other seminars visit:
>> http://www.osr.com/seminars
>>
>> To unsubscribe, visit the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>

Thanks again for the slides. I added an configuration collection and see
that mtconfig.sys now being loaded and that it is selecting the id for the
MT device and putting it into MT mode.

Question: Is there a way to change the defualt behavior of mtconfig.sys so
that I can control the mode and device? maybe through a reg setting or a
control panel applet?

Thanks again,
Jimmy

“Doron Holan” wrote in message
news:xxxxx@ntdev…
Also, more details on the config TLC

http://download.microsoft.com/download/a/d/f/adf1347d-08dc-41a4-9084-623b1194d4b2/DigitizerDrvs_touch.docx

d

-----Original Message-----
From: Doron Holan
Sent: Wednesday, April 01, 2009 4:28 PM
To: Windows System Software Devs Interest List
Subject: RE: Re:[ntdev] Virutal HID mini-driver with mult top level
collections

Did you read this slide deck,
http://download.microsoft.com/download/8/6/A/86A97515-8AF4-4CA6-B516-CDA1139B8D93/MBL-T787_en.pptx,
which talks about the configuration TLC which lets you know how to route
input information? If you are supporting win7 in this driver, why even have
the mouse and pen TLCs? I can understand wanting them for a pre win7 OS, but
not for win7.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ray Trent
Sent: Wednesday, April 01, 2009 4:21 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Virutal HID mini-driver with mult top level collections

If you’re making a Windows Touch device, you might want to double-check
the logo requirements with Microsoft, as I believe you’re not allowed to
report a mouse TLC.

They are a bit vague on this, but the requirement says: “Multi-touch
digitizers appear to the OS as HID digitizers, and not as a mouse or
other proprietary device”. That might just mean that they need at
least
a HID digitizer TLC, though, hard to say.

As for why you’re not getting a read request on the pen and mouse TLCs,
that I don’t know. Perhaps something about the descriptors is keeping
the class drivers from installing. I know they’re kind of touchy. You
should be able to look in the registry in the enum key and figure out
what drivers are loaded for the various TLCs.

Jimmy James wrote:
> All,
>
> I am developing a virtual HID mini-driver that supports both multi-touch
> and
> pen. The mini-driver’s descriptor has three top level descriptors:
> multi-touch, pen, and mouse. When I install the driver I see device
> objects
> being created for all three collections. However, I only ever receive read
> report requests for the multi-touch collection --( based on the
> observation
> that the only read report the driver receives has the size and ID of the
> multi-touch collection). I was thinking that I would receive read report
> requests (IOCTL_HID_READ_REPORT) for all the top level collections.
>
> For purposes of testing, I would like to report coordinate data using
> either
> the pen or the multitouch collection.
>
> Questions:
> 1. Why doesn’t the minidriver receive read report requests for all
> reported
> top level collections.
> 2. Do I need to set some configuration parameters (either via the Pen and
> Touch applet, or TabletPC applet) to allow the device to act as a
> multi-touch device or a pen?
>
>
> BTW: This driver is targeted for Win7
>
> TIA,
> Jimmy
>
>
>


Ray
(If you want to reply to me off list, please remove “spamblock.” from my
email address)


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Yes, I stand corrected.

The Logo requirement is just *really* badly worded.

JIm james wrote:

Actaully, if you read the spec “Digitizer Drivers for Windows Touch and
Pen-Based Computers”, section “Top-Level Collection Guidance” you’ll see
that reporting mouse TLC is required. And yes the descriptor reports a
HID digitizer usage page.

On Wed, Apr 1, 2009 at 5:21 PM, Ray Trent > mailto:xxxxx> wrote:
>
> If you’re making a Windows Touch device, you might want to
> double-check the logo requirements with Microsoft, as I believe
> you’re not allowed to report a mouse TLC.
>
> They are a bit vague on this, but the requirement says: “Multi-touch
> digitizers appear to the OS as HID digitizers, and not as a mouse or
> other proprietary device”. That might just mean that they need at
> least
a HID digitizer TLC, though, hard to say.
>
> As for why you’re not getting a read request on the pen and mouse
> TLCs, that I don’t know. Perhaps something about the descriptors is
> keeping the class drivers from installing. I know they’re kind of
> touchy. You should be able to look in the registry in the enum key
> and figure out what drivers are loaded for the various TLCs.
>
>
> Jimmy James wrote:
>
> All,
>
> I am developing a virtual HID mini-driver that supports both
> multi-touch and pen. The mini-driver’s descriptor has three top
> level descriptors: multi-touch, pen, and mouse. When I install
> the driver I see device objects being created for all three
> collections. However, I only ever receive read report requests
> for the multi-touch collection --( based on the observation that
> the only read report the driver receives has the size and ID of
> the multi-touch collection). I was thinking that I would receive
> read report requests (IOCTL_HID_READ_REPORT) for all the top
> level collections.
>
> For purposes of testing, I would like to report coordinate data
> using either the pen or the multitouch collection.
>
> Questions:
> 1. Why doesn’t the minidriver receive read report requests for
> all reported top level collections.
> 2. Do I need to set some configuration parameters (either via
> the Pen and Touch applet, or TabletPC applet) to allow the
> device to act as a multi-touch device or a pen?
>
>
> BTW: This driver is targeted for Win7
>
> TIA,
> Jimmy
>
>
>
>
> –
> Ray
> (If you want to reply to me off list, please remove “spamblock.”
> from my email address)
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>


Ray
(If you want to reply to me off list, please remove “spamblock.” from my
email address)</mailto:xxxxx>

Jimmy James wrote:

Excuse me I read-read the spec and it really says that the mouse TLC is
only required for multiple input device. So, just for the record, the
mouse TLC is not strictly required.

I’m developing a (single) touch screen driver (XPe/WES) and I’ve found
that I *require* both a mouse and digitizer collections in order for the
HCLIENT application to pick it up… and use get/set feature…

Might be something funny with my descriptors, but that’s the only config I
can get working right now… :frowning:

Regards,


Mark McDougall, Engineer
Virtual Logic Pty Ltd, http:
21-25 King St, Rockdale, 2216
Ph: +612-9599-3255 Fax: +612-9599-3266</http:>