aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Hahn <xavier.hahn@gmail.com>2019-11-03 17:02:44 +0100
committerJames Young <18669334+noroadsleft@users.noreply.github.com>2019-11-03 08:02:44 -0800
commitbed98091aa4e2b555e092760d49856e38f2c9657 (patch)
treea576d9f069b042cc1cf04efe4dfc74b953aa9873
parent1249da4e8eab0be8618a5ea6a718eb757684f244 (diff)
downloadqmk_firmware-bed98091aa4e2b555e092760d49856e38f2c9657.tar.gz
qmk_firmware-bed98091aa4e2b555e092760d49856e38f2c9657.zip
French translation - FAQ section (#6995)
* Translated faq.md and added all other files (copy from English) * Translated driver_installation_zadig.md in French * Translated faq_build.md in French * Translated faq_debug in French * Translateed faq_general.md in French * Translated first part of faq_keymap.md * Renamed docs/fr-FR folder to docs/fr-fr * Finished translation of faq_keymap.md * Update faq_build.md * Review (#3) * Review * Update docs/fr-fr/faq_keymap.md * Update docs/fr-fr/faq_debug.md * Fix some PR comments Co-Authored-By: Noan Mousy <4sstylz@protonmail.ch> Co-Authored-By: Wermeille Bastien <bastien.wermeille@gmail.com>
-rw-r--r--docs/fr-fr/ChangeLog/20190830.md (renamed from docs/fr-FR/ChangeLog/20190830.md)0
-rw-r--r--docs/fr-fr/README.md (renamed from docs/fr-FR/README.md)0
-rw-r--r--docs/fr-fr/_summary.md (renamed from docs/fr-FR/_summary.md)46
-rw-r--r--docs/fr-fr/breaking_changes.md (renamed from docs/fr-FR/breaking_changes.md)0
-rw-r--r--docs/fr-fr/cli.md (renamed from docs/fr-FR/cli.md)0
-rw-r--r--docs/fr-fr/cli_configuration.md (renamed from docs/fr-FR/cli_configuration.md)0
-rw-r--r--docs/fr-fr/contributing.md (renamed from docs/fr-FR/contributing.md)0
-rw-r--r--docs/fr-fr/driver_installation_zadig.md46
-rw-r--r--docs/fr-fr/faq.md6
-rw-r--r--docs/fr-fr/faq_build.md182
-rw-r--r--docs/fr-fr/faq_debug.md236
-rw-r--r--docs/fr-fr/faq_general.md16
-rw-r--r--docs/fr-fr/faq_keymap.md226
-rw-r--r--docs/fr-fr/flashing.md (renamed from docs/fr-FR/flashing.md)0
-rw-r--r--docs/fr-fr/getting_started_getting_help.md (renamed from docs/fr-FR/getting_started_getting_help.md)0
-rw-r--r--docs/fr-fr/getting_started_github.md (renamed from docs/fr-FR/getting_started_github.md)0
-rw-r--r--docs/fr-fr/getting_started_introduction.md (renamed from docs/fr-FR/getting_started_introduction.md)0
-rw-r--r--docs/fr-fr/newbs.md (renamed from docs/fr-FR/newbs.md)0
-rw-r--r--docs/fr-fr/newbs_best_practices.md (renamed from docs/fr-FR/newbs_best_practices.md)0
-rw-r--r--docs/fr-fr/newbs_building_firmware.md (renamed from docs/fr-FR/newbs_building_firmware.md)0
-rw-r--r--docs/fr-fr/newbs_building_firmware_configurator.md (renamed from docs/fr-FR/newbs_building_firmware_configurator.md)0
-rw-r--r--docs/fr-fr/newbs_flashing.md (renamed from docs/fr-FR/newbs_flashing.md)0
-rw-r--r--docs/fr-fr/newbs_getting_started.md (renamed from docs/fr-FR/newbs_getting_started.md)0
-rw-r--r--docs/fr-fr/newbs_learn_more_resources.md (renamed from docs/fr-FR/newbs_learn_more_resources.md)0
-rw-r--r--docs/fr-fr/newbs_testing_debugging.md (renamed from docs/fr-FR/newbs_testing_debugging.md)0
25 files changed, 735 insertions, 23 deletions
diff --git a/docs/fr-FR/ChangeLog/20190830.md b/docs/fr-fr/ChangeLog/20190830.md
index cb223be31..cb223be31 100644
--- a/docs/fr-FR/ChangeLog/20190830.md
+++ b/docs/fr-fr/ChangeLog/20190830.md
diff --git a/docs/fr-FR/README.md b/docs/fr-fr/README.md
index d3591554b..d3591554b 100644
--- a/docs/fr-FR/README.md
+++ b/docs/fr-fr/README.md
diff --git a/docs/fr-FR/_summary.md b/docs/fr-fr/_summary.md
index 16ae82d06..eef486176 100644
--- a/docs/fr-FR/_summary.md
+++ b/docs/fr-fr/_summary.md
@@ -1,32 +1,32 @@
1**En Français** 1**En Français**
2 2
3* [Guide pour débutant complet](fr-FR/newbs.md) 3* [Guide pour débutant complet](fr-fr/newbs.md)
4 * [Pour débuter](fr-FR/newbs_getting_started.md) 4 * [Pour débuter](fr-fr/newbs_getting_started.md)
5 * [Compiler son premier firmware](fr-FR/newbs_building_firmware.md) 5 * [Compiler son premier firmware](fr-fr/newbs_building_firmware.md)
6 * [Flasher le Firmware](fr-FR/newbs_flashing.md) 6 * [Flasher le Firmware](fr-fr/newbs_flashing.md)
7 * [Test et Débuggage](fr-FR/newbs_testing_debugging.md) 7 * [Test et Débuggage](fr-fr/newbs_testing_debugging.md)
8 * [Bonnes pratiques Git](fr-FR/newbs_best_practices.md) 8 * [Bonnes pratiques Git](fr-fr/newbs_best_practices.md)
9 * [Ressources d'apprentissage](fr-FR/newbs_learn_more_resources.md) 9 * [Ressources d'apprentissage](fr-fr/newbs_learn_more_resources.md)
10 10
11* [Les bases de QMK](fr-FR/README.md) 11* [Les bases de QMK](fr-fr/README.md)
12 * [Indroduction à QMK](fr-FR/getting_started_introduction.md) 12 * [Indroduction à QMK](fr-fr/getting_started_introduction.md)
13 * [QMK CLI](fr-FR/cli.md) 13 * [QMK CLI](fr-fr/cli.md)
14 * [Configuration de la CLI QMK](fr-FR/cli_configuration.md) 14 * [Configuration de la CLI QMK](fr-fr/cli_configuration.md)
15 * [Contribuer à QMK](fr-FR/contributing.md) 15 * [Contribuer à QMK](fr-fr/contributing.md)
16 * [Comment utiliser GitHub](fr-FR/getting_started_github.md) 16 * [Comment utiliser GitHub](fr-fr/getting_started_github.md)
17 * [Trouver de l'aide](fr-FR/getting_started_getting_help.md) 17 * [Trouver de l'aide](fr-fr/getting_started_getting_help.md)
18 18
19* [Breaking changes](fr-FR/breaking_changes.md) 19* [Breaking changes](fr-fr/breaking_changes.md)
20 * [30 août 2019](fr-FR/ChangeLog/20190830.md) 20 * [30 août 2019](fr-fr/ChangeLog/20190830.md)
21 21
22**En Anglais** 22* [FAQ](fr-fr/faq.md)
23 * [FAQ Générale](fr-fr/faq_general.md)
24 * [Compiler QMK](fr-fr/faq_build.md)
25 * [Débugguer / Dépanner QMK](fr-fr/faq_debug.md)
26 * [Keymap / Disposition](fr-fr/faq_keymap.md)
27 * [Installer les drivers avec Zadig](fr-fr/driver_installation_zadig.md)
23 28
24* [FAQ](faq.md) 29**En Anglais**
25 * [FAQ Générale](faq_general.md)
26 * [Compiler QMK](faq_build.md)
27 * [Débugguer / Dépanner QMK](faq_debug.md)
28 * [Keymap / Disposition](faq_keymap.md)
29 * [Installer les drivers avec Zadig](driver_installation_zadig.md)
30 30
31* Guides détaillés 31* Guides détaillés
32 * [Installation des outils de compilation](getting_started_build_tools.md) 32 * [Installation des outils de compilation](getting_started_build_tools.md)
diff --git a/docs/fr-FR/breaking_changes.md b/docs/fr-fr/breaking_changes.md
index 53bbb2212..53bbb2212 100644
--- a/docs/fr-FR/breaking_changes.md
+++ b/docs/fr-fr/breaking_changes.md
diff --git a/docs/fr-FR/cli.md b/docs/fr-fr/cli.md
index 428153645..428153645 100644
--- a/docs/fr-FR/cli.md
+++ b/docs/fr-fr/cli.md
diff --git a/docs/fr-FR/cli_configuration.md b/docs/fr-fr/cli_configuration.md
index 3eed1e0e9..3eed1e0e9 100644
--- a/docs/fr-FR/cli_configuration.md
+++ b/docs/fr-fr/cli_configuration.md
diff --git a/docs/fr-FR/contributing.md b/docs/fr-fr/contributing.md
index 0092d664e..0092d664e 100644
--- a/docs/fr-FR/contributing.md
+++ b/docs/fr-fr/contributing.md
diff --git a/docs/fr-fr/driver_installation_zadig.md b/docs/fr-fr/driver_installation_zadig.md
new file mode 100644
index 000000000..9e7d77b6d
--- /dev/null
+++ b/docs/fr-fr/driver_installation_zadig.md
@@ -0,0 +1,46 @@
1# Installation du driver du bootloader avec Zadig
2
3Vous n’aurez pas besoin de pilote particulier pour utiliser un clavier QMK. En effet, QMK se présente à l'ordinateur hôte comme un clavier HID standard et sera reconnu sans problème. Cependant vous aurez peut-être besoin d'un pilote pour flasher votre clavier avec Windows. En effet, quand vous redémarrerez votre clavier en mode bootloader, le périphérique que détectera Windows ne sera pas un clavier mais un périphérique bootloader.
4
5Il existe deux exceptions : le bootloader Caterina, qui se trouve en général sur les Pro Micros, et le bootloader Halfkay, livré avec les Teensy de PJRC. Ils apparaissent respectivement sous la forme d'un port série et d'un périphérique HID générique, ne nécessitant pas de pilote particulier.
6
7Nous vous recommandons d'utiliser l'utilitaire [Zadig](https://zadig.akeo.ie/). Si vous avez configuré votre environnement de développement avec Msys2 ou WSL, le script `qmk_install.sh` vous aura proposé l'installation des pilotes durant le processus.
8
9## Installation
10
11Passez votre clavier en mode bootloader, soit en appuyant sur le keycode `RESET` (qui peut se trouver dans un calque différent) ou en appuyant sur le bouton reset qui se trouve en général sous la board. Si votre clavier n'a aucune de ces options, essayez de le brancher en maintenant Escape ou Espace+`B` appuyés (voir la documentation de [Bootmagic](feature_bootmagic.md) pour plus de détails). Certaines boards utilisent [Command](feature_command.md) à la place de Bootmagic. Dans ce cas, vous pouvez entrer en mode bootloader en appuyant, à n'importe quel moment lorsque le clavier est branché, sur les combinaisons de touches Shift Gauche+Shift Droit+`B` ou Shift Gauche+Shift Droit+Escape.
12Certains claviers ont des instructions spécifiques pour passer en mode bootloader. Par exemple, la touche [Bootmagic Lite]](feature_bootmagic.md#bootmagic-lite) (défaut : Échap) peut être sur une touche différente telle que Contrôle Gauche. La combinaison pour la Command (défaut : Shift Gauche+Shift Droit) peut être différente, par exemple Contrôle Gauche+Contrôle Droit. Référez-vous au fichier README de votre clavier.
13
14Pour mettre un clavier en mode bootloader avec USBaspLoader, appuyez sur le bouton `RESET` tout en maintenant le bouton `BOOT`. Vous pouvez aussi maintenir le bouton `BOOT` en branchant le câble USB.
15
16Zadig détectera automatiquement les périphériques en mode bootloader. Il se peut toutefois que vous deviez vérifier en passant par **Options → List All Devices**.
17
18
19 - Pour les claviers avec des MCUs Atmel AVR, le bootloader aura un nom similaire à `ATm32U4DFU`, et un Vendor ID `03EB`.
20 - Les bootloaders USBasp s'appelleront `USBasp`, avec un VID/PID `16C0:05DC`.
21 - Les claviers AVR flashé avec le bootloader QMK-DFU s'appelleront `<nom du clavier> Bootloader` et auront aussi le VID `03EB`.
22 - Pour la plupart des claviers ARM, ils s'appelleront `STM32 BOOTLOADER`, et auront un VID/PID `0483:DF11`.
23
24!> Si Zadig affiche certains de vos périphériques avec le driver `HidUsb`, votre clavier n'est probablement pas en mode bootloader. La flèche aura une couleur orange et vous aurez un message de confirmation vous demandant de modifier un pilote système. **Ne continuez pas!**
25
26Si la flèche apparaît en vert, sélectionnez le driver et appuyez sur le bouton **Install Driver**. Le driver `libusb-win32` devrait normalement fonctionner pour AVR, et `WinUSB` pour ARM. Si vous avez des problèmes pour flasher la board, essayez d'installer un pilote différent de la liste. Pour flasher un périphérique USBaspLoader en ligne de commande avec msys2, le driver `libusbk` est recommandé, sinon `libusb-win32` devrait fonctionner correctement si vous utilisez QMK Toolbox pour flasher.
27
28![Zadig montrant un driver de bootloader installé correctement](https://i.imgur.com/b8VgXzx.png)
29
30Finalement, débranchez et rebranchez le clavier afin de vous assurer que le nouveau pilote a bien été chargé. Si vous utilisez QMK Toolbox pour flasher, redémarrez-le aussi, il arrive qu'il n'arrive pas à détecter le changement de driver.
31
32## Récupérer l'installation du mauvais périphérique
33
34Si vous n'arrivez plus à saisir de texte avec le clavier, il est possible que vous ayez installé le driver sur le clavier au lieu du bootloader. Vous pouvez facilement vérifier ceci dans Zadig. Un clavier fonctionnel a le pilote `HidUsb` installé sur toutes ses interfaces :
35
36![Un clavier fonctionnel vu par Zadig](https://i.imgur.com/Hx0E5kC.png)
37
38Ouvrez le Gestionnaire de périphériques et cherchez un périphérique qui ressemble à votre clavier.
39
40![La board avec le mauvais driver installé, dans le Gestionnaire de périphériques](https://i.imgur.com/L3wvX8f.png)
41
42Cliquez dessus avec le bouton droit et sélectionner **Désinstaller le périphérique**. Faites bien attention à sélectionner **Supprimer le pilote pour ce périphérique** avant de valider.
43
44![Le dialogue Suppression de périphérique, avec la boîte "suppression de pilote" cochée](https://i.imgur.com/aEs2RuA.png)
45
46Appuyez sur **Action → Analyser les changements de hardware**. A ce stade, vous devriez pouvoir saisir à nouveau. Vérifiez dans Zadig que les périphériques utilisent bien le pilote `HidUsb`. Si c'est le cas, vous avez corrigé le problème, votre clavier devrait fonctionner à nouveau !
diff --git a/docs/fr-fr/faq.md b/docs/fr-fr/faq.md
new file mode 100644
index 000000000..89576b3cc
--- /dev/null
+++ b/docs/fr-fr/faq.md
@@ -0,0 +1,6 @@
1# Foire Aux Questions
2
3* [FAQ Générale](faq_general.md)
4* [Construire ou Compiler QMK](faq_build.md)
5* [Débuguer et Dépanner QMK](faq_debug.md)
6* [Keymap (disposition)](faq_keymap.md)
diff --git a/docs/fr-fr/faq_build.md b/docs/fr-fr/faq_build.md
new file mode 100644
index 000000000..774bf6880
--- /dev/null
+++ b/docs/fr-fr/faq_build.md
@@ -0,0 +1,182 @@
1# Foire aux questions sur la compilation
2
3Cette page couvre les questions concernant la compilation de QMK. Si vous ne l'avez pas encore fait, vous devriez lire les guides [Configuration de l'environnement de build](getting_started_build_tools.md) et [Instructions pour Make](getting_started_make_guide.md).
4
5## Je ne peux pas programmer sous Linux
6
7Vous aurez besoin des permissions appropriées pour utiliser un périphérique. Pour les utilisateurs de Linux, référez-vous aux instructions concernant les règles `udev` ci-dessous. Si `udev` vous pose des problèmes, une alternative est d'utiliser la commande `sudo`. Si vous ne connaissez pas cette commande, référez-vous à son manuel d'utilisation en utilisant `man sudo` ou [regardez cette page](https://linux.die.net/man/8/sudo).
8
9Un exemple utilisant `sudo`, lorsque votre contrôleur est un ATMega32u4 :
10
11 $ sudo dfu-programmer atmega32u4 erase --force
12 $ sudo dfu-programmer atmega32u4 flash your.hex
13 $ sudo dfu-programmer atmega32u4 reset
14
15ou simplement :
16
17 $ sudo make <keyboard>:<keymap>:dfu
18
19Veuillez noter que lancer `make` avec `sudo` est généralement une **mauvaise** idée, et vous devriez préférer une des méthodes précédente, si possible.
20
21### Règles `udev` pour Linux
22
23Sous Linux, vous aurez besoin des permissions appropriées pour accéder au MCU (le micro-contrôleur). Vous avez le choix d'utiliser `sudo` en flashant le firmware, ou placer ces fichiers dans `/etc/udev/rules.d`. Une fois ajouté, lancez les commandes suivantes :
24
25```console
26sudo udevadm control --reload-rules
27sudo udevadm trigger
28```
29
30**/etc/udev/rules.d/50-atmel-dfu.rules:**
31```
32# Atmel ATMega32U4
33SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff4", MODE:="0666"
34# Atmel USBKEY AT90USB1287
35SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffb", MODE:="0666"
36# Atmel ATMega32U2
37SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", MODE:="0666"
38```
39
40**/etc/udev/rules.d/52-tmk-keyboard.rules:**
41```
42# tmk keyboard products https://github.com/tmk/tmk_keyboard
43SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666"
44```
45
46**/etc/udev/rules.d/54-input-club-keyboard.rules:**
47
48```
49# Input Club keyboard bootloader
50SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", MODE:="0666"
51```
52
53**/etc/udev/rules.d/55-catalina.rules:**
54```
55# ModemManager should ignore the following devices
56ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"
57ATTRS{idVendor}=="2341", ENV{ID_MM_DEVICE_IGNORE}="1"
58```
59
60**Note:** Le filtrage utilisant ModemManager fonctionnera uniquement si vous n'êtes pas en mode strict. Les commandes suivantes peuvent changer cette option :
61
62```console
63sudo sed -i 's/--filter-policy=strict/--filter-policy=default/' /lib/systemd/system/ModemManager.service
64sudo systemctl daemon-reload
65sudo systemctl restart ModemManager
66```
67
68**/etc/udev/rules.d/56-dfu-util.rules:**
69
70```
71# stm32duino
72SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", MODE:="0666"
73# Generic stm32
74SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE:="0666"
75```
76
77### Le périphérique sériel n'est pas détecté en mode bootloader sous Linux
78
79Assurez-vous que votre kernel ait un support approprié pour votre périphérique. Si votre périphérique utilise USB ACM, par exemple pour les Pro Micro (AtMega32u4), assurez-vous d'inclure `CONFIG_USB_ACM=y`. D'autres périphériques peuvent avoir besoin de `USB_SERIAL` et de ses sous-options.
80
81## Périphérique inconnu pour le bootloader DFU
82
83Les problèmes rencontrés lorsque l'on flash des claviers sous Windows sont, la plupart du temps, dus à une installation du mauvais pilote, ou un pilote manquant.
84
85Relancer le script d'installation de QMK (`./util/qmk_install.sh` situé dans répertoire `qmk_firmware`sous MSYS2 ou WSL) ou réinstaller la QMK Toolbox peut résoudre le problème. Une alternative est de télécharger et lancer manuellement le package [`qmk_driver_installer`](https://github.com/qmk/qmk_driver_installer).
86
87Si vous rencontrez toujours des problèmes, essayez de télécharger et lancer Zadig. Voir [Installation du driver du bootloader avec Zadig](driver_installation_zadig.md) pour plus d'informations.
88
89## WINAVR est obsolète
90
91Il n'est plus recommandé et peut causer des problèmes. Voir [TMK Issue #99](https://github.com/tmk/tmk_keyboard/issues/99).
92
93## USB VID et PID
94
95Vous pouvez utiliser l'ID de votre choix en modifier `config.h`. Il y a peu de chance de conflit avec d'autres produits.
96
97La plupart des boards QMK utilisent `0xFEED` comme vendor ID. Vérifiez les autres claviers pour être sûr de choisir un Product ID unique.
98
99Étudiez aussi ce ticket
100https://github.com/tmk/tmk_keyboard/issues/150
101
102Vous pouvez acheter un VID:PID unique ici. Je ne pense pas que ce soit nécessaire pour un usage personnel.
103- http://www.obdev.at/products/vusb/license.html
104- http://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=92&option=com_phpshop&Itemid=1
105
106## Cortex: `cstddef: No such file or directory`
107
108Ce problème existait avec le GCC 4.8 d'Ubuntu 14.04, la solution a nécessité de mettre à jour vers 4.9 avec ce PPA.
109https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded
110
111https://github.com/tmk/tmk_keyboard/issues/212
112https://github.com/tmk/tmk_keyboard/wiki/mbed-cortex-porting#compile-error-cstddef
113https://developer.mbed.org/forum/mbed/topic/5205/
114
115## `clock_prescale_set` and `clock_div_1` Not Available
116
117Votre chaîne d'outils (Toolchain) est trop vieille pour supporter le MCU. Par exemple, WinAVR 20100110 ne supporte pas ATMega32u2.
118
119```
120Compiling C: ../../tmk_core/protocol/lufa/lufa.c
121avr-gcc -c -mmcu=atmega32u2 -gdwarf-2 -DF_CPU=16000000UL -DINTERRUPT_CONTROL_ENDPOINT -DBOOTLOADER_SIZE=4096 -DF_USB=16000000UL -DARCH=ARCH_AVR8 -DUSB_DEVICE_ONLY -DUSE_FLASH_DESCRIPTORS -DUSE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" -DFIXED_CONTROL_ENDPOINT_SIZE=8 -DFIXED_NUM_CONFIGURATIONS=1 -DPROTOCOL_LUFA -DEXTRAKEY_ENABLE -DCONSOLE_ENABLE -DCOMMAND_ENABLE -DVERSION=unknown -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fdata-sections -fno-inline-small-functions -fpack-struct -fshort-enums -fno-strict-aliasing -Wall -Wstrict-prototypes -Wa,-adhlns=obj_alps64/protocol/lufa/lufa.lst -I. -I../../tmk_core -I../../tmk_core/protocol/lufa -I../../tmk_core/protocol/lufa/LUFA-git -I../../tmk_core/common -std=gnu99 -include config.h -MMD -MP -MF .dep/obj_alps64_protocol_lufa_lufa.o.d ../../tmk_core/protocol/lufa/lufa.c -o obj_alps64/protocol/lufa/lufa.o
122../../tmk_core/protocol/lufa/lufa.c: In function 'setup_mcu':
123../../tmk_core/protocol/lufa/lufa.c:575: warning: implicit declaration of function 'clock_prescale_set'
124../../tmk_core/protocol/lufa/lufa.c:575: error: 'clock_div_1' undeclared (first use in this function)
125../../tmk_core/protocol/lufa/lufa.c:575: error: (Each undeclared identifier is reported only once
126../../tmk_core/protocol/lufa/lufa.c:575: error: for each function it appears in.)
127make: *** [obj_alps64/protocol/lufa/lufa.o] Error 1
128```
129
130## BOOTLOADER_SIZE pour AVR
131
132Notez que la taille du bootloader pour les Teensy2.0++ est de 2048bytes. Quelques Makefiles peuvent contenir une erreur et avoir le mauvais commentaire.
133
134```
135# Boot Section Size in *bytes*
136# Teensy halfKay 512
137# Teensy++ halfKay 2048
138# Atmel DFU loader 4096 (TMK Alt Controller)
139# LUFA bootloader 4096
140# USBaspLoader 2048
141OPT_DEFS += -DBOOTLOADER_SIZE=2048
142```
143
144## `avr-gcc: internal compiler error: Abort trap: 6 (program cc1)` sous MacOS
145
146C'est un problème de mise à jour avec brew, causée par des liens symboliques (symlinks) dont dépend avr-gcc qui sont détruits.
147
148La solution est de supprimer et réinstaller tous les modules affectés.
149
150```
151brew rm avr-gcc
152brew rm dfu-programmer
153brew rm dfu-util
154brew rm gcc-arm-none-eabi
155brew rm avrdude
156brew install avr-gcc
157brew install dfu-programmer
158brew install dfu-util
159brew install gcc-arm-none-eabi
160brew install avrdude
161```
162
163### avr-gcc 8.1 et LUFA
164
165Si vous avez mis à jour votre avr-gcc au-dessus de la version 7, vous risquez de voir des erreurs impliquant LUA. Par exemple :
166
167`lib/lufa/LUFA/Drivers/USB/Class/Device/AudioClassDevice.h:380:5: error: 'const' attribute on function returning 'void'`
168
169Pour le moment, vous devrez revenir à la version 7 de avr-gcc dans brew.
170
171```
172brew uninstall --force avr-gcc
173brew install avr-gcc@8
174brew link --force avr-gcc@8
175```
176
177### Je viens de flasher mon clavier et il ne fait rien/l'appui des touches n'est pas enregistré - c'est aussi un ARM(rev6 plank, clueboard 60, hs60v2, etc.) (Février 2019)
178
179A cause de la manière dont les EEPROM fonctionnent sur les puces ARM, les options sauvegardées peuvent ne plus être valides. Ceci affecte les calques par défaut et *peut*, sous certaines conditions que nous essayons encore de déterminer, rendre le clavier inutilisable. Réinitialiser l'EEPROM corrigera le problème.
180
181[Réinitialiser EEPROM sur Planck rev6](https://cdn.discordapp.com/attachments/473506116718952450/539284620861243409/planck_rev6_default.bin) peut être utilisé pour forcer une réinitialisation d'EEPROM. Une fois cette image flashée, flashez à nouveau votre firmware standard. Cela devrait rétablir le fonctionnement de votre clavier.
182Si bootmagic est activé dans n'importe quel forme, vous devriez être capable de faire aussi ceci (regardez [Documentation Bootmagic](feature_bootmagic.md) et les informations spécifiques à votre clavier).
diff --git a/docs/fr-fr/faq_debug.md b/docs/fr-fr/faq_debug.md
new file mode 100644
index 000000000..7a85fd1f2
--- /dev/null
+++ b/docs/fr-fr/faq_debug.md
@@ -0,0 +1,236 @@
1# FAQ Débugage
2
3Cette page détaille diverses questions fréquemment posées par les utilisateurs sur le dépannage de leurs claviers.
4
5# Console de débugage
6
7## `hid_listen` ne reconnaît pas de périphérique
8
9Lorsque la console de débugage sur votre périphérique n'est pas prêt, vous obtiendrez un message similaire :
10
11```
12Waiting for device:.........
13```
14
15Une fois le périphérique connecté, *hid_listen* le trouve et vous obtiendrez ce message :
16
17```
18Waiting for new device:.........................
19Listening:
20```
21
22Si vous ne recevez pas ce message `Listening:`, essayez de compiler avec `CONSOLE_ENABLE=yes` dans le [Makefile]
23
24Il se peut que vous ayez besoin de certains privilèges avancés pour accéder à des périphériques sur des OS comme Linux.
25
26- Essayez `sudo hid_listen`
27
28## Ne reçoit pas de messages sur la console
29
30Vérifiez :
31
32- *hid_listen* trouve votre périphérique. Voir ci-dessus.
33- Activez le débugage en appuyant sur **Magic**+d. Voir [Commandes Magic](https://github.com/tmk/tmk_keyboard#magic-commands).
34- Définissez `debug_enable=true` en général dans `matrix_init()` du fichier **matrix.c**.
35- Essayez d'utiliser la fonction `print` à la place du debug print. Voir **common/print.h**.
36- Déconnectez tous les autres périphériques qui utilisent la fonction console. Voir [Issue #97](https://github.com/tmk/tmk_keyboard/issues/97).
37
38## Linux ou les systèmes UNIX nécessitent des privilèges super utilisateur
39
40Utilisez `sudo` pour exécuter *hid_listen* avec des privilèges étendus.
41
42```
43$ sudo hid_listen
44```
45
46Ou ajoutez une *udev rule* pour les périphériques TMK en plaçant un fichier dans le répertoire rules. Le chemin vers ce répertoire peut varier en fonction du système.
47
48Fichier: /etc/udev/rules.d/52-tmk-keyboard.rules(sous Ubuntu)
49```
50# tmk keyboard products https://github.com/tmk/tmk_keyboard
51SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666"
52```
53
54***
55
56# Divers
57
58## Considérations de sécurité
59
60Vous ne voulez probablement pas "briquer" votre clavier, rendre impossible d'écrire un firmware dessus. Il y a quelques paramètres qui montrent ce qui est (et n'est probablement pas) trop risqué.
61
62- Si votre map de clavier n'inclut pas de RESET, pour entrer en mode DFU, vous devrez appuyer sur le bouton reset du PCB. Cela implique que vous devrez certainement dévisser certaines pièces de votre clavier pour y accéder.
63- Modifier les fichiers tmk_core / common peut rendre le clavier inutilisable
64- Si un fichier .hex trop large est la cause du problème : `make dfu` supprime le bloc puis teste la taille (il ne fait pas les choses dans le bon ordre), ce qui provoque une erreur. En résultat, le flash n’aura pas été fait et le clavier restera en mode DFU.
65- Pour finir, notez que la taille maximale d'un fichier .hex sur un Plank est de 7000h (28672 decimal)
66
67```
68Linking: .build/planck_rev4_cbbrowne.elf [OK]
69Creating load file for Flash: .build/planck_rev4_cbbrowne.hex [OK]
70
71Size after:
72 text data bss dec hex filename
73 0 22396 0 22396 577c planck_rev4_cbbrowne.hex
74```
75
76- La taille du fichier ci-dessus est de 22396/577ch, ce qui est en dessous de 28672/7000h
77- Tant que vous avez un fichier .hex alternatif correct, vous pouvez réessayer en le chargeant
78- Certaines options que vous pouvez spécifier dans votre Makefile consomme de la mémoire supplémentaire. Faites attention aux options BOOTMAGIC_ENABLE, MOUSEKEY_ENABLE, EXTRAKEY_ENABLE, CONSOLE_ENABLE, API_SYSEX_ENABLE.
79- Les outils DFU **ne** vous permettent **pas** d'écrire dans le bootloader (à moins que vous n'ajoutiez des options spéciales), il n'y a donc peu de risque.
80- Les EEPROM ont environ 100000 cycles d'écriture. Ne réécrivez pas le firmware de manière continue et répétée. Vous allez détruire définitivement l'EEPROM.
81
82## NKRO ne fonctionne pas
83
84Premièrement, vous devez compiler le firmware avec l'option de compilation `NKRO_ENABLE` dans le **Makefile**.
85
86Essayez la commande `Magic` **N** (`LShift+RShift+N` par défaut) si **NKRO** ne fonctionne toujours pas. Vous pouvez utiliser cette commande pour basculer temporairement entre le mode **NKRO** et **6KRO**. Sous certaines conditions, **NKRO** ne fonctionnera pas et vous devrez basculer en **6KRO**, en particulier lorsque vous êtes dans le BIOS.
87
88Si votre firmware est compilé avec `BOOTMAGIC_ENABLE` vous devrez l'activer avec la commande `BootMagic` **N** (`Espace+N` par défaut). Cette option est enregistrée dans l'EEPROM et sera gardé entre deux cycles de démarrage.
89
90https://github.com/tmk/tmk_keyboard#boot-magic-configuration---virtual-dip-switch
91
92## Le TrackPoint a besoin Circuit de réinitialisation (Support de souris PS/2)
93
94Sans circuit de réinitialisation vous allez avoir des résultats inconsistants à cause de la mauvaise initialisation du matériel. Regardez le schéma du circuit du TPM754.
95
96- http://geekhack.org/index.php?topic=50176.msg1127447#msg1127447
97- http://www.mikrocontroller.net/attachment/52583/tpm754.pdf
98
99## Impossible de lire la colonne de la matrice après 16
100
101Utilisez `1UL<<16` à la place de `1<<16` dans `read_cols()` du fichier [matrix.h] lorsque le nombre de vos colonnes dépassent 16.
102
103En C, `1` implique un type [int] qui est [16 bits] pour les AVR, ce qui implique que vous ne pouvez pas décaler à gauche de plus de 15. Si vous utilisez `1<<16`, vous aurez un résultat non attendu de zéro. Vous devez donc utiliser un type [unsigned long] en utilisant `1UL`.
104
105http://deskthority.net/workshop-f7/rebuilding-and-redesigning-a-classic-thinkpad-keyboard-t6181-60.html#p146279
106
107## Bootloader Jump ne fonctionne pas
108
109Configurez correctement la taille du bootloader dans le **Makefile**. Une mauvaise taille de section du bootloader empêchera probablement le démarrage avec **Magic command** et **Boot Magic**.
110
111```
112# Size of Bootloaders in bytes:
113# Atmel DFU loader(ATmega32U4) 4096
114# Atmel DFU loader(AT90USB128) 8192
115# LUFA bootloader(ATmega32U4) 4096
116# Arduino Caterina(ATmega32U4) 4096
117# USBaspLoader(ATmega***) 2048
118# Teensy halfKay(ATmega32U4) 512
119# Teensy++ halfKay(AT90USB128) 2048
120OPT_DEFS += -DBOOTLOADER_SIZE=4096
121```
122
123La taille de la section de démarrage de AVR est définie par l'option **BOOTSZ** fuse. Vérifiez la fiche technique du MCU. Veuilez noter que les tailles et adresses sont définies en **Word** (2 octets) dans la fiche technique alors que TMK utilise des **Byte**.
124
125La section de boot AVR se trouve à la fin de la mémoire flash, comme suit.
126
127```
128byte Atmel/LUFA(ATMega32u4) byte Atmel(AT90SUB1286)
1290x0000 +---------------+ 0x00000 +---------------+
130 | | | |
131 | | | |
132 | Application | | Application |
133 | | | |
134 = = = =
135 | | 32KB-4KB | | 128KB-8KB
1360x6000 +---------------+ 0x1E000 +---------------+
137 | Bootloader | 4KB | Bootloader | 8KB
1380x7FFF +---------------+ 0x1FFFF +---------------+
139
140
141byte Teensy(ATMega32u4) byte Teensy++(AT90SUB1286)
1420x0000 +---------------+ 0x00000 +---------------+
143 | | | |
144 | | | |
145 | Application | | Application |
146 | | | |
147 = = = =
148 | | 32KB-512B | | 128KB-2KB
1490x7E00 +---------------+ 0x1FC00 +---------------+
150 | Bootloader | 512B | Bootloader | 2KB
1510x7FFF +---------------+ 0x1FFFF +---------------+
152```
153
154Référez-vous à cette discussion pour plus de référence.
155https://github.com/tmk/tmk_keyboard/issues/179
156
157Si vous utilisez un TeensyUSB, il y a un [bug connu](https://github.com/qmk/qmk_firmware/issues/164) qui fait que le bouton reset matériel empêche la touche RESET de fonctionner. Débrancher et rebrancher le clavier devrait résoudre le problème.
158
159## Les touches spéciales ne fonctionnent pas (Touche Système, Touches de contrôle du son)
160
161Vous devez définir `EXTRAKEY_ENABLE` dans le fichier `rules.mk` pour les utiliser dans QMK.
162
163```
164EXTRAKEY_ENABLE = yes # Audio control and System control
165```
166
167## Réveiller du mode veille ne fonctionne pas
168
169Sous Windows, activez l'option `Permettre au périphérique de sortir l'ordinateur de veille` dans les paramètres des **Options d'alimentations** du **Gestionnaire de périphériques**. Vérifiez aussi les paramètres du BIOS.
170
171Appuyer sur n'importe quelle touche en mode veille devrait sortir l'ordinateur de veille.
172
173## Vous utilisez un Arduino ?
174
175**Faites attention au fait que le nommage des pin d'un Arduino diffère de la puce**. Par exemple, la pin `D0` n'est pas `PD0`. Vérifiez le circuit avec la fiche technique.
176
177- http://arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf
178- http://arduino.cc/en/uploads/Main/arduino-micro-schematic.pdf
179
180Les Arduino Leonardo et micro ont des **ATMega32U4** et peuvent être utilisés avec TMK, mais le bootloader Arduino peut causer des problèmes.
181
182## Activer JTAG
183
184Par défaut, le débugage des interfaces JTAG est désactivé dès que le clavier démarre. Les MCUs compatible JTAG viennent d'usine avec le fusible `JTAGEN` activé, et il prend certaines pins du MCU que la board pourrait utiliser pour la matrice, les LEDs, etc.
185
186Si vous voulez garder JTAG activé, ajoutez la ligne suivante à votre fichier `config.h` :
187
188```c
189#define NO_JTAG_DISABLE
190```
191
192## Adding LED Indicators of Lock Keys
193
194Si vous souhaitez votre propre indicateur LED pour CapsLock, ScrollLock et NumLock alors lisez ce post.
195
196http://deskthority.net/workshop-f7/tmk-keyboard-firmware-collection-t4478-120.html#p191560
197
198## Programmer Arduino Micro/Leonardo
199
200Appuyez sur le bouton reset puis lancez la commande suivante dans les 8 secondes.
201
202```
203avrdude -patmega32u4 -cavr109 -b57600 -Uflash:w:adb_usb.hex -P/dev/ttyACM0
204```
205
206Le nom du périphérique peut varier en fonction de votre système.
207
208http://arduino.cc/en/Main/ArduinoBoardMicro
209https://geekhack.org/index.php?topic=14290.msg1563867#msg1563867
210
211## Compatibilité USB 3
212
213Il semble que certaines personnes ont eu des problèmes avec les ports USB 3, essayez un port USB 2.
214
215## Compatibilité Mac
216
217### OS X 10.11 et Hub
218
219https://geekhack.org/index.php?topic=14290.msg1884034#msg1884034
220
221## Problème sur BIOS (UEFI) / Resume (Mise en veille et réveil) / Redémarrage
222
223Certaines personnes ont eu des problèmes de fonctionnement de leur clavier dans le BIOS et/ou après des redémarrages.
224
225Pour le moment, l'origine du problème n'est pas comprise, mais certaines options de compilation semble liées. Dans le Makefile, essayez de désactiver les options comme `CONSOLE_ENABLE`, `NKRO_ENABLE`, `SLEEP_LED_ENABLE` et/ou d'autres.
226
227https://github.com/tmk/tmk_keyboard/issues/266
228https://geekhack.org/index.php?topic=41989.msg1967778#msg1967778
229
230## FLIP ne marche pas
231
232### `AtLibUsbDfu.dll` Not Found
233
234Supprimez le pilote actuel et réinstallez celui donné par FLIP dans le gestionnaire de périphériques.
235
236http://imgur.com/a/bnwzy
diff --git a/docs/fr-fr/faq_general.md b/docs/fr-fr/faq_general.md
new file mode 100644
index 000000000..b1eae6df1
--- /dev/null
+++ b/docs/fr-fr/faq_general.md
@@ -0,0 +1,16 @@
1# Questions fréquemment posées
2
3## Qu'est-ce que QMK ?
4
5[QMK](https://github.com/qmk), acronyme pour Quantum Mechanical Keyboard, est un groupe de personnes qui construisent des outils pour des claviers personnalisés. Nous avons commencé par le [firmware QMK](https://github.com/qmk/qmk_firmware), un fork très modifié du firmware [TMK](https://github.com/tmk/tmk_keyboard).
6
7## Quelles sont les différences entre QMK et TMK ?
8
9TMK a été conçu et développé à l'origine par [Jun Wako](https://github.com/tmk). QMK a démarré comme étant le fork de [Jack Humbert](https://github.com/jackhumbert) pour le Planck. Au bout d'un moment, le fork de Jack a divergé de manière significative de TMK et, en 2015, Jack a décidé de le renommer QMK.
10
11D'un point de vue technique, QMK se base sur TMK en lui ajoutant plusieurs nouvelles fonctionnalités.
12QMK a notamment augmenté le nombre de keycodes disponibles et les a utilisé pour implémenter des fonctionnalités avancées telles que `S()`, `LCTL()` et `MO()`. Vous pouvez voir une liste complète de ces keycodes dans [Keycodes] (keycodes.md).
13
14D'un point de vue management de projet et communauté, Hasu, sur TMK maintient tous les claviers supportés officiellement par lui-même, avec un peu de support de la communauté. Il existe ou peuvent être créées d'autres communautés maintenant des fork pour d'autres claviers. Peu de keymaps sont définies par défaut, les utilisateurs ne se partagent donc pas leurs keymaps en général. QMK encourage le partage des claviers et des keymaps à l'aide d'un dépôt géré de manière centrale, acceptant les pull requests qui suivent les standards de qualité. Ceux-ci sont surtout maitenus par la communauté, mais l'équipe de QMK aide aussi lorsque c'est nécessaire.
15
16Les deux approches ont leurs avantages et leurs inconvénients, et le développements de fonctionnalités intéressantes sont partagées entre TMK et QMK lorsque fait sens.
diff --git a/docs/fr-fr/faq_keymap.md b/docs/fr-fr/faq_keymap.md
new file mode 100644
index 000000000..8244d4225
--- /dev/null
+++ b/docs/fr-fr/faq_keymap.md
@@ -0,0 +1,226 @@
1# FAQ Keymap
2
3Cette page couvre les questions souvent posées à propos des keymaps. Si vous ne l'avez pas encore fait, vous devriez commencer par là [Aperçu des Keymap](keymap.md).
4
5## Quels Keycodes puis-je utiliser ?
6
7Regardez [Keycodes](keycodes.md) pour une liste des keycodes disponibles. Certains keycodes spécifiques ont des documentations plus complètes de disponible.
8
9Les keycodes sont définies dans [common/keycode.h](https://github.com/qmk/qmk_firmware/blob/master/tmk_core/common/keycode.h).
10
11## Quels sont les keycodes par défaut ?
12
13Il existe 3 configurations de clavier standard utilisées dans le monde: ANSI, ISO et JIS. L'Amérique du Nord utilise principalement l'ANSI, l'Europe et l'Afrique l'ISO et le Japon utilise JIS. Les autres régions utilisent généralement ANSI ou ISO. Les keycodes correspondant à ces dispositions spécifiques sont affichés ici :
14
15<!-- Source for this image: http://www.keyboard-layout-editor.com/#/gists/bf431647d1001cff5eff20ae55621e9a -->
16![Keyboard Layout Image](https://i.imgur.com/5wsh5wM.png)
17
18## Certaines de mes touches sont permutées ou ne fonctionnent pas
19
20QMK possède deux fonctionnalités, Bootmagic et Command, qui vous permettent de modifier le comportement de votre clavier à la volée. Cela inclut, sans toutefois s'y limiter, l'échange de Ctrl / Majuscules, la désactivation de l'interface graphique, le basculement de Alt/Gui, le basculement de barre d'espacement arrière/barre oblique inversée, la désactivation de toutes les touches et d'autres modifications comportementales.
21
22Pour résoudre rapidement le problème, essayez de maintenir les touches Espace + Retour arrière enfoncées pendant que vous branchez votre clavier. Cela réinitialisera les paramètres stockés sur votre clavier, ramenant ces touches à un fonctionnement normal. Si cela ne fonctionne pas, regardez ici:
23
24* [Bootmagic](feature_bootmagic.md)
25* [Command](feature_command.md)
26
27## La touche de menu ne fonctionne pas
28
29La touche trouvée sur la plupart des claviers modernes située entre `KC_RGUI` et` KC_RCTL` est en réalité appelée `KC_APP`. En effet, lorsque cette touche a été inventée, il existait déjà une clé nommée `MENU` dans les normes correspondantes. MS a donc choisi de l'appeler la touche` APP`.
30
31## `KC_SYSREQ` ne fonctionne pas
32
33Utilisez le keycode pour Print Screen (`KC_PSCREEN` or `KC_PSCR`) à la place de `KC_SYSREQ`. La combinaison de touche 'Alt + Print Screen' est reconnue comme 'System request'.
34
35Voir [issue #168](https://github.com/tmk/tmk_keyboard/issues/168) et
36* http://en.wikipedia.org/wiki/Magic_SysRq_key
37* http://en.wikipedia.org/wiki/System_request
38
39## Les touches alimentation ne fonctionnent pas
40
41Un peu déroutant, il y a deux codes de touche "Alimentation" dans QMK: `KC_POWER` dans la page d'utilisation du clavier / keypad, et `KC_SYSTEM_POWER` (ou `KC_PWR`) dans la page Consumer.
42
43Le premier n'est reconnu que sur macOS, alors que le dernier, `KC_SLEP` et `KC_WAKE` sont supportés par les trois principaux systèmes d'exploitation. Il est donc recommandé de les utiliser à la place. Sous Windows, ces touches prennent effet immédiatement, mais sur macOS, elles doivent être maintenues enfoncées jusqu'à ce qu'une boîte de dialogue apparaisse.
44
45## Modificateur "One Shot"
46
47Cette fonctionnalité permet de corriger un problème avec la touche Shift. En effet, il arrive de saisir plusieurs majuscules en ne voulant en saisir qu'une sur un mot. Ex : `CEtte` à la place de `Cette`. La fonctionnalité « One shot » shift permet de corriger ça.
48
49https://github.com/tmk/tmk_keyboard/issues/67
50
51## Le modificateur d'un calque reste bloqué
52
53Les touches de modification ou les calques peuvent être bloquées si la commutation de calque n'est pas configurée correctement.
54Pour les touches de modification et les actions de calque, vous devez placer `KC_TRANS` sur la même position du calque de destination afin de désenregistrer la clé de modificateur ou de revenir au calque précédent lors de la libération.
55
56* https://github.com/tmk/tmk_core/blob/master/doc/keymap.md#31-momentary-switching
57* http://geekhack.org/index.php?topic=57008.msg1492604#msg1492604
58* https://github.com/tmk/tmk_keyboard/issues/248
59
60## Support de touche à verrouillage mécanique
61
62Cette fonctionnalité permet l'usage de *touches à verrouillage mécanique* comme [ces interrupteurs Alps](http://deskthority.net/wiki/Alps_SKCL_Lock). Vous pouvez l'activer en ajoutant ceci à votre `config.h` :
63
64```
65#define LOCKING_SUPPORT_ENABLE
66#define LOCKING_RESYNC_ENABLE
67```
68
69Une fois la fonction activée, utilisez les keycodes `KC_LCAP`, `KC_LNUM` et `KC_LSCR` dans votre keymap.
70
71Des vieux claviers mécaniques ont parfois des touches à verrouillage, mais les claviers modernes n'en sont pas équipés. ***Vous n'avez pas besoin de cette fonction dans la majorité des cas et devez utiliser les keycodes `KC_CAPS`, `KC_NLCK` et `KC_SLCK`.***
72
73## Ajouter des caractères spéciaux autres que ASCII comme la cédille 'Ç'
74
75IL N'EXISTE AUCUNE METHODE UNIVERSELLE POUR LES AJOUTER QUI FONCTIONNE SUR TOUS LES SYSTEMES. Vous devez définir une **MACRO** d'une manière spécifique à votre OS ou layout.
76
77Voir ce post pour un exemple de code **MACRO**.
78
79http://deskthority.net/workshop-f7/tmk-keyboard-firmware-collection-t4478-120.html#p195620
80
81Sous **Windows** vous pouvez utiliser la touche `AltGr` ou **Alt code**.
82* http://en.wikipedia.org/wiki/AltGr_key
83* http://en.wikipedia.org/wiki/Alt_code
84
85Sous **Mac OS** définissez une combinaison de touche `Option`.
86* http://en.wikipedia.org/wiki/Option_key#Alternative_keyboard_input
87
88Sous **Xorg** vous pouvez utiliser une touche `compose` à la place.
89* http://en.wikipedia.org/wiki/Compose_key
90
91Et voir ceci pour une entrée **Unicode**.
92* http://en.wikipedia.org/wiki/Unicode_input
93
94## Touche `Fn` sur macOS
95
96Contrairement à la plupart des touches Fn, celle des claviers Apple a son propre code d'activation... en quelque sorte. Il remplace le sixième code d'activation dans un rapport de base 6KRO HID - de sorte qu'un clavier Apple ne contient en réalité que 5KRO.
97
98Il est techniquement possible de demander à QMK d’envoyer ce keycode. Cependant, cela nécessite une modification du format du rapport pour ajouter l'état de la touche Fn.
99Pire encore, ce keycode n'est reconnu que si les identifiants du clavier VID et PID correspondent à ceux d'un vrai clavier Apple. Malheureusement QMK ne peut juridiquement prendre en charge cette fonctionnalité et il y a peu de chance que la situation s'améliore.
100
101Voir [cette issue](https://github.com/qmk/qmk_firmware/issues/2179) pour des informations détaillées.
102
103## Touches Media sous Mac OSX
104
105#### KC_MNXT et KC_MPRV ne fonctionnent pas sous Mac
106
107Utilisez `KC_MFFD`(`KC_MEDIA_FAST_FORWARD`) et `KC_MRWD`(`KC_MEDIA_REWIND`) à la place de `KC_MNXT` et `KC_MPRV`.
108Voir https://github.com/tmk/tmk_keyboard/issues/195
109
110## Touches supportées sous Mac OSX?
111
112Vous pouvez connaître les keycodes supportés par OSX en lisant ce code source.
113
114`usb_2_adb_keymap` contient les tableaux des pages Keyboard/Keypad vers les scancodes ADB (keycodes interne à OSX).
115
116https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-606.1.7/IOHIDFamily/Cosmo_USB2ADB.c
117
118Et `IOHIDConsumer::dispatchConsumerEvent` s'occupe des utilisations Consumer page.
119
120https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-606.1.7/IOHIDFamily/IOHIDConsumer.cpp
121
122## Touches JIS dans Mac OSX
123
124Les touches de clavier spécifiques JIS comme `無変換(Muhenkan)`, `変換(Henkan)`, `ひらがな(hiragana)` ne sont pas reconnues par OSX. Vous pouvez utiliser **Seil** pour les activer, esssayez les options suivantes.
125
126* Activer la touche NFER sur clavier PC
127* Activer la touche XFER sur clavier PC
128* Activer la touche KATAKANA sur clavier PC
129
130https://pqrs.org/osx/karabiner/seil.html
131
132## RN-42 Bluetooth ne fonctionne pas avec Karabiner
133
134Karabiner - Outil de Keymapping sous Mac OSX - Ignore les entrées du module RN-42. Vous devez activer cette option pour rendre Karabiner compatible avec votre clavier.
135https://github.com/tekezo/Karabiner/issues/403#issuecomment-102559237
136
137Plus de détails sur ce problème sur les liens suivants.
138https://github.com/tmk/tmk_keyboard/issues/213
139https://github.com/tekezo/Karabiner/issues/403
140
141## Esc et <code>&#96;</code> sur une touche simple.
142
143Cette fonctionnalité permet d'utiliser une touche à la fois comme touche Échap ou une touche `§` (En Azerty) selon le cas d’utilisation. Cela est très utile sur un clavier de petite taille.
144
145Voir la fonctionnalité [Grave Escape](feature_grave_esc.md).
146
147## Avoir les touches modificatrices qui ont double usage en flèches directionnelles.
148
149Ceci transforme les touches "modificateur droit" en touches fléchées lorsque les touches sont seulement "tapées" tout en restant des modificateurs lorsqu'elles sont maintenues.
150
151Dans TMK la fonction double rôle s'appelle **TAP**.
152
153```C
154
155#include "keymap_common.h"
156
157
158/* Arrow keys on right modifier keys with TMK dual role feature
159 *
160 * https://github.com/tmk/tmk_core/blob/master/doc/keymap.md#213-modifier-with-tap-keydual-role
161 * https://en.wikipedia.org/wiki/Modifier_key#Dual-role_keys
162 */
163const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
164 /* 0: qwerty */
165 [0] = LAYOUT( \
166 ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, NUHS,BSPC, \
167 TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \
168 LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT,ENT, \
169 LSFT,NUBS,Z, X, C, V, B, N, M, COMM,DOT, SLSH,FN0, ESC, \
170 FN4, LGUI,LALT, SPC, APP, FN2, FN1, FN3),
171 [1] = LAYOUT( \
172 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS,TRNS, \
173 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,\
174 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
175 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,FN5, TRNS, \
176 TRNS,TRNS,TRNS, TRNS, TRNS,FN7, FN6, FN8),
177};
178
179const uint16_t PROGMEM fn_actions[] = {
180 [0] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_UP),
181 [1] = ACTION_MODS_TAP_KEY(MOD_RGUI, KC_DOWN),
182 [2] = ACTION_MODS_TAP_KEY(MOD_RALT, KC_LEFT),
183 [3] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_RIGHT),
184 [4] = ACTION_LAYER_MOMENTARY(1),
185 [5] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_PGUP),
186 [6] = ACTION_MODS_TAP_KEY(MOD_RGUI, KC_PGDN),
187 [7] = ACTION_MODS_TAP_KEY(MOD_RALT, KC_HOME),
188 [8] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_END),
189};
190
191```
192
193Touches double rôle : https://en.wikipedia.org/wiki/Modifier_key#Dual-role_keys
194
195## Eject sur Mac OSX
196
197Le keycode`KC_EJCT` fonctionne sous OSX. https://github.com/tmk/tmk_keyboard/issues/250
198
199Il semble que Windows 10 ignore le code et Linux/Xorg le reconnaît mais n'a pas de mapping par défaut.
200
201Nous ne sommes pas sûr quel keycode est utilisé pour la touche Eject sur les claviers Apple officiels. HHKB utilise `F20` pour la touche Eject (`Fn+f`) lorsqu'il est en mode Mac, mais ce n'est probablement pas la même chose que le keycode Eject d'Apple.
202
203## Qu'est-ce que `weak_mods` et `real_mods` dans `action_util.c`
204
205___TO BE IMPROVED___
206
207real_mods est prévu pour retenir l'état des touches modificateur réelles/physiques, alors que weak_mods ne retient l'état que des modificateurs temporaires ou virtuels qui ne devraient pas affecter l'état des touches modificaterus réelles.
208
209Par exemple, disons que vous maintenez la touche physique "shift gauche" et tapez ACTION_MODS_KEY(LSHIFT, KC_A),
210
211en weak_mods,
212
213* (1) maintenir shift gauche : real_mods |= MOD_BIT(LSHIFT)
214* (2) appuyer ACTION_MODS_KEY(LSHIFT, KC_A): weak_mods |= MOD_BIT(LSHIFT)
215* (3) lâcher ACTION_MODS_KEY(LSHIFT, KC_A): weak_mods &= ~MOD_BIT(LSHIFT)
216real_mods garde sur état modificateur.
217
218sans weak_mods,
219
220* (1) maintenir shift gauche : real_mods |= MOD_BIT(LSHIFT)
221* (2) appuyer ACTION_MODS_KEY(LSHIFT, KC_A): real_mods |= MOD_BIT(LSHIFT)
222* (3) lâcher ACTION_MODS_KEY(LSHIFT, KC_A): real_mods &= ~MOD_BIT(LSHIFT)
223ici real_mods a perdu son état pour 'shift gauche physique'.
224
225weak_mods est ORed avec real_mods lorsque le rapport du clavier est envoyé.
226https://github.com/tmk/tmk_core/blob/master/common/action_util.c#L57
diff --git a/docs/fr-FR/flashing.md b/docs/fr-fr/flashing.md
index c380614a5..c380614a5 100644
--- a/docs/fr-FR/flashing.md
+++ b/docs/fr-fr/flashing.md
diff --git a/docs/fr-FR/getting_started_getting_help.md b/docs/fr-fr/getting_started_getting_help.md
index fedb18c76..fedb18c76 100644
--- a/docs/fr-FR/getting_started_getting_help.md
+++ b/docs/fr-fr/getting_started_getting_help.md
diff --git a/docs/fr-FR/getting_started_github.md b/docs/fr-fr/getting_started_github.md
index 22c6ee749..22c6ee749 100644
--- a/docs/fr-FR/getting_started_github.md
+++ b/docs/fr-fr/getting_started_github.md
diff --git a/docs/fr-FR/getting_started_introduction.md b/docs/fr-fr/getting_started_introduction.md
index a7f0ff96a..a7f0ff96a 100644
--- a/docs/fr-FR/getting_started_introduction.md
+++ b/docs/fr-fr/getting_started_introduction.md
diff --git a/docs/fr-FR/newbs.md b/docs/fr-fr/newbs.md
index 13b06b429..13b06b429 100644
--- a/docs/fr-FR/newbs.md
+++ b/docs/fr-fr/newbs.md
diff --git a/docs/fr-FR/newbs_best_practices.md b/docs/fr-fr/newbs_best_practices.md
index 149101314..149101314 100644
--- a/docs/fr-FR/newbs_best_practices.md
+++ b/docs/fr-fr/newbs_best_practices.md
diff --git a/docs/fr-FR/newbs_building_firmware.md b/docs/fr-fr/newbs_building_firmware.md
index 81870d31e..81870d31e 100644
--- a/docs/fr-FR/newbs_building_firmware.md
+++ b/docs/fr-fr/newbs_building_firmware.md
diff --git a/docs/fr-FR/newbs_building_firmware_configurator.md b/docs/fr-fr/newbs_building_firmware_configurator.md
index 577e5c80e..577e5c80e 100644
--- a/docs/fr-FR/newbs_building_firmware_configurator.md
+++ b/docs/fr-fr/newbs_building_firmware_configurator.md
diff --git a/docs/fr-FR/newbs_flashing.md b/docs/fr-fr/newbs_flashing.md
index c9849eb10..c9849eb10 100644
--- a/docs/fr-FR/newbs_flashing.md
+++ b/docs/fr-fr/newbs_flashing.md
diff --git a/docs/fr-FR/newbs_getting_started.md b/docs/fr-fr/newbs_getting_started.md
index 8a8029fd1..8a8029fd1 100644
--- a/docs/fr-FR/newbs_getting_started.md
+++ b/docs/fr-fr/newbs_getting_started.md
diff --git a/docs/fr-FR/newbs_learn_more_resources.md b/docs/fr-fr/newbs_learn_more_resources.md
index 01b1c9e8e..01b1c9e8e 100644
--- a/docs/fr-FR/newbs_learn_more_resources.md
+++ b/docs/fr-fr/newbs_learn_more_resources.md
diff --git a/docs/fr-FR/newbs_testing_debugging.md b/docs/fr-fr/newbs_testing_debugging.md
index 680d7644e..680d7644e 100644
--- a/docs/fr-FR/newbs_testing_debugging.md
+++ b/docs/fr-fr/newbs_testing_debugging.md