X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fdrv%2Fkb.c;h=d6124e7fc02b9cf4795072b19d9b5fc7a19aff36;hb=9d3800f60f2212432e550a4e003ae65b498a4d36;hp=14ff74ba1ad3b08d40089a872af8793f20544dc0;hpb=7083f886afa0c52f5d46f463a70f5b35b050e632;p=tpg%2Facess2.git diff --git a/Kernel/drv/kb.c b/Kernel/drv/kb.c index 14ff74ba..d6124e7f 100644 --- a/Kernel/drv/kb.c +++ b/Kernel/drv/kb.c @@ -36,7 +36,7 @@ tDevFS_Driver gKB_DevInfo = { }; tKeybardCallback gKB_Callback = NULL; Uint8 **gpKB_Map = gpKBDUS; -Uint8 gbaKB_States[3*256]; +Uint8 gbaKB_States[256]; int gbKB_ShiftState = 0; int gbKB_CapsState = 0; int gbKB_KeyUp = 0; @@ -66,7 +66,7 @@ void KB_IRQHandler() { Uint8 scancode; Uint32 ch; - int keyNum; + // int keyNum; //if( inportb(0x64) & 0x20 ) return; @@ -105,7 +105,7 @@ void KB_IRQHandler() // Translate ch = gpKB_Map[giKB_KeyLayer][scancode]; - keyNum = giKB_KeyLayer * 256 + scancode; + //keyNum = giKB_KeyLayer * 256 + scancode; // Check for unknown key if(!ch && !gbKB_KeyUp) Warning("UNK %i %x", giKB_KeyLayer, scancode); @@ -117,7 +117,7 @@ void KB_IRQHandler() if (gbKB_KeyUp) { gbKB_KeyUp = 0; - gbaKB_States[ keyNum ] = 0; // Unset key state flag + gbaKB_States[ ch ] = 0; // Unset key state flag if( !gbaKB_States[KEY_LSHIFT] && !gbaKB_States[KEY_RSHIFT] ) gbKB_ShiftState = 0; @@ -129,7 +129,7 @@ void KB_IRQHandler() } // Set the bit relating to the key - gbaKB_States[keyNum] = 1; + gbaKB_States[ch] = 1; if(ch == KEY_LSHIFT || ch == KEY_RSHIFT) gbKB_ShiftState = 1; @@ -143,9 +143,8 @@ void KB_IRQHandler() if(ch == 0 || ch & 0x80) return; // --- Check for Kernel Magic Combos - if(gbaKB_States[KEY_LCTRL])// && gbaKB_States[KEY_LALT]) + if(gbaKB_States[KEY_LCTRL] && gbaKB_States[KEY_LALT]) { - LOG("ch = 0x%02x", ch); switch(ch) { case 'd': __asm__ __volatile__ ("xchg %bx, %bx"); break;