Keyboard HID minidriver

I have studied kbdclass class driver for keyboards and vhidmini hid 
minidriver. I understood how both drivers do stuff internally and how control 
IRP packets get passed down the driver stack from the class driver to the 
minidriver, but I have not understood how read requests are processed. 

I didn't understand where exactly in kbdclass does IRP_MJ_READ get passed to 
the minidriver. From what I see, this doesn't happen, IRP_MJ_READ is 
completed in the class driver. The class driver just removes stuff from it's 
queue. If this is the case, how does the minidriver fill the class driver 

What dispatch function I need to implement in my minidriver so I can push 
stuff into the class driver queue? I think I need to use some 
HID_REPORT_DESCRIPTOR but I can't figure out how to create it or where/how to 
use it.


Aram Hăvărneanu
12/6/2009 4:45:01 PM
development.device.drivers 941 articles. 0 followers. Follow

2 Replies

Similar Articles

[PageSpeed] 59

I think that kbdclass' KeyboardClassServiceCallback() copies data to the 
queue, and I have to implement KbFilter_ServiceCallback(), but I don't 
understands when this function gets called. My driver is for a virtual 
device, so there's no real device generating interrupts.


Aram Hăvărneanu

12/6/2009 5:21:01 PM
To offer a bit more background about what am I trying to do, 

I want to implement a virtual keyboard. That is, a device driver that injects 
arbitrary input data into kbdclass.sys. From my understanding there are 
ways of doing this:

1) PnP or legacy style keyboard port driver (something that sits below 
2) A hid miniport that enumerates a keyboard.

If I go with 2) I can start from vhidmini sample (not available in latest 
but works). If I go with 1 I need to write something from scratch and I can 
KDMF as the keyboard port driver is not a minidriver.

I tried 2 but I think the whole HID business I don't care about is confusing 
I need to understand HID collections and HID descriptors and other complex 
stuff when all I want is to push some KEYBOARD_INPUT_DATA into KbdClass' 
using KeyboardClassServiceCallback().

What do you recommend? How would use approach this?

PS: I wish to make an application that uses this driver as a temporary driver 
(no install). The problem is that if I want to use the Service Control 
API then I can only use a legacy style (non PnP) driver. Is that correct? For 
"modern" I need to make an .inf file and use what devcon.exe uses. The 
with devcon.exe is that installing the driver and then deinstalling it takes 
significant amount of time. I can live with that, although the SCM APIs would 
make things so much easier.


Aram Hăvărneanu

12/6/2009 6:23:02 PM

Similar Artilces:

Why can't I enter a "/" via the keyboard?
I use a "/" (forward slash) as a tick in a spreadsheet and have a data validation rule to prevent other characters being inserted. This works fine if I right click in the cell and select the / from the list of one - it used to be more but things change. However when I try to insert a / via the keyboard it doesn't work, strangely the File menu is selected. How can I make it such that I can enter a / via the keyboard? TIA. Chris. In xl2003 menus: Tools|Options|transition tab Remove that Microsoft Office Excel Menu Key character. Or you could precede your entry with a...

keyboard shortcuts #2
I have MS money 2004. I can't get it to respond to the keyboard shortcuts in the checking account section i.e. (W for new, R for withdrawl, D for deposit). I'm sure it is something simple but I guess I can't see the forest for the trees. Any ideas? In, mmcap wrote: >I have MS money 2004. I can't get it to respond to the keyboard shortcuts in >the checking account section i.e. (W for new, R for withdrawl, D for >deposit). I'm sure it is something simple but I guess I can't see the forest >for the trees. Any ideas? See if ...

"Replace" keyboard shortcut
MS Word 2004 Re: Find/Replace, it is a quick, efficient keyboard process after highlighting a string to be copied to hold the Command key while pressing C, F then V. When I then want to enter the "replace" string, my hands have to leave the keyboard, go to the mouse and click the Replace tab before I can continue. I cannot find any reference that offers a keyboard short to drop down the Replace window. Is there one? Thank you. I'm not sure if there is a direct keyboard shortcut for the Replace command, but once you've brought up the Find dialogue, you can simpl...

Keyboard problem in Outlook 2003
I have my keyboard to UK English and the keyboard works fine in all my programs but Outlook 2003. For example if I do shift and 2 get a @ on the screen instead of a ". If I do shift and ' I get " on the screen and not a @. This only happens in Outlook, can anyone tell me why? Thanks Tony ...

Microsoft Office Keyboard Problems
Last month my hard drive failed. I have replaced it with another Maxtor but since reinstalling my software I cannot get my Microsoft Keyboard to work properly. It is okay for typing but any of the special keys (scroll, cut, paste, copy, open various apps) will not work. I have no idea what the problem is but I did reformat the hard drive with the Drive Genius program. I have tried reinstalling the latest intellitype software but still no results and microsoft has not been very helpful. The mactopia site states that this should work with my OS and G4. I am using Tiger. Any ideas? Brian M...

Wireless keyboard/mice: software, EULA and plug n play?
I have recently looked at some wireless keyboards. Some that are microsoft keyboards mention there is software included. Most sales people I talked to said wireless keyboards and mice are plug n play. I pretty much only need drivers for an operating system. Some wireless keyboards and mice say they work with XP and Vista, but don't mention windows 7. Others mention windows 7. Can I use all wireless keyboards and mice? Can I get the right drivers or are there actually limitations to the hardware with each OS? Since there is software to install I am concerned about not be...

Is there a keyboard shortcut for "paste values"?
or can I define one ? I'm really using a lot of paste values, and it's pain in the *** to use right click menu every time Regards, Sirritys Ctrl+V -- Arvi Laanemets ( My real mail address: arvi.laanemets<at> ) "Sirritys" <> wrote in message > or can I define one ? > > I'm really using a lot of paste values, and it's pain in the *** to use > right click menu every time > > Regards, > Sirritys > It is quite easy to define a...

How to activate an application from a keyboard hook.
I need to create a keyboard hook and activate from the hook certain applcations as a response to the user pressing certain kys. Can I use SHELL from within keyboard hook? Is there other way? Help is appreciated Dov check this : check this : Thanks for the good link, I already have a functional keyboard hook, my question is what is the best way to activate some application from my hook procedure for example each time the user press F11 I would lik...

IE7/8 Keyboard shortcuts not working
I am having a problem with a XP Pro SP2 client in my domain: shortcut keys like Ctrl+c, Ctrl+v, Ctrl+f have stopped working altogether in IE7 (I have updated to IE8 today to see if upgrading would change the state of things). Others like Ctrl+p or Ctrl+t work fine. One of the problems is that the shortcuts work perfectly fine if I use them, say, in Word or Notepad, but not in Outlook. We use HTML mails, so I guess it depends on IE's fault. The shortcuts key even work when I want to paste an URL in IE's address bar or the built-in search engine (at the moment set to Google). T...

test if keyboard is plugged in
This is a multi-part message in MIME format. ------=_NextPart_000_0008_01C4177C.9C41AD70 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Is there some way I can poll/test to see if the keyboard is hooked into = the computer? Same for the mouse?=20 This has nothing to do with keyboard key clicks or mouse movements or = clicks. Just to see if someone has unplugged/plugged in a keyboard while = the os is running.. if there is some software way to determine that. = Either explicitly by the os firing an event - or by my code polling the = key...

Keyboard Shortcuts
How can I find the complete listing of Visio 2003 keyboard shortcut? In particular, what's the keyboard shortcut for Distribute Shapes..? Armstrong Hong Konng Launch Help and search on "keyboard shortcuts" to find a topic with all the shortcuts. I do not believe there is a shortcut for Distribute Shapes though. -- Mark Nelson Microsoft Corporation This posting is provided "AS IS" with no warranties, and confers no rights. "Armstrong Wong" <> wrote in message news:%23wdjraMyEHA.1984@TK2MSFTNGP14.phx.gbl... > How can I find ...

Select Worksheets With Keyboard
This is a multi-part message in MIME format. ------=_NextPart_000_0030_01C63637.C3039190 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Hello, All! If a workbook contains multiple worksheets, can worksheets be selected = using the keyboard without clicking on the sheet tab using the mouse? Thanks in advance! --=20 ------=_NextPart_000_0030_01C63637.C3039190 Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"...

Removing keyboard shortcuts/ hot keys?
Hi, I have a program that plays audio dictation while I type. My problem is this. I need to use comands alt-z, alt-x, and alt-c to start, stop, and play, the dictation. When I do this these keys also give commands in my word program making it impossible for me to type. I tried to go into options and customize the keyboard and remove all the commands with alt in them but it didn't work. ANY IDEAS? Alt-X is for toggling between a Unicode code and its character, but Alt-Z and Alt-C don't have any assignment built in. Perhaps someone created custom shortcuts on your ...

Keyboard Shorts for Common Operations
I spend a lot of time needing to highlight certain cells. Is there anyway I can assign a keyboard shortcut to the 'fill color' tool and 'font colour' tool so I don't have to take my hands off the keyboard (using a mouse slow me down) They are not predefined Excel keyboards shortcuts (using Excel 2000) and I can't see how to define them Regards Sam Hi try recording a macro while doing this manually and assign this macro to a shortcut -- Regards Frank Kabel Frankfurt, Germany "Sam Benson" <> schrieb im Newsbeitrag news:40b57d9d$1@...

Microsoft Office Keyboard Eject Button & Software
> This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --B_3197047600_298353 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit Some years ago when I bought my Microsoft Office Keyboard for my Mac I installed a script to provide me with an eject button on the desktop. I have had to reformat my hard drive, does anyone know the script. I also installed the latest Intellitype Keyboard software but it appears not to work. The keyboard came with Intellitype Pro 2.0 keyboar...

How to create a keyboard shortcut to insert a textbox??
Version: 2008 How do you make a keyboard shortcut in order to insert a text box? I know how to insert keyboard shortcuts, its just I cant find textbox.. It's called DrawInsertTextbox and it's in the All Commands list. On 1/03/10 7:48 AM, in article 59bb39aa.0@webcrossing.JaKIaxP2ac0, "" <> wrote: > I know how to insert keyboard shortcuts, its just I cant find textbox.. This email is my business email -- Please do not email me about forum matters unless you intend to pay! -- John McGhie, Mic...

change order in which gwes loads display, touch, hid drivers
I cannot figure out how to do this, but I need GWES to load the display driver FIRST (for a splash screen implementation). Cannot find any registry values that accomplish this... any ideas? Come on guys, somebody has to know the order in which driver's are loaded by GWES.exe and how to alter it.... MS gentlemen???? I don't think that's going to help. What you really want to do is load the image in the bootloader, since, by the time GWES itself loads, you're probably 75% of the way through the boot process. As far as I can recall, GWES loads the keyboard, mouse, a...

some keys locked on keyboard. How do I unlock it?
Some keys on my keyboard is locked in Exel. How do I unlock it? "Dalene" <> wrote in message > Some keys on my keyboard is locked in Exel. How do I unlock it? I don't understand what you mean. Doesn't anything happen when you press these keys? Do these keys work in other applications like MS Word? /Fredrik Which keys and when does it happen? One workbook or all workbooks? Is scroll lock key enabled? Have you checked if perhaps you have Transition Navigation Keys enabl...

is there a keyboard shortcut for 'split table'?
I can't find one in Word there a 'secret' key board shortcut for splitting a table....? Found the answer myself....create a keyboard shortcut: Word Options\Customize\Keyboard Shortcuts Customize Button\Categories: Table Tools | Layout Tab\command: TableSplit that was easy.... "Rob Benz" wrote: > I can't find one in Word there a 'secret' key board shortcut for > splitting a table....? ...

Macro/keyboard shortcut to increment a cell value
I would like to set up a keyboard shortcut (e.g., Ctrl+I) that would increment the value of the selected cell by 1. Can someone get me started by pointing me in the right direction? I have some experience creating simple macros in Word, if that is what's needed. Thanks -- PC: HP Omnibook 6000 OS: Win 2K SP-4 (5.00.2195) LAN: P2P with an HP Vectra workstation Email: Usenet-20031220 at (11/03/04) One way is to make a macro and assign the shortcut key to it: Option Explicit Sub AddOneToActiveCell() With ActiveCell If IsNumeric(.Value) Then .Value = .Val...

Temporary Keyboard lockup
Hello, As I'm typing I notice notice my keyboard will lock up. For example I may type the word "computer" & look at the screen & only see the little "c". The cursor will be locked up. After about 10 seconds the rest of the letters appear. I cleaned my keyboard but the problem still occurs. However, as I typed this message the problem didn't occur. It comes and goes. I can speed up the 10 second delay by clicking on another web page & then coming back to my message & the cursor will be blinking fine. john You have a program...

How to add keyboard shortcut to macro un add-in ?
How to add keyboard shortcut to macro un add-in ? I just have a function and I save it as excel addin. and copied it to addin folder. I want to execute the macro with a keyboard shortcut for example ctrl-r preferablely I want to list the macros and select because later on I make other macros. two cases, I need Thanks in advance. You can't execute a function with a keyboard shortcut - you must call it from another macro or from a worksheet formula like: =3Dmy_function(parameters) in which case it will return the result to that cell. Hope this helps. Pete On Apr 7, 3:26=A0pm, "...

Keyboard types pipe characters after emailing PDF
Hello everyone, We are using Great Plains 8 through Citrix sessions. One of our users started experiencing strange keyboard behavior after I added an Outlook profile to her session. This is what happens: - Starts a GP session through Citrix - Opens an invoice and prints to screen - Emails the invoice as a PDF file - Tries to open another invoice by using the Backspace key in the document field to type a new number. At this point, the Backspace types only the pipe character. When this happens, all keys will type pipes in all fields until the GP session is re-initialized. This problem seems ...

Reselect a Chart using only the keyboard
I'm attempting to tutor a blind student. Is it possible to reselect a chart using only the keyboard. TIA! Bill F5 then Alt/S, then Alt/b, then maybe tab if there are more than one chart or object. "Bill F." <> wrote in message > I'm attempting to tutor a blind student. > > Is it possible to reselect a chart using only the keyboard. > > TIA! Bill Thanks for the reply, Bob. This is a good start. Doing this allows me to move the chart, but does not allow m...

Touchscreen keyboard button
Is it possible to create a custom touchscreen keyboard button that calls a custom function that has been written. i know that I can place it on a custom button but that area is fully utilized for other things an unavailable. I have create a custome keyboard button with a macro that call a custom button but as soon as you disable the custom button so it will not show on the screen it also breaks the macro. Any ideas? Yes we have an add-on that can help you with this. Contact me. Afshin Alikhani - [ ] CEO - Retail Realm -- URL ...