Re: [ntdev] letter cases kbfiltr

Some keyboards actually do send different scan codes for the same key. This is typically implemented through the use of a ‘function’ key and is common on certain brands of laptop

For the OP it seems to be a question of not knowing at what layer something is implemented - is it hardware, KM, or UM where these distinctions are made and the answer is all three depending on the context

Sent from Surface Pro

Sent: ‎Thursday‎, ‎July‎ ‎09‎, ‎2015 ‎12‎:‎51‎ ‎AM
To: Windows System Software Devs Interest List

Not everyones perspective is broad enough to understand how deep the i8042 controller
workings are (still) ingrained into the kernel architecture to derive a simple answer.

It has absolutely nothing to do with the i8042 controller - this is just the question of logical reasoning.

Let’s look at the whole thing from the perspective of someone who is capable of thinking logically but for some reason has never used a “conventional” computer. If pressing the same key may produce different results in different sutuations one does not really need to be some kind of Einstein in order to realize that the results that you see must depend on some additional factors,right. What may these factors be like? Once keyboard happens to be the only source of input to the kbdclass’s input queue, do you really think one needs to be a genius in order to realize that the distinction between the lower and upper cases for a given key must be somehow dependent on the keys that have been pressed earlier???

This is how someone who had never used a PC would think like. However, the OP apparently is not new to a PC, so that he must know (solely from the user’s perspective) that the case depends on the state of Shift and CapsLock keys. However, he is still “surprized” to see exactly the same scancodes for upper and lower case letters.

In other words, I am 100% with Chris here…

Anton Bassov

NTDEV is sponsored by OSR

Visit the list at:


For our schedule of WDF, WDM, debugging and other seminars visit:

To unsubscribe, visit the List Server section of OSR Online at