Cette 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.
Regardez Keycodes pour une liste des keycodes disponibles. Certains keycodes spécifiques ont des documentations plus complètes de disponible.
Les keycodes sont définies dans common/keycode.h.
Il 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 :
QMK 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.
Pour 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:
La 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
.
KC_SYSREQ
ne fonctionne pasUtilisez 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'.
Voir issue #168 et
Un 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.
Le 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.
Cette 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.
https://github.com/tmk/tmk_keyboard/issues/67
Les touches de modification ou les calques peuvent être bloquées si la commutation de calque n'est pas configurée correctement.
Pour 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.
Cette fonctionnalité permet l'usage de touches à verrouillage mécanique comme ces interrupteurs Alps. Vous pouvez l'activer en ajoutant ceci à votre config.h
:
#define LOCKING_SUPPORT_ENABLE
#define LOCKING_RESYNC_ENABLE
Une fois la fonction activée, utilisez les keycodes KC_LCAP
, KC_LNUM
et KC_LSCR
dans votre keymap.
Des 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
.
Voir la fonctionnalité Unicode.
Fn
sur macOSContrairement à 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.
Il 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. Pire 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.
Voir cette issue pour des informations détaillées.
Utilisez KC_MFFD
(KC_MEDIA_FAST_FORWARD
) et KC_MRWD
(KC_MEDIA_REWIND
) à la place de KC_MNXT
et KC_MPRV
.
Voir https://github.com/tmk/tmk_keyboard/issues/195
Vous pouvez connaître les keycodes supportés par OSX en lisant ce code source.
usb_2_adb_keymap
contient les tableaux des pages Keyboard/Keypad vers les scancodes ADB (keycodes interne à OSX).
https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-606.1.7/IOHIDFamily/Cosmo_USB2ADB.c
Et IOHIDConsumer::dispatchConsumerEvent
s'occupe des utilisations Consumer page.
https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-606.1.7/IOHIDFamily/IOHIDConsumer.cpp
Les 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.
https://pqrs.org/osx/karabiner/seil.html
Karabiner - 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. https://github.com/tekezo/Karabiner/issues/403#issuecomment-102559237
Plus de détails sur ce problème sur les liens suivants. https://github.com/tmk/tmk_keyboard/issues/213 https://github.com/tekezo/Karabiner/issues/403
`
sur une touche simple.Cette 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.
Voir la fonctionnalité Grave Escape.
Le keycodeKC_EJCT
fonctionne sous OSX. https://github.com/tmk/tmk_keyboard/issues/250
Il semble que Windows 10 ignore le code et Linux/Xorg le reconnaît mais n'a pas de mapping par défaut.
Nous 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.
weak_mods
et real_mods
dans action_util.c
TO BE IMPROVED
real_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.
Par exemple, disons que vous maintenez la touche physique "shift gauche" et tapez ACTION_MODS_KEY(LSHIFT, KC_A),
en weak_mods,
sans weak_mods,
weak_mods est ORed avec real_mods lorsque le rapport du clavier est envoyé. https://github.com/tmk/tmk_core/blob/master/common/action_util.c#L57