Le but de ce programme est de donner un outil simple permettant d'obtenir rapidement les différents codes (sym et unicode) et les différents modes du clavier lorsque l'on appuie sur une touche du clavier.
Le code source suivant ne constitue pas un tutoriel.
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif
#include <stdio.h>
#if defined( __WIN32__ ) || defined( _WIN32 ) || defined( __CYGWIN__ )
extern int asprintf (char **, const char *, ...);
#endif
#include <stdlib.h>
#include <string.h>
void draw_sentence( int width, int height ){
10, 50,
"Appuyez sur une touche pour connaître :\n - son code,\n - son mode,\n - son code unicode,\n - le caractère qui lui est associé.",
3,
);
}
int main( int argc, char *argv[] ){
int width = 640;
int height = 480;
MLV_create_window(
"beginner - 10 - Le code des touches du clavier",
"codes - touches du clavier", width, height );
draw_sentence( width, height );
const char* sym_string;
char* mod_string;
int unicode;
char* character;
char* text;
while( 1 ){
if(
asprintf(
&text,
"Information sur la touche:\n-------------------------\nSym : %s \nMod : %s \nUnicode : %d \nCaractère : %s \n\n",
sym_string, mod_string, unicode, character
) == -1
){
fprintf( stderr, "Allocation Error - file : %s, line : %d \n", __FILE__, __LINE__);
exit(1);
};
printf( "%s", text );
draw_sentence( width, height );
10, 160, text, 6,
);
free( character );
free( mod_string );
free( text );
}
return 0;
}
Fichier d'entête principal incluant tous les autres fichiers entêtes de la bibliothèque MLV.
#define MLV_COLOR_GREEN
Definition: MLV_color.h:931
#define MLV_COLOR_BLACK
Definition: MLV_color.h:379
char * MLV_convert_keyboard_mod_to_string(MLV_Keyboard_modifier keymod_code)
Renvoie la chaîne de caractères correspondant au mode du clavier passé en paramètre.
void MLV_wait_keyboard(MLV_Keyboard_button *sym, MLV_Keyboard_modifier *mod, int *unicode)
Suspend l'exécution jusqu'à ce que l'utilisateur appuie sur une touche du clavier.
const char * MLV_convert_keyboard_button_to_string(MLV_Keyboard_button key_code)
Renvoie la chaîne de caractères correspondant au code de la touche passé en paramètre.
MLV_Keyboard_button
Énumère l'ensemble des codes des touches du clavier.
Definition: MLV_keyboard.h:50
MLV_Keyboard_modifier
Énumère l'ensemble des codes associées aux différents modes du clavier.
Definition: MLV_keyboard.h:299
char * MLV_convert_unicode_to_string(int unicode)
Transforme un caractère en format unicode en chaîne de caractères compatible avec le codage local (co...
@ MLV_TEXT_LEFT
Definition: MLV_text.h:46
void MLV_draw_adapted_text_box(int x, int y, const char *message, int sizeInterligne, MLV_Color borderColor, MLV_Color textColor, MLV_Color backgroundColor, MLV_Text_justification text_justification,...)
Dessine une boîte contenant du texte.
void MLV_free_window()
Ferme la fenêtre de la bibliothèque MLV.
void MLV_create_window(const char *window_name, const char *icone_name, unsigned int width, unsigned int height)
Créé une fenêtre dont la taille, et les différents noms sont passés en paramètres.
void MLV_update_window()
Met à jour l'affichage de la fenêtre.
void MLV_clear_window(MLV_Color color)
Éfface la fenêtre et la remplace par un monochrome de la couleur donnée en paramètre.