One more detail. For this to work, you need to install your driver
under the Keyboard Port device class. That is how kbdclass will be
automatically loaded on top of your driver.
d
-----Original Message-----
From: Doron Holan
Sent: Wednesday, March 16, 2005 9:44 AM
To: ‘Windows System Software Devs Interest List’
Subject: RE: [ntdev] Keyboard question
If no other component needs to open your driver and talk to it, your
driver should be a keyboard *port* driver, not a filter driver. You
basically need to support the following IOCTLs:
IOCTL_INTERNAL_KEYBOARD_CONNECT
IOCTL_KEYBOARD_QUERY_ATTRIBUTES
IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION
IOCTL_KEYBOARD_QUERY_INDICATORS
IOCTL_KEYBOARD_SET_INDICATORS
IOCTL_KEYBOARD_QUERY_TYPEMATIC
IOCTL_KEYBOARD_SET_TYPEMATIC
And then call the service callback routine (which is set in
IOCTL_INTERNAL_KEYBOARD_CONNECT) at DISPATCH_LEVEL every time you have
data to report. The data is reported in the form of an array of
KEYBOARD_INPUT_DATA structures.
Look at the DDK example pnpi8042. there is a lot there b/c it has both
a mouse and keyboard device object, but for a head start on the IOCTLs,
look at i8042cmn.c, I8xInternalDeviceControl().
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Lange, Jeff
Sent: Wednesday, March 16, 2005 7:51 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Keyboard question
The only problem with that solution is that I can’t guarantee that there
will be another keyboard device on the system to filter.
-Jeff
-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Wednesday, March 16, 2005 10:43 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Keyboard question
Write a filter based on KBDFILTR sample.
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com
----- Original Message -----
From: “Jeff Lange”
Newsgroups: ntdev
To: “Windows System Software Devs Interest List”
Sent: Wednesday, March 16, 2005 5:30 PM
Subject: [ntdev] Keyboard question
> I’ve been tasked with writing a driver that will listen to data coming
in
> from a USB device, do some processing on it then send some data out as
if it
> was typed on a keyboard. (The USB device is NOT a keyboard class HID
> device). I’ve searched the archives and found some interesting posts
about
> the kbdclass driver and the like, but I have no clue where I should
even
> start on this. I’ve created a dummy driver that currently doesn’t do
> anything, and I setup the inf with the correct USB id’s that installs
it as
> a keyboard device in device manager,. My question is rather simple.
how do
> I get data to the keyboard class driver? do I need to write my own?
and if
> that is the case would it replace the standard windows driver? (that’s
bad
> right?). Sorry for my ignorance on this, but I have limited
experience with
> doing kernel drivers, but you have to start somewhere right? =)
>
> Thanks!
>
> -Jeff
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@ultimatetechnology.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com