Sorry, i know you can not use that interrupt directly once the Nt kernel is running, but i don´t know what can you use. I promise i will research further.
did you try scanning i/o ports for 8042 keyboard controller?
Yes, once I enter in Kernel Mode, I can easily mask IRQ1 on the PIC and do what ever I want directly whith IO ports 60 and 64 of the 8042 controller. Only problem, I have to, after that, send the carachters to the OS. Three possibilities :
- trigger int 9 : not allowed
- trigger int 16 : not allowed
- write all this in my own interrupt handler (which calls in the end the usual int 9) and modifying the IDT : no problem whith this, but my int9 is never called, while the offset of 9th entry in the IDT is effectively changed.
the port 21h is the port to the mask register of the master PIC. My routine is supposed to poll for characters, while IRQ disabled, change them, and send the changed scan code to the OS.
The problem is that if I type too quickly, it seems the processor can't follow. When this happens, some characters are not taken into account by my program, and the real characters typed are shown on the monitor. This means that IRQ1 has to be triggered. This shouldn't be the case, since I mask it whith the above code.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.