28/11/2020 16:02 - Zip

Utiliser un pavé numérique externe pour simuler un UFC physique


  • Membre du bureau

    Dans la plupart des avions modernes américains, il y a un pavé de boutons facilement accessible qui permettent d’entrer des données dans les systèmes de bord, et de déclencher des commandes sans quitter “la route” des yeux.

    C’est par exemple le cas du F/A-18C avec l’Up Front Controller (UFC)

    Un problème ?

    Dans cet avion, pour mettre le pilote automatique, il faut cliquer sur un bouton “fonction” au bas de l’UFC, puis sur un OSB à droite de l’UFC pour enclencher un des modes.
    Du coup, dans DCS, c’est bien plus difficile dans cet avion que dans le A-10C où il suffit d’enclencher un interrupteur sur son Warthog.

    ce573996-aba2-4200-a6b6-8ed282aff359-image.png

    Il existe des applications permettant l’export et la commande des instruments de DCS sur des écrans tactiles (HELIOS) mais elles sont compliquées à mettre en oeuvre et consomment une partie des ressources qui pourraient être dédiées au jeu.

    De plus, pour utiliser un écran tactile, il faut quitter le cockpit des yeux pour voir où on appuie son doigt : il n’y a pas de sensation de toucher (le retour haptique) qui permettrait de facilement déterminer sur quel bouton on va appuyer, sans regarder.

    Une solution

    Ma solution, qui est simple et ne coute presque rien, est d’utiliser un pavé numérique externe pour simuler l’UFC en associant ses boutons aux commandes de DCS qui correspondent aux boutons de l’UFC.

    Avantages :

    • très simple à mettre en oeuvre (matériel)
    • peu couteux
    • n’utilise aucune resource de la machine (CPU, GPU)

    Inconvénients :

    • pas d’affichage intégré
    • limitation sur certaines touches (voir détail plus bas)
    • compliqué à configurer

    Le matériel

    J’ai acheté ce simple pavé numérique externe USB, mais tout clavier externe fera l’affaire (y compris les machins spéciaux pour “gamer”)

    Installation

    Très simple : branchez la prise USB sur votre ordinateur.
    Pour aller un peu plus loin, moi j’utilise un concentrateur USB alimenté avec un bouton ON-OFF, sur lequel je branche tous mes périphériques de jeu (le Warthog, mes deux MFD, mon pavé numérique) afin de facilement activer et désactiver l’ensemble.

    Configuration

    C’est là que ça se complique.
    Sous Windows, quand vous branchez un second clavier, il fonctionne directement. Si vous appuyez sur la touche “5” par exemple, ça écrira un “5” aussi bien que si vous l’aviez fait sur votre clavier principal.
    Mais justement, dans ce cas, DCS ne peut pas distinguer le “5” du pavé numérique externe de celui du pavé numérique de votre clavier principal.
    Il faut donc réassocier les touches, et c’est là qu’entre en scène un petit utilitaire très simple nommé Multi Keyboard Remapper

    Installation de Multi Keyboard Remapper

    Cet utilitaire gratuit a été développé parce que son auteur avait le même problème que nous avec DCS.
    On peut le trouver ici, et pour l’installer il faut suivre ces instructions simples :

    • créer un répertoire ; par exemple c:\dcs\remapper
    • copier le contenu de l’archive téléchargée dans ce répertoire
    • lancer (en tant qu’administrateur) le programme install-interception.exe ; cela va installer un driver spécial qui interceptera les évènements d’appui sur des touches de vos claviers pour permettre de les remapper. Une fenêtre s’ouvre et se ferme aussitôt, c’est normal, et rien de plus ne se passera.
      de969989-8229-4431-8733-51466ebf3d0b-image.png
    • si vous avez ce message vous pouvez l’ignorer
      6969626e-194d-41f9-b788-c1c8c4d86fd6-image.png

    Configuration de Multi Keyboard Remapper

    La première chose à faire, c’est d’identifier le clavier externe que vous souhaitez utiliser.

    Pour cela, téléchargez le petit script tester.cmd que j’ai écrit (voir pack de fichiers en bas de ce post), copiez-le dans votre répertoire remapper (ici, c:\dcs\remapper) et lancez-le en utilisant la touche Entrée de votre clavier externe. Ce point est très important, c’est pour ça que je le mets en gras.

    Si tout se passe bien, vous obtiendrez cette fenêtre qui attend que vous pressiez une touche de votre clavier externe. Sinon, si la fenêtre vous indique déjà un identifiant (voir plus bas) c’est que vous avez utilisé votre clavier principal pour lancer le programme. Recommencez.
    d9370f67-d241-4c9d-9215-3a0e1de6b84c-image.png

    Quand vous avez appuyé sur une touche de votre clavier externe (ou si vous avez utilisé le clavier principal, et dans ce cas recommencez), la fenêtre se modifie ; copiez l’identifiant qui est apparu (mettez-le de côté précieusement) et fermez la fenêtre.

    7936960b-e2a2-4186-9d3a-adb48ad537ff-image.png

    Pour le copier utilisez le menu système :
    173ff88e-add8-4643-83f6-7d057ae911ab-image.png

    Ouf, c’était le plus compliqué !

    Maintenant il faut configurer le clavier. Le plus simple est d’utiliser le fichier DCS_remapper_F18.txt que j’ai écrit comme base (voir pack de fichiers en bas de ce post)

    Ouvrez le fichier texte dans notepad ; vous allez devoir remplacer la première ligne par l’identifiant que vous avez copié tout à l’heure (celui-là, c’est le mien ^^). Sauvegardez avec votre modification (écrasez).

    Une fois que c’est fait, on va pouvoir tester ; lancez le script dcs-remapper.bat (aussi dans le pack de fichiers), vous devriez obtenir cette fenêtre (avec un autre identifiant, bien sûr) :
    79ee7b77-ec9c-4e5c-8944-b274a1966e15-image.png
    La colonne de gauche (avec les #) correspond aux codes des touches d’un pavé numérique comme le mien. Les votres devraient avoir les mêmes (si ce n’est pas le cas on en parlera de vive voix).
    A droite de la flèche, c’est la touche qui sera simulée quand on presse la touche physique du clavier externe ; par exemple :
    #e01c->S-C-A-NumEnter signifie que quand on presse la touche “Entrée” (#e01c), remapper simulera un appui sur Shift-Control-Alt-Enter (S-C-A-NumEnter)

    Ma configuration est simple : chaque touche du clavier externe (sauf Esc et la touche qui lance la calculatrice, impossibles à modifier) simule l’appui sur la même touche du clavier principal, mais avec Shift, Control et Alt gauches appuyés. Si vous avez acheté le même clavier que moi (ou un autre similaire), vous n’aurez rien à changer.
    Sinon ,cette configuration peut être modifiée dans le fichier DCS_remapper_F18.txt, mais ce n’est pas le sujet de ce tutoriel.

    Appuyez sur la touche “Entrée” de votre clavier externe, ça devrait écrire ceci :
    f3c7557d-f938-4b28-baa4-99d9cee9b209-image.png

    Si c’est le cas, alors tout fonctionne !

    Configuration de DCS

    Il faut désormais configurer DCS pour que les boutons de l’UFC soient associés à ces touches simulées (par exemple Shift-Control-Alt-Enter).

    Dans le dialogue de configuration de DCS, trouvez la ligne qui correspond à la touche de l’UFC que vous voulez configurer (dans cet exemple,
    Cette configuration peut être modifiée dans le fichier DCS_remapper_F18.txt, mais ce n’est pas le sujet de ce tutoriel.
    “ENT”)
    6d788b59-9d6a-4162-a608-c4b819522b2e-image.png

    • allez dans les contrôles (1)
    • sélectionnez le F/A-18C - mode simulation (2)
    • sélectionnez la catégorie UFC (3)
    • trouvez la ligne qui correspond au bouton “ENT” (4)
    • double-cliquez dans la case qui est à l’intersection de cette ligne et de la colonne “Clavier”

    e4e6c52f-cad1-47d4-829a-08a78ef78fa3-image.png

    • sélectionnez “NumEnter” dans la liste ou appuyez sur la touche Entrée du pavé numérique de votre clavier principal
    • ajoutez les modifiers “LAlt”, “LCtrl”, “LShift”

    8aff87cc-b7d3-4f77-be16-1f498a11d6b4-image.png

    Appuyez sur OK.

    Faites de même pour toutes les touches que vous désirez associer.
    Moi, j’ai associé les fonctions que j’utilise le plus :

    • fonction A/P sur “Tab”
    • fonction TCN sur “*”
    • fonction ON/OFF sur “/”
    • OSB 1 sur “=”
    • OSB 1 sur “Backspace”
    • OSB 1 sur “-”
    • OSB 1 sur “+”
    • ENT sur “Enter”
    • CLR sur “.”
    • les chiffres sur les chiffres ^^

    Par exemple, pour mettre l’autopilot en mode barométrique, j’appuie sur “Tab” puis sur “-”.

    Et voilà, fermez ce dialogue (en cliquant sur OK) et c’est fini !

    Utiliser remapper

    Très simple : il suffit de lancer le script dcs-remapper.bat (dans le pack de fichiers) et remapper sera actif tant que la fenêtre sera ouverte.

    Fichiers à télécharger

    Voici le pack de fichiers que j’ai préparés pour vous.


  • Membre VEAF

    Merci @Zip pour ce tuto ! 👍


  • Membre du bureau

    👏 sacré boulot @Zip , bravo et merci pour le partage.

    Je ne sais pas si cela peut rendre le volet remapping plus user friendly, d’autant que pour ma part c’est quelque chose que j’utilise pour autre chose de différent (le 5 du pavé numérique sur du joystick “simulé”), mais je partage l’info au cas où cela pourrait aider… c’est l’appli opensource Antimicro. C’est un peu moins root mais je pense que ça doit pouvoir fonctionner aussi pour faire du remapping. A confirmer si quelqu’un a le courage de regarder 😊 .


  • Membre VEAF

    Merci @Zip


  • Membre VEAF

    text alternatif
    J’ai ressortie des cartons mon G13 que j’ai mappé pour l’utiliser en UFC. En parallèle j’ai trouvé une appli pour gérer sur l’écran quelques informations comme les fréquences radio mais j’ai du mal pour la faire tourner.
    Image originale du développeur



  • Merci Zip pour le tuto, toujours top !
    il y a aussi ça, pas de date de sortie mais dans tous les cas ce sera une jolie une solution !




Log in to reply
 

Attention : merci de ne pas inclure de pièces jointes trop volumineuses !
En particulier :

  • pas de gros fichier temporaire, qui n’a qu’une courte durée de vie (.trk, ou autre) : utilisez un autre support (Google Drive par exemple) et déposez un lien.
  • pas d’image dans d’autres formats que .jpg ou .jpeg ; en particulier pas de .bmp ni de .png, qui ne sont pas (ou peu) compressés.
  • attention également au copié/collé d’une image, qui sera stockée dans son format d’origine (donc, si c’est du bmp ou du png à la base, voir règle #2)