Vous êtes sur la page 1sur 17

Petr Medek

HID Macros
Logiciel de programmation
rogrammation de macros entre interfaces USB et Flight Simulator
http://hidmacros.medek.info/

Diffusion exclusive sur http://www.fs-tutoriels.com/ 07/2009


Avertissement lgal

Ce document est offert au tlchargement sans perception dune rmunration mais nest pas
libre de droits, ni gratuit. Ce document est rgi par le droit dauteur et notamment mais sans
restriction des articles L.111-1, L.112-2, L113-1, L.121-1 L.122-12, L.131, L.134, L.335, et
connexes du code de la proprit intellectuelle (CPI) disponible sur le site du Ministre de la
Culture (http://www.culture.gouv.fr/culture/infos-pratiques/droits/). Il est protg par la
convention de Berne dans les 163 pays signataires. Il ne peut tre distribu (gratuitement ou
non), ni modifi, ni inclus dans une autre cration, sans accord crit de lauteur (page contact du
site FS tutoriels ou E-mail du document).

La distribution de ce document est faite EXCLUSIVEMENT par le biais du site FS


TUTORIELS et il est interdit quiconque, personne morale ou physique, de le mettre
disposition par le biais dun autre site.

Ce document a une valeur unitaire de 50 euros. Toute personne mettant ce document en accs
sur un autre site que FS TUTORIELS sexpose devoir payer lauteur (ou aux co-auteurs) la
valeur du document multipli par le nombre de tlchargements. FS TUTORIELS rappelle que
les infractions aux droits dauteurs sont sanctionnes pnalement (CPI, art L.335-1 L.335-10).
Toute mise disposition de ce document fera lobjet dun constat dhuissier et de poursuites
systmatiques.

2 HID Macros de Petr Medek


SOMMAIRE

Note du dveloppeur..................................................................... 4

Introduction.................................................................................. 4

Mise en uvre.............................................................................. 5

Tlchargement et installation......................................... 5

Onglet Devices.............................................................. 6

Onglet Macros.............................................................. 6

Onglet About et Help................................................. 10

Gestion des fichiers INI................................................... 10

Conclusion.................................................................................. 12

Exemple de programmation ATC............................................... 13

Exemples de programmation caractres spciaux....................... 14

Changement de configuration de matriels................................ 15

Limitations.................................................................................. 15

Appendice : squences clavier supportes.................................. 16

HID Macros de Petr Medek 3


Note du dveloppeur : Clause de non responsabilit et licence

Ce logiciel est fourni tel quel c'est--dire sans garantie. Linstallation et lutilisation de ce logiciel est
sous votre propre responsabilit. En aucun cas lauteur peut tre tenu pour responsable de problmes ou
dommages causs directement ou indirectement par ce logiciel.

Ce logiciel est distribu librement et gratuitement avec les fichiers supprims ou modifis inclus dans le
package. Lusage personnel est libre. Lutilisation de ce logiciel des fins commerciales nest pas
autorise sans accord pralable de lauteur.

Vous pouvez contactez lauteur (en Anglais) ladresse Email suivante : petr@medek.info

Introduction

Cet utilitaire permet de mieux contrler des claviers et souris multiples raccords sur un mme
ordinateur. Avec Windows, toute frappe est reconnue comme manant dun seul clavier standard mme
si plusieurs claviers sont connects votre ordinateur. Il en est de mme avec les souris.

Vous allez pouvoir programmer nimporte quelle macro soit par une combinaison clavier, bouton de
souris ou toute autre interface USB. Une macro peut aussi lancer une commande dexcutable, envoyer
un message FS. Si vous disposer de MS Flight Simulator X version Deluxe, vous pourrez envoyer un
vnement SimConnect FSX.

Aujourdhui, cela ne pose aucun problme de raccorder un clavier, souris ou toute interface USB sur
votre ordinateur ou concentrateur USB. Avec cet utilitaire, vous allez pouvoir rassigner nimporte
quelle touche de FS9 ou FSX. A lcriture de ce document, la dernire version disponible sur le site de
lauteur est la 1.5 Beta. Une interface du logiciel en Franais est prvue prochainement.

Cette interface est trs simple mettre en uvre et devrait sans aucun doute apporter un plus tous qui
bidouillent (comme moi) et les crateurs de cockpit. Je dispose dun poste de travail standard
(cran+clavier+souris) et dun poste de simulation de vol (cran+clavier+souris+clavier
numrique+yoke+pdalier+joystick) et donc cet utilitaire est bien pratique. Pour lexemple, nous allons
programmer un clavier numrique USB offrant la possibilit de 32 commandes au moins.

Afin que se produit puisse voluer, nhsitez pas faire un don via le bouton Paypal sur longlet
About. Nous avons la chance que des bnvoles investissent de leur temps pour mettre disposition
des freewares, alors ne les oublier pas.

Cette documentation est diffuse avec laccord de lauteur du logiciel.

Marc Berthomeaux

4 HID Macros de Petr Medek


Mise en uvre

Tlchargement et installation :

Tlchargez la dernire version du logiciel sur le site de lauteur : http://hidmacros.medek.info/. Le


tlchargement se prsente sous la forme dun fichier zip. Crez un rpertoire HIDMacros dans
c:\program Files\. Dcompressez lensemble des fichiers dans le rpertoire HIDMacros. Slectionnez
le fichier HIDMacros.exe et effectuez un clic droit souris. Slectionnez dans le menu Envoyer vers et
Bureau (crer un raccourci). Note : il faut disposer des droits administrateur sous Vista.

Connectez votre clavier numrique externe USB (10/15 dans les bonnes boutiques). Lancez le
programme en cliquant sur le raccourci bureau HIDMacros. Le logiciel comporte 4 onglets : Devices,
Macros, About et Help.

Onglet Devices :

Slectionnez longlet Devices, vous devez voir lensemble des interfaces HID (Human Interface
Device). Vous pouvez les nommer diffremment afin de bien les diffrencier en cliquant sur leurs noms.
Si vous avez plusieurs interfaces : laquelle est laquelle ? Pas de panique, tout problme sa solution. Le
message Keyb hook OK vous indique quil y a un moins un clavier dintercept par HID Macros.

HID Macros de Petr Medek 5


Onglet Macros

6 2

1 4

1) Liste de macros cres


2) Zone de test des interfaces
3) Edition de macro
4) Action de macro
5) Zone dinformations
6) Boutons de cration et suppression macros

En premier lieu, si vous devez reprez vos interfaces, vous pouvez utiliser la zone de test 2. Pressez un
bouton de linterface reprer. En face de Device saffiche le nom gnrique de linterface teste. Une
fois repre, vous navez plus qu retourner sur longlet Devices, cliquez sur le nom de linterface et
modifier son intitul.

Faites de mme avec le clavier numrique externe USB que vous avez connect. Si vous nen disposez
pas, utilisez votre clavier pour la suite.

Voil, toutes vos interfaces HID sont nommes, donc nous pouvons passer ltape suivante qui va tre
la programmation de macros.

6 HID Macros de Petr Medek


Avant de programmer une macro : lassignation dune touche FS que vous allez programmer ne doit pas
tre affecte dans les commandes FS. Dans le cas du clavier numrique, les touches /, 0, 1,2, 3, 4, 5, 6, 7,
8, 9 avec le Num Lock verrouill doivent tre dprogrammes. Toutes ces touches sont affectes aux
vues (y compris les combinaisons clavier genre Maj+8Numpad etc.), ces dernires interfrent). Pour
lexemple nous allons programmer :

1- Louverture/fermeture de la fentre ATC


2- Les touches de 1 0 du clavier alphanumrique pour les diffrents menus ATC

Cration dune macro avec assignement de la touche (ouverture de la fentre ATC) :

1) Pressez la touche New. Renommez la macro New Macro en Fentre ATC.


2) Pressez le bouton Scan, une fentre souvre. Pressez la touche / du clavier numrique.
3) Dans la zone action, slectionnez send keyboard sequence et saisissez la lettre
4) Dans la zone action, slectionnez With text notification et saisissez ATC dans Params

Vous venez de crer notre premire macro. Rien de plus facile. Si vous pressez le bouton Exit, votre
macro sera enregistre automatiquement dans le fichier hidmacros.ini tel que cela est indiqu dans la
zone dinformations en bas et droite.

HID Macros de Petr Medek 7


Rptez lopration pour crer les macros des 10 menus ATC possibles : Touches alphanumriques du
clavier de 1 0 (sans activer la touche MAJ) aux touches de 0 9 de votre clavier numrique. Ci-
dessous la macro pour le menu ATC 1 :

Quittez HID Macros en pressant le bouton Exit. Relancez nouveau HID Macros, vous devez voir
toutes vos macros.

Linformation With text notification permet par message notifi FS avec le texte saisi dans Params
de vous informer que la macro est bien transmise (uniquement pour les tests et FSX). Vous pourrez
dsactiver les notifications une fois vos tests termins.

Lancez FS9 ou FSX et tester vos macros. La seule manire de sassurer du fonctionnement dune macro
sera le message associ affich dans FS (uniquement FSX).

Vous pouvez associer votre macro une application (Run Application) indiquant le chemin daccs
laide du bouton situ droit du champ concern.

Pour programmer un vnement SimConnect, cela nest pas plus compliqu que pour une macro avec
assignement clavier.

8 HID Macros de Petr Medek


Cration dune macro associe un vnement SimConnect avec FSX :

Vous devez disposer de la version Deluxe comprenant le SDK. Reprenez votre macro Fenetre ATC.
Slectionnez Send SimConnect event (FSX). Recherchez la commande ATC pour lassocier
lvnement.

Quittez FSX et relancez-le une nouvelle fois pour que lvnement soit pris en compte. Vous pouvez
noter dans la zone dinformations en bas gauche que le message Not connected (non connect) vous
indique quil faut activer la connexion en pressant le bouton SimConnect. Linformation passera
Connected.

Linformation SimConnect.dll Loaded vous indique que vous disposez bien de la liaison SimConnect.

HID Macros de Petr Medek 9


Onglets About et Help

Longlet About vous donne la version du logiciel, lauteur et lien du site. Longlet Help (Aide) sur le
lutilisation du logiciel comprenant un appendice sur les commandes en fin de laide.

Gestion des fichiers INI

Vous pouvez disposer de plusieurs fichiers INI en fonction des avions que vous chargez. Le nom du
fichier est indiqu dans la zone dinformation en bas droite :

10 HID Macros de Petr Medek


Sous Vista, ce fichier se situe dans le rpertoire suivant :

Noubliez pas : votre compte doit tre administrateur ou bien dmarrez le programme en effectuant un
clic droit sur le raccourci bureau et slectionnez Excuter en tant quadministrateur.

Vous pouvez crer dautres fichiers INI en renommant celui que vous avez cr avec un nom explicite.
Pour associer le fichier concern, effectuez un clic droit sur le raccourci bureau et slectionnez
Proprits.

Ajoutez au bout de la ligne du champ cible le nom du fichier ini sans son extension (.INI)

HID Macros de Petr Medek 11


Lancez HID Macros, le nom du fichier INI est indiqu dans la zone dinformation en bas droite :

Tous vos fichiers peuvent cohabiter dans le mme rpertoire :

En conclusion

Voil, nous avons fait le tour de cet utilitaire. Facile mettre en uvre, rpondant certainement
beaucoup de simmeurs cherchant des solutions de gestion dinterfaces HID.

Un seul mot : noubliez pas remercier lauteur Petr Medek et penser faire une donation pour que ce
produit volue et continue vivre.

Aux pages suivantes, quelques exemples de programmation.

Bonne programmation avec HID Macros

Marc Berthomeaux

Marc.berthomeaux1@aliceadsl.fr

12 HID Macros de Petr Medek


Exemple de programmation ATC via un clavier numrique :

Menu ATC avec la touche Num Lock verrouill

Clavier numrique Menu ATC complet

Num / * Num MENU


Lock Lock ATC

7
Home
8

9
Pg Up
- MENU MENU MENU
7 8 9

MENU MENU MENU


4

5 6

+ 4 5 6

1 2 3 MENU MENU MENU


End Pg Dn 1 2 3
Enter
0 . MENU
00
Ins Del 0

HID Macros de Petr Medek 13


Exemple de programmation Slection de cap (HDG) et augmentation / diminution

Macro Clavier Num Send keyboard Sequence Send SimConnect Event


HDG_SELECT 7 (^+H) HDG_BUG_SELECT
HDG_AUGMENTE 8 = HDG_BUG_INC
HDG_DIMINUE 9 HDG_BUG_DEC

Note : pour les vnements SimConnect (FSX), pas de remarques.

Dcomposition de la commande clavier slection du bug de cap

^ = Ctrl
+ = Shift (Maj)
H = Slection bug de cap

Ces trois commandes sont entre parenthses pour que les trois caractres soient squencs
Pour augmenter ou diminuer le bug de cap, commandes augmenter et diminuer de FS

Cela facilite la vie : deux touches pour augmenter le bug de cap et non plus Ctrl+Maj+H et = . De plus,
les fonctions augmenter et diminuer la slection sont de fait programmes pour tout le reste (zoom par
exemple). Pratique, un fichier ini FS9 avec les commandes classiques et un fichier ini avec les
vnements SimConnect pour FSX. Juste slectionner Send keyboard Sequence pour FS9 et Send
SimConnect Event pour FSX ou, un seul fichier avec les commandes Send Keyboard Sequence. Pas
belle la vie avec HIDMacros.

Si vous souhaitez squencer des commandes particulires : par exemple F9 ou F10 correspondant vue
cockpit 2D et vue cockpit virtuel (VC). La commande devra tre insre de la manire suivante :

{F9} dans le champ Send Keyboard Sequence Cockpit virtuel


{F10} Cockpit 2D

Si vous souhaitez excuter une squence genre Ctrl+Shift+F2 (appauvrissement du mlange) :

(^+{F2})

Si vous souhaitez excuter une squence genre Ctrl+Shift+F3 (enrichissement du mlange) :

(^+{F3})

Voil, le tour est fait des commandes spciales. Si vous avez des questions, nhsitez pas. A vos claviers
pour profiter de cet utilitaire incontournable.

14 HID Macros de Petr Medek


Changement de configuration de matriels

Les macros sont toujours affectes au clavier/souris par le nom de linterface HID. Cela vous donne la
possibilit de garder votre dfinition de macros quand vous raccordez un clavier ou souris dun autre
modle. Dou lexemple, quand un nouveau clavier est connect, il apparait dans la liste (onglet
Devices) avec le nom du produit. Facile. Mais quarrive-t-il quand vous dconnectez lancien clavier ?
Est-ce que vous perdez vos macros alloues au clavier ? Et bien non, il restera dans la liste est sera
identifi par la couleur rouge indiquant que ces macros ne sont pas alloues au clavier existant. Vous
pourrez lire le nom du nouveau clavier sur la page Devices et vous pourrez renommer le nouveau
clavier avec un nom dj existant (nom dj allou lancien clavier que vous avez dconnect). Toute
macro avec ce nom de clavier sera relie votre nouveau clavier physique de manire automatique.

SimConnect essaye de communiquer automatiquement avec lapplication FS au dmarrage de


HIDMacros. Si la connexion ne stablit pas, vous pouvez toujours essayer en pressant le bouton
SimConnect.

La dfinition des macros est enregistre/charge automatiquement partir du rpertoire dapplication


(voir la prsente documentation pour Vista). Si vous souhaitez crer plusieurs configurations (profils),
vous pouvez excuter lapplication avec un paramtre qui sera le nom du fichier de configuration (fichier
ini). Cela vous donne la possibilit de dfinir plusieurs configurations pour diffrents avions (voir la
prsente documentation).

Limitations

Avec les boutons de la souris, vous avez la possibilit dinterfacer diffrentes macros pour les fonctions
presser/lcher dun bouton. Lide est donner un outil pour les concepteurs de cockpit pour les bascules
de commutateurs (ON/OFF) interfaces avec le bouton dune souris. Pourtant, il semble que le driver de
souris Windows ne supporte pas davoir un bouton de souris appuy en permanence. Mme si le
message Windows nest pas envoy pour traitement, vous ne pouvez pas changer de fentre si le bouton
de la souris est enfonc. Vous pouvez donc utiliser la fonction presser/lcher pour les vnements. Par
contre, le bouton press en permanence pour une bascule de commutateur nest pas recommand.

Tous les claviers standards sont supports avec Windows. Mme si les claviers Multimdia sont
dtects par HIDmacros, il nest pas possible dexcuter des macros cause des diffrentes
manipulations de lAPI Windows. Aussi, lutilisation de combinaison Alt et F10 par exemple nest pas
recommande.

HID Macros de Petr Medek 15


Appendice : Squences clavier supportes

+ = Shift
^ = Control
% = Alt

Dlimiter les ordres de caractres ou noms de clef par des parenthses pour quils
se comportent comme des groupes. Par exemple abc est trait comme un bloc alors
(abc)squence les trois caractres. Les caractres spciaux sont soutenus.

~ = Enter
( = commence un groupe (voir ci-dessus)
) = termine un groupe (voir ci-dessus)
{ = Commencer le nom de la clef texte (voir ci-dessous)
} = Terminer le nom de la clef texte (voir ci-dessous)

Caractres supports : nimporte quel caractre qui peut tre utilis est support.
Dlimiter avec les clefs modificatrices listes ci-dessus (crochets) pour envoyer le
nom dune clef comme un texte normal. Les noms de clefs supportes (entourer celles-
ci avec des crochets) :

BKSP, BS, BACKSPACE


BREAK
CAPSLOCK
CLEAR
DEL
DELETE
DOWN
END
ENTER
ESC
ESCAPE
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11

16 HID Macros de Petr Medek


F12
F13
F14
F15
F16
HELP
HOME
INS
LEFT
NUMLOCK
PGDN
PGUP
PRTSC
RIGHT
SCROLLLOCK
TAB
UP
NUM0
NUM1
NUM2
NUM3
NUM4
NUM5
NUM6
NUM7
NUM8
NUM9
NUMDECIMAL
NUMPLUS
NUMMINUS
NUMDIVIDE
NUMMULTIPLY

Mettre le nom de la clef suivi dun espace pour envoyer la clef indique comme par
exemple une donne de temps : {left 6}

HID Macros de Petr Medek 17