• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

handling multikey sequence interrupts

Joined
Jun 14, 2017
Messages
2
i'm reading tanenbaum's book. here it says that when the "shift" key is presses and then the letter "m", the os knows that the user wants an uppercase "M" rather than a lowercase "m". i'm wondering how this is handled by the cpu?

here's what i think. since both keypresses are interrupts, and "shift" keypress occurs before the "m" keypress, then at first an interrupt is raised for the "shift" key. but when the "m" is pressed...? now what? how does the cpu/interrupt handler know that it should "mix" the results of the two interrupts? is there some logic for special keys put in keyboard interrupt handler? like, "if a "shift" is pressed and if other key is pressed, detect what that key is and perform a corresponding action"?

thanks in advance
 
i'm reading tanenbaum's book. here it says that when the "shift" key is presses and then the letter "m", the os knows that the user wants an uppercase "M" rather than a lowercase "m". i'm wondering how this is handled by the cpu?

Technically it won't be handled by the CPU - not directly. The OS will handle it, which will obviously use CPU resources, but you should get my point.
I suspect this article will probably spell things out for you. It's been a long time since I've really thought about this stuff in any detail, but it's an interesting topic.

http://arjunsreedharan.org/post/99370248137/kernel-201-lets-write-a-kernel-with-keyboard


this is a higher level and less detailed than the above article: http://wiki.osdev.org/Interrupts
 
Back
Top