AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
Clavier matriciel

Description détaillée

Ce module permet de gérer un clavier organisé sous forme d'une matrice XY.
La macro AVRIO_KEYB_ENABLE doit être définie dans avrio-config.h et dans ce cas, la partie interface matérielle doit être implémentée dans le fichier avrio-board-keyboard.h se trouvant dans le même répertoire.

Graphe de collaboration de Clavier matriciel:

Modules

 Définitions pour la configuration du driver clavier
 

Fonctions

char cKeybGetChar (void)
 Lecture d'une touche du clavier. Plus de détails...
 
uint16_t usKeybHit (void)
 Renvoie le nombre de touches appuyées.
 
void vKeybFlush (void)
 Vide le tampon de réception.
 
void vKeybInit (void)
 Initialisation du clavier.
 

Macros

#define KEY_DOWN   0x83
 Code de la touche flèche vers le bas.
 
#define KEY_ENTER   '\n'
 Code de la touche ENTER.
 
#define KEY_HOME   0x84
 Code de la touche retour à l'origine.
 
#define KEY_LEFT   0x80
 Code de la touche flèche vers la gauche.
 
#define KEY_RIGHT   0x81
 Code de la touche flèche vers la droite.
 
#define KEY_UP   0x82
 Code de la touche flèche vers le haut.
 

Variables

FILE xKeyb
 Descripteur de fichier du clavier permettant son utilisation avec les fonctions de la libc. Plus de détails...
 

Documentation des fonctions

char cKeybGetChar ( void  )

Lecture d'une touche du clavier.

Cette fonction est bloquante.

Renvoie
Code de la touche (suivant KEYB_ARRAY dans avrio-config.h)
Exemples:
input/keyboard/demo_keyboard.c.

Documentation des variables

FILE xKeyb

Descripteur de fichier du clavier permettant son utilisation avec les fonctions de la libc.

Pour utiliser le clavier comme entrée et sortie, on mettra au début du main() :

1 int main(void) {
2  vKeybInit ();
3  stdin = &xKeyb;
4 ...

On pourra dans le cas contraire passer &xKeyb aux fonctions fscanf, fgetc ... :

1 int choix;
2 ...
3 fscanf (&xKeyb, "%d", &choix);
4 ...