diff --git a/boutons.c b/boutons.c index 4f007ca1..3d9fb7ff 100644 --- a/boutons.c +++ b/boutons.c @@ -1773,7 +1773,7 @@ void Bouton_Degrades(void) Fenetre_Definir_bouton_normal(8,22,15,14, (Degrade_Tableau[Degrade_Courant].Inverse)?"\033":"\032",0,1,SDLK_TAB); // 4 // Définition du bouton de technique - Fenetre_Definir_bouton_normal(8,92,15,14,"",0,1,SDLK_TAB|0x1000); // 5 + Fenetre_Definir_bouton_normal(8,92,15,14,"",0,1,SDLK_TAB|MOD_SHIFT); // 5 Degrade_Dessiner_bouton_de_technique(8,92,Degrade_Tableau[Degrade_Courant].Technique); Fenetre_Definir_bouton_normal(178,112,51,14,"OK",0,1,SDLK_RETURN); // 6 @@ -4890,10 +4890,10 @@ void Bouton_Trame_Menu(void) Fenetre_Definir_bouton_normal( 8,46,131,14,"Get from brush" ,1,1,SDLK_g); // 6 Fenetre_Definir_bouton_normal(142,46,139,14,"Transfer to brush",1,1,SDLK_t); // 7 - Fenetre_Definir_bouton_normal(109,114,11,11,"\030",0,1,SDLK_UP|0x1000); // 8 - Fenetre_Definir_bouton_normal(109,138,11,11,"\031",0,1,SDLK_DOWN|0x1000); // 9 - Fenetre_Definir_bouton_normal( 97,126,11,11,"\033",0,1,SDLK_LEFT|0x1000); // 10 - Fenetre_Definir_bouton_normal(121,126,11,11,"\032",0,1,SDLK_RIGHT|0x1000); // 11 + Fenetre_Definir_bouton_normal(109,114,11,11,"\030",0,1,SDLK_UP|MOD_SHIFT); // 8 + Fenetre_Definir_bouton_normal(109,138,11,11,"\031",0,1,SDLK_DOWN|MOD_SHIFT); // 9 + Fenetre_Definir_bouton_normal( 97,126,11,11,"\033",0,1,SDLK_LEFT|MOD_SHIFT); // 10 + Fenetre_Definir_bouton_normal(121,126,11,11,"\032",0,1,SDLK_RIGHT|MOD_SHIFT); // 11 Fenetre_Definir_bouton_normal(109,126,11,11,"" ,0,1,SDLK_INSERT); // 12 Bouton_Octet_insere=Fenetre_Liste_boutons_normal; Block(Fenetre_Pos_X+(Menu_Facteur_X*(Bouton_Octet_insere->Pos_X+2)), diff --git a/clavier.c b/clavier.c index 2f817a5a..839d42be 100644 --- a/clavier.c +++ b/clavier.c @@ -304,11 +304,11 @@ word Conversion_Touche(SDL_keysym Sym) Retour = (Sym.unicode & 0x07FF) | 0x0800; if (Sym.mod & (KMOD_LSHIFT | KMOD_RSHIFT)) - Retour |= 0x1000; + Retour |= MOD_SHIFT; if (Sym.mod & (KMOD_LCTRL | KMOD_RCTRL)) - Retour |= 0x2000; + Retour |= MOD_CTRL; if (Sym.mod & (KMOD_LALT | KMOD_RALT | KMOD_MODE)) - Retour |= 0x4000; + Retour |= MOD_ALT; return Retour; } @@ -398,11 +398,11 @@ const char * Nom_touche(word Touche) static char Buffer[41]; Buffer[0] = '\0'; - if (Touche & 0x2000) + if (Touche & MOD_CTRL) strcat(Buffer, " + "); - if (Touche & 0x4000) + if (Touche & MOD_ALT) strcat(Buffer, " + "); - if (Touche & 0x1000) + if (Touche & MOD_SHIFT) strcat(Buffer, " + "); if (Touche & 0x8000) diff --git a/clavier.h b/clavier.h index 5c22ae8e..8fd9d79f 100644 --- a/clavier.h +++ b/clavier.h @@ -3,3 +3,4 @@ word Conversion_ANSI(SDL_keysym Sym); word Conversion_Touche(SDL_keysym Sym); word Touche_pour_scancode(word scancode); const char * Nom_touche(word Touche); + diff --git a/global.h b/global.h index ffbaaa5f..777a4161 100644 --- a/global.h +++ b/global.h @@ -111,6 +111,10 @@ GLOBAL byte Mouse_K; // Etat des boutons de la souris GLOBAL dword Touche; // Touche tapée GLOBAL dword Touche_ANSI; // Caractère tapé GLOBAL Uint8* Etat_Du_Clavier; // Scancode de la touche en cours et etat des touches de ctrl +// Modificateurs pour Touche +#define MOD_SHIFT 0x1000 +#define MOD_CTRL 0x2000 +#define MOD_ALT 0x4000 GLOBAL byte Mouse_Facteur_de_correction_X; GLOBAL byte Mouse_Facteur_de_correction_Y; diff --git a/moteur.c b/moteur.c index 119510d2..c2e9eca3 100644 --- a/moteur.c +++ b/moteur.c @@ -1796,7 +1796,7 @@ short Fenetre_Numero_bouton_touche(void) { struct Fenetre_Bouton_normal * Temp; - if (Touche & 0x1000) + if (Touche & MOD_SHIFT) Fenetre_Attribut1=A_DROITE; else Fenetre_Attribut1=A_GAUCHE; diff --git a/operatio.c b/operatio.c index 32a86f57..64fcadca 100644 --- a/operatio.c +++ b/operatio.c @@ -3192,11 +3192,11 @@ void Etirer_brosse_0_7(void) Largeur=(Brosse_Largeur>1)?Debut_X+(Brosse_Largeur>>1)-1:1; Hauteur=(Brosse_Hauteur>1)?Debut_Y+(Brosse_Hauteur>>1)-1:1; break; - case SDLK_x|0x1000: // Moitié X + case SDLK_x|MOD_SHIFT: // Moitié X Largeur=(Brosse_Largeur>1)?Debut_X+(Brosse_Largeur>>1)-1:1; Hauteur=Debut_Y+Brosse_Hauteur-1; break; - case SDLK_y|0x1000: // Moitié Y + case SDLK_y|MOD_SHIFT: // Moitié Y Largeur=Debut_X+Brosse_Largeur-1; Hauteur=(Brosse_Hauteur>1)?Debut_Y+(Brosse_Hauteur>>1)-1:1; break; diff --git a/palette.c b/palette.c index 142d5491..a8024c70 100644 --- a/palette.c +++ b/palette.c @@ -1635,11 +1635,11 @@ void Bouton_Palette(void) } break; - case (SDLK_LEFTBRACKET|0x1000) : // Decaler Backcolor vers la gauche + case (SDLK_LEFTBRACKET|MOD_SHIFT) : // Decaler Backcolor vers la gauche Back_color--; - case (SDLK_RIGHTBRACKET|0x1000) : // Decaler Backcolor vers la droite + case (SDLK_RIGHTBRACKET|MOD_SHIFT) : // Decaler Backcolor vers la droite // attention: pas de break ci-dessus - if (Touche==(SDLK_RIGHTBRACKET|0x1000)) + if (Touche==(SDLK_RIGHTBRACKET|MOD_SHIFT)) Back_color++; Effacer_curseur(); Block(Fenetre_Pos_X+(Menu_Facteur_X*260),Fenetre_Pos_Y+(Menu_Facteur_Y* 89),Menu_Facteur_X*24,Menu_Facteur_Y<<2,Back_color);