Partage
  • Partager sur Facebook
  • Partager sur Twitter

AZERTY ou QWERTY ?

telle est la question...

Sujet résolu
    28 avril 2006 à 9:11:17

    Je me demandais s'il serait opportun pour la programmation de changer de clavier (suite au cours sur la gestion des événements, et ça fait un bout de temps que j'y pensais pour l'utilisation de blender également,...) pour passer au QWERTY?
    Je demande à ceux qui ont plus d'expérience que moi... :p
    • Partager sur Facebook
    • Partager sur Twitter
      28 avril 2006 à 9:17:00

      Euh... non.
      En général, si c'est pour un jeu, tu peux programmer une interface pour les joueurs afin qu'ils choisissent leurs touches.
      Et si c'est pour la saisie de texte avec la SDL, il n'y a pas de souci en passant en Unicode.
      • Partager sur Facebook
      • Partager sur Twitter
        28 avril 2006 à 10:08:13

        peut etre l'as-tu déjà deviné: je suis un zero :D
        est-ce que tu pourrais me dire ce que signifie: "passer en Unicode"? j'avoue ne pas comprendre :lol:
        • Partager sur Facebook
        • Partager sur Twitter
          28 avril 2006 à 10:17:14

          Avec la SDL, on active ou désactive le mode Unicode avec cette fonction.

          En gros, ça te permet de traduire les touches classiques du clavier en lettres de l'alphabet, sans te préoccuper si l'utilisateur a tapé un Q ou un A. Utile pour la saisie de texte en SDL (voir ce tuto pour la saisie de texte en SDL).
          • Partager sur Facebook
          • Partager sur Twitter
            28 avril 2006 à 10:22:07

            typedef struct SDL_keysym {
                    Uint8 scancode;   /* hardware specific scancode */
                    SDLKey sym;               /* SDL virtual keysym */
                    SDLMod mod;               /* current key modifiers */
                    Uint16 unicode;   /* translated character */
            } SDL_keysym;

            typedef struct SDL_KeyboardEvent {
                    Uint8 type;     /* SDL_KEYDOWN or SDL_KEYUP */
                    Uint8 which;    /* The keyboard device index */
                    Uint8 state;    /* SDL_PRESSED or SDL_RELEASED */
                    SDL_keysym keysym;
            } SDL_KeyboardEvent;

            typedef union {
                    Uint8 type;
                    SDL_ActiveEvent active;
                    SDL_KeyboardEvent key;
                    SDL_MouseMotionEvent motion;
                    SDL_MouseButtonEvent button;
                    SDL_JoyAxisEvent jaxis;
                    SDL_JoyBallEvent jball;
                    SDL_JoyHatEvent jhat;
                    SDL_JoyButtonEvent jbutton;
                    SDL_ResizeEvent resize;
                    SDL_ExposeEvent expose;
                    SDL_QuitEvent quit;
                    SDL_UserEvent user;
                    SDL_SysWMEvent syswm;
            } SDL_Event;

            C'est si dur de lire les headers de la lib ?
            Donc c'est event.key.keysym.unicode, et c'est un Uint16, l'unicode étant codé sur deux octets.
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              28 avril 2006 à 11:18:41

              Donc quand on fait SDL_WaitEvent(&event); , après event.key.keysym.unicode contient la touche appuyé? Si on appuie sur 'a' , ça contient 'a' ?
              • Partager sur Facebook
              • Partager sur Twitter
                28 avril 2006 à 11:33:38

                (char)event.key.keysym.unicode contient 'a' (car event.key.keysym.unicode est un Uint16, et non un char).

                A condition d'avoir activé l'unicode avec la fonction que j'ai donnée plus haut.
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  28 avril 2006 à 11:38:53

                  Non, ça contient un nombre, le 'a' en unicode. C'est pas ce que tu voulais ?
                  Des informations sur le format unicode : http://fr.wikipedia.org/wiki/Unicode
                  Tu devras utiliser le type wchar_t pour tes chaines au lieu de char...
                  • Partager sur Facebook
                  • Partager sur Twitter

                  AZERTY ou QWERTY ?

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown