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