www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

kbc.h (929B)


      1 #ifndef PC_KBC_KBC_H
      2 #define PC_KBC_KBC_H
      3 
      4 /* TODO : Vérifier ces informations dans la doc Intel. */
      5 
      6 #define LIGNE_IRQ_CLAVIER 1
      7 #define LIGNE_IRQ_SOURIS 12
      8 
      9 #define PORT_KBC_DONNEES 0x60
     10 #define PORT_KBC_SCANCODE PORT_KBC_DONNEES
     11 #define PORT_KBC_SOURIS PORT_KBC_DONNEES
     12 #define PORT_KBC_COMMANDE_SOURIS PORT_KBC_DONNEES
     13 #define PORT_KBC_PPI 0x61
     14 #define PORT_KBC_COMMANDE 0x64
     15 
     16 #define KBC_DEMMANDE_ECRITURE_CLAVIER 0xd1
     17 #define KBC_DEMMANDE_ECRITURE_SOURIS 0xd4
     18 #define KBC_DEMMANDE_LECTURE_COMPAQ_STATUS_BYTE 0x20
     19 #define KBC_DEMMANDE_ECRITURE_COMPAQ_STATUS_BYTE 0x60
     20 #define KBC_RESET_CPU 0xfe
     21 
     22 typedef void (*GestionnaireClavier) (uint8 scancode);
     23 
     24 typedef struct EtatKbc {
     25 	GestionnaireClavier gestionnaireClavier;
     26 } EtatKbc;
     27 
     28 void attenteKbc();
     29 void attenteLectureKbc();
     30 void activerClavier();
     31 void desactiverClavier();
     32 void resetCpu();
     33 void definirGestionnaireClavier(GestionnaireClavier gestionnaireClavier);
     34 
     35 #endif