Liaisons et paramètres utilisateur

## Introduction à la liaison de clés

Une touche (ou un bouton d'appareil) peut être liée à l'avance à une fonction particulière. Ensuite, pendant le jeu actif, appuyer sur cette touche invoquera cette fonction. Il existe 3 manières principales de gérer la liaison des touches :

1. En utilisant le système de menu principal de TDM, sous « Paramètres/Contrôles ».
2. Entrez les commandes "bind" dans la console.
3. Modifiez directement les commandes "bind" dans le fichier DarkmodKeybind.cfg.

Généralement, après avoir modifié une combinaison de touches, vous devez redémarrer le jeu pour qu'elle prenne effet.

Une clé donnée peut être :

* lié à une fonction.
* lié à aucune fonction.
* lié à un espace réservé à ne rien faire (une fonction dans le nom uniquement).
* lié à une liste de commandes de console, séparées par des points-virgules. (Cela ne sera pas vraiment pris en compte ici, mais voir « Clés disponibles pour la liaison » ci-dessous pour un exemple.)

Une clé ne peut être liée qu'à une seule chose, donc seule la dernière liaison prend effet. Gardez cela à l'esprit si vous modifiez le fichier .cfg. Comme pour les sous-menus Paramètres/Contrôles, si vous réattribuez une touche précédemment liée, ailleurs dans le menu, l'ancienne affectation sera immédiatement et visiblement supprimée.

Une fonction donnée peut avoir zéro ou plusieurs clés liées qui l'invoquent.

### Liaison avec les menus "Paramètres/Contrôles" de TDM

Les « Paramètres/Contrôles » de TDM proposent 6 sous-menus. Recherchez le sous-menu et la ligne contenant la fonction particulière qui vous intéresse, puis :

* Passez le curseur de la souris sur la zone de touche liée sur le côté droit.
* En cliquant sur LMB, vous afficherez "Appuyez sur n'importe quelle touche...".
* Appuyer sur une touche (ou un bouton de l'appareil) l'ajoutera. Plusieurs touches liées à la même fonction seront affichées séparées par " ou ".

Plus bas, des tableaux avec des détails sur les raccourcis clavier par défaut sont organisés comme les 6 sous-menus.

### Dissociation

* Pour un élément de menu Paramètres/Contrôles : procédez comme si vous alliez ajouter une touche, mais en réponse à "Appuyez sur n'importe quelle touche...", appuyez sur ESC . plutôt
* Dans la console, effectuez l'une des opérations suivantes :

```
dissocier "  *clé*  "
  lier "  *clé*  " " "

```

* Lors de la modification d'un fichier .cfg, notez qu'il commence généralement par

```
dissocier

```

Alors, ne liez simplement aucune clé que vous ne souhaitez pas.

### Exemples de « Lier »

Pour ajouter un raccourci clavier dans le fichier DarkmodKeybinds.cfg, regardez les exemples de syntaxe suivants :

```
dissocier
 lier "ESCAPE" "togglemenu"
 lier "ESPACE" "_moveup"
 lier "#" "_mlook"
 lier "+" "_impulse48"
 lier "0" "_impulse10"
 lier "^" "_impulse0"
 lier "a" "_moveleft"
 ;  boussole
 lier "c" "inventory_hotkey '#str_02397'"
 lier "d" "_movoveright"
 ;  longue-vue
 lier "g" "inventory_use '#str_02396'"
 ;  clés
 lier "k" "inventory_cycle_group '#str_02392'"
 ;  lanterne
 lier "l" "inventory_use '#str_02395'"
 lier "m" "inventory_cycle_maps"
 ;  crochets
 lier "p" "inventory_cycle_group '#str_02389'"
 ;  lisibles
 lier "r" "inventory_cycle_group '#str_02391'"
 lier "s" "_back"

```

Notez que certaines touches ont des noms spéciaux (SPACE, ENTER, ESCAPE) et que certains éléments sont référencés par leur modèle de chaîne pour le faire fonctionner avec l'internationalisation .

### Dénomination des fonctions destinées à la liaison

*Cela concerne les noms de fonctions que vous pourriez utiliser avec la commande "bind", par opposition aux sous-menus Paramètres/Contrôles.*

La dénomination des fonctions présente des aspects hérités, mais généralement :

* Un préfixe "\_" indique une fonction sans paramètre destinée à la liaison de touches, où :
	+ \_impulse *N* , où *N* va de 0 à 63, indique une touche destinée à déclencher un comportement une fois enfoncée ;
	+ \_bouton "X", où *X* va de 0 à 7, indique de manière confuse une touche destinée à être maintenue enfoncée (analogue à une touche Maj) ;
	+ presque toutes les fonctions \_impulse et \_button qui sont importantes ont un alias plus convivial, par exemple "\_frob".
	+ Certaines fonctions de type impulsion n'ont **que** des noms conviviaux, par exemple "\_moveLeft".
* D'autres fonctions mises en évidence dans cet article sans préfixe « \_ » peuvent également être principalement destinées à la liaison de touches, mais prennent un paramètre facultatif ou obligatoire.

## "Bind" Functions, Organized as in the 6 Settings/Controls Submenus

### Controls/Movement

#### À propos de "Free Look" ou "Mouse Look"

Dans les années 1990, les jeux de tir à la première personne comme Doom et Doom 2 utilisaient souvent la souris pour :

* regarder autour de vous horizontalement (d’un côté à l’autre) uniquement
* avancer et reculer

Parce que le joueur ne pouvait pas regarder vers le haut ou vers le bas avec la souris, Doom avait une fonction de « visée automatique » qui dirigeait les tirs du joueur vers des cibles tirables qui se trouvaient au-dessus, en dessous ou droit devant dans le champ de vision du joueur. Par la suite, la plupart des jeux (y compris Doom 3 et TDM) ont rendu la visée automatique inutile en passant au style « look libre », où :

* la souris contrôle également la recherche de haut en bas
* les mouvements vers l'avant et vers l'arrière sont contrôlés par une clé.

Pour rendre cela facultatif, il existe une Cvar :

* **in\_freelook**  : si défini sur **1** (valeur par défaut), freelook est activé. Si **0** , éteint.

Quel que soit le style, pendant la lecture, il existe une liaison de touches par défaut pour activer et désactiver la « recherche gratuite » :

```
lier "#" "_mlook"

```

Cette commande de liaison suppose un clavier allemand IANSI, où "#" se trouve sur une touche non décalée à l'extrême droite de P . La touche correspondante sur d'autres claviers (y compris américains) est souvent \ .

#### Liaisons par défaut supplémentaires liées au mouvement

Pour permettre - en maintenant enfoncée la touche ALT - les mouvements de la souris vers la gauche ou la droite pour provoquer un mouvement latéral au lieu de tourner :

```
lier "ALT" "_strafe"

```

Pour niveler la vue du joueur, c'est-à-dire sans regarder vers le haut ou vers le bas :

```
lier "END" "_center_view"  *ou*  "_impulse18"

```

#### CVars associés

* **in\_toggleRun**  : si défini sur **1** , le bouton d'exécution agit comme une bascule.
* **in\_alwaysRun**  : Si réglé à **1** , le joueur courra toujours... pas très utile dans un jeu furtif.

### Contrôles/Actions

#### Fonctions de liaison associées disponibles

* "\_impulse40" *Récupérer l'objet avec le grabber*

#### Cvars associées

* **tdm\_toggle\_crouch**  : si défini sur **1** , le bouton accroupi agit comme une bascule. (Remarque : "in\_toggleCrouch" de Doom 3 ne s'applique plus à TDM).

### Contrôles/Inventaire

#### À propos de Inventory\_cycle\_group

* **inventor\_cycle\_group** ***[category]***  : Utilisé pour parcourir un groupe spécifique d'éléments (par exemple des crochets ou des clés). Le nom fait référence au `spawnarg inv_category` .

* **Inventory\_cycle\_group Keys**  : Cela parcourra les clés disponibles dans l'inventaire (et les bouclera).

Remarque : À partir de la version 1.7, vous ne devez pas utiliser les noms anglais des catégories ou des articles d'inventaire, mais plutôt leur numéro de modèle de chaîne. Cela garantit que les raccourcis clavier fonctionnent quelle que soit la langue que vous sélectionnez dans le menu Paramètres.

Voir également les commandes/outils pour les informations d'inventaire\_hotkey, déployées pour ces éléments d'inventaire spécifiques : lanterne, boussole.

### Contrôles/Général

#### Liaisons par défaut supplémentaires

```
lier "ESCAPE" "togglemenu"
 bind "F5" "loadgame" // version non rapide

```

### Contrôles/Outils

#### Liaisons par défaut supplémentaires

```
lier "BACKSPACE" "inventory_hotkey"

```

#### À propos d'Inventory\_hotkey

*Cela vous permet de sélectionner un article dans l'inventaire, mais (contrairement à "inventory\_use") de ne pas l'utiliser immédiatement* .

* **inventor\_hotkey *[item]***  : Utilisé pour configurer les raccourcis clavier d'inventaire.
* **inventor\_hotkey**  : Utilisé seul, il renvoie la chaîne de raccourci clavier de l'élément actuellement sélectionné, s'il en existe une.

* **inventor\_hotkey someItem**  : Étant donné une chaîne de raccourci clavier, il sélectionne un élément correspondant.
* **Inventory\_hotkey ""**  : Le raccourci clavier de chaîne vide a une signification particulière ; il désélectionne les éléments d'inventaire.

Par exemple, avec la boussole sélectionnée, l' **inventaire\_hotkey** renverrait **"Compass"** . Ensuite, en tapant **inventor\_hotkey Compass,** vous sélectionnerez la boussole, si vous en avez une.
## Reliure de clé au-delà des bases

### Clés disponibles pour la liaison

Les touches de fonction F10 et F11 sont traditionnellement laissées non attribuées, pour que les joueurs et développeurs de Doom3 et TDM puissent les attribuer selon leurs besoins. Par exemple, supposons que vous souhaitiez lier F10 à une séquence de commandes de console, pour créer un dmap de votre FM particulier, puis l'exécuter. Dans la console, saisissez d'abord ceci, où <mapname> est remplacé par le nom réel :

```
bind F10 "clear; dmap <nom du dossier>; attendre; dossier <nom du dossier>"

```

Par la suite, une pression sur F10 effectuera cela.

Outre F10 et F11, d'autres bons choix de touches avec TDM sont présentés dans le tableau suivant.

### Clé dans Doom 3, liée à une fonction différente dans TDM

La clé "r" était "Reload" dans Doom 3, mais est "Drop Inventory Item" dans TDM (comme indiqué précédemment). La liaison de Doom 3 était :

```
lier "r" "_reload"

```

Ou de manière équivalente à "\_impulse13". Il y a du code de rechargement restant dans TDM.

### Noms de clés logiques

Les éléments suivants sont définis dans Keyinput.cpp (pour l'anglais ; recherchez également leurs codes #str\_... .) Tous ne sont pas réellement utilisables comme liaisons de touches (ou de boutons de périphérique). Toutes les lettres alphabétiques sont disponibles sous forme minuscule. (Étant donné que SHIFT a une signification distincte pendant le jeu, il ne peut pas être utilisé pour représenter les majuscules par opposition aux minuscules.)

```
TAB ENTRER ÉCHAPPER ESPACE RETOUR ARRIÈRE FLÈCHE VERS LE HAUT FLÈCHE DESCENDANTE FLÈCHE GAUCHE FLÈCHE DROITE
 ALT DROITEALT CTRL MAJ LWIN RWIN COMMANDE MENU CAPSLOCK DÉFILEMENT IMPRIMER ÉCRAN
 F1...F12
 INS DEL PGDN PGUP HOME FIN
 SOURIS1 ... SOURIS8 MWHEELUP MWHELLDOWN
 JOIE1 ... JOIE32
 AUX1...AUX16
 KP_HOME KP_UPARROW KP_PGUP KP_LEFTARROW KP_5 KP RIGHTARROW KP_END KP_DOWNARROW
 KP_PGDN KP_ENTER KP_INS KP_DEL KP_SLASH KP_MINUS KP_PLUS KP_NUMLOCK KP_STAR KP_EQUALS
 PAUSE
 APOSTROPHE POINT-CÔNE

```

### Fonctions \_Impulse disponibles pour les tests

* "\_impulse27" : bascule pour afficher les zones AAS et leurs numéros de cluster. Les couleurs sont aléatoires.
* "\_impulse25" : A titre de test uniquement, de la fonction de recherche de cachette relative au joueur.

### Basculer les Cvars

Outre les fonctions présentes dans les menus Paramètres/Contrôles, toute Cvar booléenne peut être utilement liée à une touche. Certaines Cvars basculent de manière inhérente, par exemple "noclip". D'autres nécessitent l'utilisation de la fonction « bascule ». La syntaxe est :

```
lier "  *clé*  " " basculer  *bool\_cvar\_name*  0 1 "

```

### Fonctions d'espace réservé

La plupart des noms de \_button et de nombreux \_impulse sont définis mais ne font vraiment rien (dans certains cas parce qu'ils sont des restes multijoueurs de Doom 3). Depuis TDM 2.10, ce ne sont *probablement* pas des opérations : \_impulse : 11-12 (\_weapon11&12), 13(\_reload), 16, 18(\_ready), 20-22, 25-29, 31-40, 42-43, 53-63 \_bouton : 0-4,6-7

### Liaisons par défaut de la manette de jeu

Dans DarkmodPadbinds.cfg :

```
délierPad
 bindPadButton MODIFIER PAD_L2
 bindPadButton APPUYEZ SUR PAD_A "_jump"
 bindPadButton APPUYEZ SUR PAD_B "_crouch"
 bindPadButton LONG_PRESS PAD_B "_mantle"
 bindPadButton APPUYEZ SUR PAD_X "_attack"
 bindPadButton APPUYEZ SUR PAD_Y "_inventory_use"
 bindPadButton LONG_PRESS PAD_Y "_inventory_grid"
 bindPadButton APPUYEZ SUR PAD_L1 "_lean_left"
 bindPadButton APPUYEZ SUR PAD_R1 "_lean_right"
 bindPadButton MOD_PRESS PAD_R1 "_parry"
 bindPadButton APPUYEZ SUR PAD_R2 "_frob"
 bindPadButton MOD_PRESS PAD_R2 "_attaque"
 bindPadButton APPUYEZ PAD_L3 "_speed"
 bindPadButton LONG_PRESS PAD_R3 "inventory_use '#str_02396'"
 bindPadButton MOD_LONG_PRESS PAD_R3 "inventory_use '#str_02395'"
 bindPadButton APPUYEZ SUR PAD_BACK "_objectives"
 bindPadButton LONG_PRESS PAD_BACK "sauvegarde rapide"
 bindPadButton APPUYEZ sur PAD_START "échapper"
 bindPadButton APPUYEZ SUR PAD_LEFT "inventory_cycle_group '#str_02392'"
 bindPadButton MOD_PRESS PAD_LEFT "_weapon1"
 bindPadButton MOD_LONG_PRESS PAD_LEFT "_weapon2"
 bindPadButton APPUYEZ SUR PAD_RIGHT "inventory_cycle_group '#str_02389'"
 bindPadButton MOD_PRESS PAD_RIGHT "_weapon3"
 bindPadButton MOD_LONG_PRESS PAD_RIGHT "_weapon4"
 bindPadButton APPUYEZ sur PAD_UP "_inventory_prev"
 bindPadButton LONG_PRESS PAD_UP "inventory_hotkey *"*
  bindPadButton MOD_PRESS PAD_UP "_weapon_next"
  bindPadButton MOD_LONG_PRESS PAD_UP "_weapon0"
  bindPadButton APPUYEZ PAD_DOWN "_inventory_next"
  bindPadButton LONG_PRESS PAD_DOWN "_inventory_drop"
  bindPadButton MOD_PRESS PAD_DOWN "_weapon_prev"

```