Bonsoir,
j'ai fait un programme en C avec des boutons que j'active soit par clic dessus, soit par un appui clavier (touche A pour le bouton annuler, touche D pour le bouton dimension, ...). Certains boutons ne sont activable que par clic souris.
J'ai un bouton qui me permet de choisir la musique que je veux (choix parmi 6 titres), activable par clic seulement.
Alors que je testais le programme, avec la musique en cours, j'ai voulu augmenter le volume du son en utilisant le raccourci clavier Fn+F10 ou Fn+F11 ou Fn+F12.
Et là, je me suis aperçu que cela m'ouvrait les autres boutons de menu au lieu de modifier le volume du son.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 
switch(event.type)
                {
                case SDL_QUIT: //Si on a cliqué sur la croix
                    ZoneEvenement=QUITTER;
                    break;
                case SDL_KEYUP: //Si touche du clavier enfoncée
                    switch (event.key.keysym.sym) //selon la touche enfoncée
                    {
                    case SDLK_ESCAPE: // Appui sur la touche Echap, on va arrêter le jeu
                    case SDLK_a: // Appui sur la touche q (Attention a<->q avec les claviers qwerty-azerty), on va arrêter le jeu
                        ZoneEvenement=QUITTER;
                        break;
                    case SDLK_q: // Appui sur la touche a (Attention a<->q avec les claviers qwerty-azerty), on va annuler le dernier coup
                        ZoneEvenement=ANNULER;
                        break;
                    case SDLK_n: //si on presse le n de nouveau
                        ZoneEvenement=NOUVEAU;
                        break;
                    case SDLK_c: // Appui sur la touche a (Attention a<->q avec les claviers qwerty-azerty), on va annuler le dernier coup
                        ZoneEvenement=COUPDEPOUCE;
                        break;
                    case SDLK_t: //si on presse le t de Tournoi
                        ZoneEvenement=TOURNOI;
                        break;
                    case SDLK_i: //si on presse le i de Instruction
                        ZoneEvenement=INSTRUCTION;
                        break;
                    case SDLK_v: //si on presse le v de Valider
                    case SDLK_RETURN: //si on presse Return
                        ZoneEvenement=VALIDER;
                        break;
                    case SDLK_d: //si on presse le d de configDim
                        ZoneEvenement=CONFIGDIMENSION;
                        break;
                    default : //sinon rien pour eviter message d'alerte lors de la compilation
                        break;
                    }
                    break;
                case SDL_MOUSEMOTION: //Si souris déplacée
                    positionSouris.x=event.motion.x; //position souris
                    positionSouris.y=event.motion.y;
                    ZoneEvenement=MARGE;
                    break;
                case SDL_MOUSEBUTTONUP: //Si clic souris
                    positionSouris.x=event.button.x; //position clic
                    positionSouris.y=event.button.y;
                    ZoneEvenement = QuelleZoneCliquee(positionSouris);
                    break;
                default: //Sinon on ne fait rien
                    break;
                }
La musique est activable que par clic souris (enfin je pense) dans case SDL_MOUSEBUTTONUP.


Je suis sous win 10 et avec code block 16.01.

Du coup, j'ai plusieurs questions.
1. Est-ce que mon case SDL_KEYUP est défectueux car j'appuis sur 2 touches en même temps dont la touche Fn et qui ne serait pas pris en compte par mon default break ?
2. J'avais commencé le programme sur un Win 7 et je ne m'étais pas aperçu de ce problème. Sauf que mon ordi win 7 m'a lâché donc je suis passé sur win10 et je ne peux plus vérifier si le problème était déjà présent à ce moment. Pourrait ce être le win10 qui me crée cette erreur ?
3. J'ai vu qu'une version de code blocks20 était sortie. Ai-je intérêt à passer de la version 16 à la 20 ?
4. Si le son de mon ordi est coupé et que je décide de jouer la musique 1, je n'entends pas la musique. Y a t il une fonction qui permette d'activer automatiquement le son de l'ordi ?
Je remercie tout ceux qui voudront bien passer un peu de temps à me lire et qui pourraient me conseiller.
Cordialement
Ludo