Lorsque vous essayez de lier une touche à une action dans les options du jeu, il vous ai peut-être déjà arrivé d'obtenir le message "Duplicate key found in Common Controls" sans pour autant que cette touche ne soit déjà utilisée.
Pour pouvoir utiliser n'importe quelle touche du clavier, suivez les instructions suivantes :
Le fichier de configuration des touches se trouve dans "Mes Documents", puis dans le répertoire \Battlefield 2\Profiles\0001.
- Ouvrez alors le fichier "Controls.con" avec un éditeur de fichier après en avoir fait une sauvegarde.
Vous trouverez alors ce genre de ligne :
ControlMap.addKeyToTriggerMapping c_GIToggleConsole IDFKeyboard IDKey_End 10000 1
Chacune d'entre elles correspond à l'attribution d'une touche à une action.
Le troisième "mot" de cette ligne correspond au périphérique utilisé (ici "IDFKeyboard" = Clavier).
Le quatrième "mot" correspond à la touche (ici "IDKey_End" = Touche Fin).
Le deuxième "mot" correspond à la touche (ici "c_GIToggleConsole" = Ouvrir la console).
Vous comprenez maintenant pourquoi le jeu dit que la touche Fin est déjà attribuée par défaut.
Deux solutions s'offrent alors à vous pour pouvoir utiliser cette touche dans le jeu :
1. Soit vous supprimez cette ligne, dans ce cas, vous ne pourrez plus ouvrir la console grâce à la touche Fin.
2. Soit vous changez la touche à la main, par exemple par la touche C (IDKey_C) :
Avant :
ControlMap.addKeyToTriggerMapping c_GIToggleConsole IDFKeyboard IDKey_End 10000 0
Après :
ControlMap.addKeyToTriggerMapping c_GIToggleConsole IDFKeyboard IDKey_C 10000 0
Sauvegardez le fichier, lancez le jeu et allez dans les options "Controls". Vous pouvez maintenant lier la touche Fin à n'importe quelle action.
Il est possible de la même manière d'utiliser toutes les touches du clavier.
Il est aussi possible d'attribuer deux touches différentes à une même action. Il suffit pour cela de remplacer le "0" en fin de ligne par un "1" :
Avant :
ControlMap.addKeyToTriggerMapping c_GIToggleConsole IDFKeyboard IDKey_C 10000 0
Après :
ControlMap.addKeyToTriggerMapping c_GIToggleConsole IDFKeyboard IDKey_C 10000 0
ControlMap.addKeyToTriggerMapping c_GIToggleConsole IDFKeyboard IDKey_D 10000 1
Dans cet exemple, la console s'ouvrira avec la touche 'C' ou 'D'.