Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/02/2011, à 14:45

gx

Clavier AZERTY et jeux SDL (WarMUX / Wormux, AssaultCube, Tremulous..)

Bonjour smile

J'ai un problème avec mon clavier AZERTY français dans les jeux vidéo utilisant SDL, en particulier pour les touches numériques (ou "touches chiffrées" ?) (pas le numpad, mais la ligne de chiffres au-dessus de la ligne azertyuiop, qui donne 1234567890 avec Maj. mais &é"'(-è_çà sans) ; j'ai fait quelques recherches et apparemment je ne suis pas seul. Apparemment cela vient du fait que le keysym SDLK_1 (et suivants) est impossible à faire sur un clavier français.

Problème : bien que dans certains jeux toutes les touches puissent être personnalisées pour les adapter à sa disposition clavier, *ce n'est pas toujours le cas*. Ainsi, dans Hedgewars par exemple, impossible de changer le timer / minuteur des grenades avec les touches 1-5 (du moins en mode Partie rapide) ; dans AssaultCube, impossible d'utiliser le menu voicecom (touches 1-9 après appui sur V) ; etc.

Pour les (nombreux) jeux concernés, je n'ai pas envie d'attendre que les développeurs (auxquels le problème a déjà été signalé par d'autres dans le passé) incluent la personnalisation de *vraiment toutes* les touches par défaut pour les actions in-game, et encore moins de modifier moi-même les sources pour les adapter à mon clavier, recompiler...

J'ai donc cherché du côté des agencements clavier pour, à défaut de pouvoir totalement adapter le jeu à mon clavier, au contraire "adapter mon clavier au jeu". Avec des résultats étonnants... Voici mes observations :

(Les impatients peuvent lire uniquement les Tests 1. et 4.)

Configuration de base

Je suis sur Ubuntu 10.10 (maverick), environnement GNOME par défaut.
À l'installation (clean install sur disque vierge) j'avais choisi le clavier "France Autre" (AZERTY).
Dans le menu Système > Préférences > Clavier (ou en console : gnome-keyboard-properties), 2e onglet (Agencements), j'ai en bas :
        Modèle du clavier :  Clavier piloté par evdev
(en fait c'est un pc105 "PC générique 105 touches (intl)" de PC portable)
et dans les Options..., "Touche(s) changeant de disposition." j'ai uniquement "Maj.+Verr. Maj." qui est cochée.
J'ai cliqué sur Ajouter..., sélectionné le clavier QWERTY de base :
        Pays :  États-Unis
        Variantes :  USA
et cliqué sur Ajouter (un petit switcher de disposition est alors apparu dans l'applet de notification).
J'ai décoché "Agencement séparé pour chaque fenêtre" pour avoir la même disposition partout.
Enfin, j'ai cliqué Appliquer à l'ensemble du système... (et entré mon mot de passe et validé).
Note : iBus n'est pas activé.

Tests

Je peux maintenant tester les jeux. Je choisis par exemple AssaultCube (1.1.0.4), avec les settings par défaut (aucune personnalisation des touches).
Je garde ouverte la fenêtre Propriétés du clavier (onglet Agencements) et je lance assaultcube avec différentes dispositions :

  1. Dispo de base
    Liste des agencements (dans la fenêtre Agencements) dans l'ordre :
            France Autre
            USA
    Agencement actif (visible dans l'applet de notification) :  Fra
    Dans le jeu :
    Le clavier est entièrement AZERTY : déplacement avec W A S D (très peu pratique), après appui sur V (menu voicecom) les touches 0-9 ne marchent pas (avec ou sans Maj. enfoncée) (le pavé numérique non plus, mais ça c'est normal), après appui sur T (mode chat) l'appui sur A donne "a".
    Commentaire : c'est nul. (à part le chat mais intérêt limité).

  2. À partir de la dispo de base, je sélectionne USA et je clique sur Monter pour le mettre en haut de la liste, ce qui donne :
    Agencements :
            USA
            France Autre
    Agencement actif :  USA
    Dans le jeu :
    Le clavier est entièrement QWERTY (ce pour quoi est prévu le jeu) : déplacement avec Z Q S D, les touches 0-9 marchent (accès direct sans Maj.), après appui sur T (mode chat) l'appui sur A donne "q".
    Commentaire : c'est mieux, sauf pour le chat (qui sert aussi à taper des commandes)...

  3. À partir de la dispo de base (ou après avoir redescendu USA depuis la dispo 2.), j'appuie sur Maj. + Verr.Maj. pour changer de disposition active, ce qui donne :
    Agencements :
            France Autre
            USA
    Agencement actif :  USA
    Dans le jeu :
    Le clavier est en AZERTY, sauf pour le chat, où il est en QWERTY : déplacement avec W A S D, les touches 0-9 ne marchent pas, mais en chat l'appui sur A donne "q".
    Commentaire : c'est encore pire qu'à la base...

  4. À partir de la dispo de base (ou après avoir refait Maj. + Verr.Maj. depuis la dispo 3.), je sélectionne USA et je clique sur Monter, puis j'appuie sur Maj. + Verr.Maj. pour changer de disposition, ce qui donne :
    Agencements :
            USA
            France Autre
    Agencement actif :  Fra
    Dans le jeu :
    Le clavier est en QWERTY, sauf pour le chat, où il est en AZERTY : déplacement avec Z Q S D, les touches 0-9 marchent, et en chat l'appui sur A donne "a".
    Commentaire : ben c'est pas mal, ça !

Conclusion

À l'issue de ces tests, le comportement en configurations 1. et 2. semble logique, mais 3. et 4. me laissent perplexe... Y aurait-il 2 "niveaux" d'agencement ? Un "brut" (l'agencement en haut de la liste) utilisé "in-game", et un "haut-niveau" (l'agencement actif indiqué dans l'applet de notification) utilisé en mode chat / console ? (j'ai lu des trucs sur Xorg / X11 / XKB et aussi gnomekbd mais je suis perdu...)

Pour l'instant j'en reste à faire la manip 4. avant chaque lancement de jeu, et la manip inverse après fermeture du jeu (Maj. + Verr.Maj., puis Descendre USA), mais ce n'est pas très pratique et je ne comprends même pas comment ça "marche"...


Des réflexions, des idées ? smile Merci

Dernière modification par gx (Le 07/03/2011, à 15:34)

Hors ligne