Cleanup
[tpg/acess2.git] / Kernel / drv / kb.c
index fc07897..d6124e7 100644 (file)
@@ -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;
        
@@ -141,7 +141,17 @@ 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)
        {
@@ -175,16 +185,6 @@ 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;
-               case 'P':       Threads_Dump(); break;
-               }
-       }
-       
        if(gKB_Callback)        gKB_Callback(ch);
 }
 

UCC git Repository :: git.ucc.asn.au