Keyboard scan code translation

Hi,

I have a legacy keyboard filter driver. In this filter I want to determine which key was pressed. In my call back function I get a pointer to the KEYBOARD_INPUT_DATA structure from which I can determine the scan code of the key pressed. My problem is to translate this code to a character. Since various types of keyboards have different scan code for the same key. So my question is, is there a kernel mode function that I can use that will return the character associated with the scan code?

Thanks
Rehan

No, this happened in win32k.sys and can be a per user setting

d

Bent from my phone


From: xxxxx@rizvi.camailto:xxxxx
Sent: ?3/?5/?2015 5:26 PM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: [ntdev] Keyboard scan code translation

Hi,

I have a legacy keyboard filter driver. In this filter I want to determine which key was pressed. In my call back function I get a pointer to the KEYBOARD_INPUT_DATA structure from which I can determine the scan code of the key pressed. My problem is to translate this code to a character. Since various types of keyboards have different scan code for the same key. So my question is, is there a kernel mode function that I can use that will return the character associated with the scan code?

Thanks
Rehan


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

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</mailto:xxxxx></mailto:xxxxx>

>Since various types of keyboards have different scan code for the same key

More so, this is the Windows locale setting in the control panel, and different user accounts can have this setting different.

I would suggest to run user-mode helper for this mapping.


Maxim S. Shatskih
Microsoft MVP on File System And Storage
xxxxx@storagecraft.com
http://www.storagecraft.com

Remote connections are not a concern, since the feature I am trying to build requires the user to use the keyboard connected physically to the machine.