Working on multiprocessing support
[tpg/acess2.git] / Kernel / drv / kb.c
index 18f431a..3e461fd 100644 (file)
 #define        USE_KERNEL_MAGIC        1
 
 // === IMPORTS ===
-void   Threads_Dump();
+void   Threads_Dump(void);
 
 // === PROTOTYPES ===
  int   KB_Install(char **Arguments);
-void   KB_IRQHandler();
+void   KB_IRQHandler(int IRQNum);
 void   KB_AddBuffer(char ch);
 Uint64 KB_Read(tVFS_Node *Node, Uint64 Offset, Uint64 Length, void *Dest);
-void   KB_UpdateLEDs();
+void   KB_UpdateLEDs(void);
  int   KB_IOCtl(tVFS_Node *Node, int Id, void *Data);
 
 // === GLOBALS ===
@@ -76,14 +76,14 @@ int KB_Install(char **Arguments)
  * \fn void KB_IRQHandler()
  * \brief Called on a keyboard IRQ
  */
-void KB_IRQHandler()
+void KB_IRQHandler(int IRQNum)
 {
        Uint8   scancode;
        Uint32  ch;
        // int  keyNum;
 
        // Check port 0x64 to tell if this is from the aux port
-       if( inb(0x64) & 0x20 )  return;
+       //if( inb(0x64) & 0x20 )        return;
 
        scancode = inb(0x60); // Read from the keyboard's data buffer
        //Log_Debug("Keyboard", "scancode = %02x", scancode);
@@ -183,6 +183,7 @@ void KB_IRQHandler()
        {
                switch(ch)
                {
+               case 'q':       *((int*)1) = 0; break;
                case 'd':       __asm__ __volatile__ ("xchg %bx, %bx"); break;
                case 'p':       Threads_Dump(); break;
                }
@@ -190,8 +191,8 @@ void KB_IRQHandler()
        #endif
 
        // Is shift pressed
-       // - Darn ugly hacks !(!x) means (bool)x
-       if( !(!gbKB_ShiftState) ^ gbKB_CapsState)
+       // - Darn ugly hacks !!x means (bool)x
+       if( !!gbKB_ShiftState ^ gbKB_CapsState)
        {
                switch(ch)
                {
@@ -228,10 +229,10 @@ void KB_IRQHandler()
 }
 
 /**
- * \fn void KB_UpdateLEDs()
+ * \fn void KB_UpdateLEDs(void)
  * \brief Updates the status of the keyboard LEDs
  */
-void KB_UpdateLEDs()
+void KB_UpdateLEDs(void)
 {
        Uint8   leds;
 

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