X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fdrv%2Fkb.c;h=eeb1f99cadbd4256ae5d5b847eb444bb5d096fc7;hb=2f341c0ca8d0e97bf87d8de68cc461c7aceb1035;hp=013e95369e4042c129be3a19d465a2986e8f99cb;hpb=8bc40333b1401d7616b225945fee53d972c2f418;p=tpg%2Facess2.git diff --git a/Kernel/drv/kb.c b/Kernel/drv/kb.c index 013e9536..eeb1f99c 100644 --- a/Kernel/drv/kb.c +++ b/Kernel/drv/kb.c @@ -12,6 +12,9 @@ // === CONSTANTS === #define KB_BUFFER_SIZE 1024 +// === IMPORTS === +void Threads_Dump(); + // === PROTOTYPES === int KB_Install(char **Arguments); void KB_IRQHandler(); @@ -23,7 +26,7 @@ void KB_UpdateLEDs(); // === GLOBALS === MODULE_DEFINE(0, 0x0100, PS2Keybard, KB_Install, NULL, NULL); tDevFS_Driver gKB_DevInfo = { - NULL, "PS2Kb", + NULL, "PS2Keyboard", { .NumACLs = 0, .Size = -1, @@ -138,7 +141,18 @@ void KB_IRQHandler() // Ignore Non-Printable Characters if(ch == 0 || ch & 0x80) return; - + + + // --- Check for Kernel Magic Combos + if(gbaKB_States[KEY_LCTRL] && gbaKB_States[KEY_LALT]) + { + switch(ch) + { + case 'd': __asm__ __volatile__ ("xchg %bx, %bx"); break; + case 'p': Threads_Dump(); break; + } + } + // Is shift pressed if(gbKB_ShiftState ^ gbKB_CapsState) { @@ -172,17 +186,7 @@ void KB_IRQHandler() } } - // --- Check for Kernel Magic Combos - if(gbaKB_States[KEY_LSHIFT] && gbaKB_States[KEY_RSHIFT]) - { - switch(ch) - { - case 'D': __asm__ __volatile__ ("xchg %bx, %bx"); break; - } - } - - if(gKB_Callback) - gKB_Callback(ch); + if(gKB_Callback) gKB_Callback(ch); } /**