Clavier

Android est compatible avec divers claviers, y compris des fonctions spéciales claviers (contrôles du volume et de l'alimentation), claviers QWERTY intégrés compacts, et des claviers externes de type PC dotés de fonctionnalités complètes.

Ce document ne concerne que les claviers physiques. Reportez-vous au SDK Android pour en savoir plus sur les claviers virtuels (éditeurs du mode de saisie).

Classification du clavier

Un périphérique d'entrée est considéré comme un clavier si l'un des conditions contiennent:

  • Le périphérique d'entrée signale la présence de codes de touche Linux sur les claviers. y compris 0 à 0xff ou KEY_OK à KEY_MAX.

  • Le périphérique d'entrée signale la présence de codes de touche Linux sur les joysticks. et manettes de jeu, y compris BTN_0 à BTN_9, BTN_TRIGGER à BTN_DEAD, ou BTN_A à BTN_THUMBR.

Les joysticks sont actuellement classés comme claviers, car les boutons du joystick et de la manette de jeu sont signalées par les événements EV_KEY de la même manière que les touches du clavier. Ainsi, les joysticks et les manettes de jeu utilisent également des fichiers de mappage de touches pour la configuration.

Une fois qu'un périphérique d'entrée a été classé comme clavier, le système charge le fichier de configuration du périphérique d'entrée et la disposition du clavier.

Le système tente ensuite de déterminer des caractéristiques supplémentaires de l'appareil.

  • Si le périphérique d'entrée possède des clés mappées avec KEYCODE_Q, le est considéré comme ayant un clavier alphabétique (par opposition au clavier numérique). La fonctionnalité du clavier alphabétique est indiquée dans la ressource Configuration. en tant que KEYBOARD_QWERTY.

  • Si le périphérique d'entrée possède des clés mappées avec KEYCODE_DPAD_UP, KEYCODE_DPAD_DOWN, KEYCODE_DPAD_LEFT, KEYCODE_DPAD_RIGHT et KEYCODE_DPAD_CENTER (tous doivent être présents), l'appareil est considéré comme d'avoir un clavier directionnel. La fonctionnalité du clavier directionnel est indiquée dans la ressource Configuration. en tant que NAVIGATION_DPAD.

  • Si le périphérique d'entrée est associé à des clés mappées avec KEYCODE_BUTTON_A ou d'autres touches liées à une manette de jeu, l'appareil est considéré comme étant équipé d'une manette.

Configuration requise pour les pilotes de clavier

  1. Les pilotes de clavier ne doivent enregistrer que les codes des touches qu'ils réellement compatibles. L'enregistrement d'un excès de codes de touche peut perturber l'appareil. l'algorithme de classification ou que le système détecte les fonctionnalités de clavier compatibles de l'appareil.

  2. Les pilotes de clavier doivent utiliser EV_KEY pour signaler les pressions sur les touches, à l'aide d'une valeur de 0 pour indiquer qu'une clé est libérée, une valeur de 1 pour indiquer qu'elle vous appuyez sur une touche et une valeur supérieure ou égale à 2 la clé est répétée automatiquement.

  3. Android effectue sa propre répétition de clavier. Fonctionnalité de répétition automatique doit être désactivé dans le pilote.

  4. Les pilotes de clavier peuvent éventuellement indiquer l'utilisation HID ou la recherche de bas niveau en envoyant EV_MSC avec MSC_SCANCODE et une valeur indiquant l'utilisation ou scanner le code quand on appuie sur la touche. Ces informations ne sont actuellement pas utilisés par Android.

  5. Les pilotes de clavier doivent prendre en charge la définition des états des voyants lorsque EV_LED est écrit à l'appareil. Le pilote hid-input gère cela automatiquement. Au moment de la rédaction de ce document, Android utilise LED_CAPSLOCK, LED_SCROLLLOCK, et LED_NUMLOCK. Ces voyants ne doivent être compatibles que lorsque le clavier possède les voyants associés qui y sont associés.

  6. Pilotes pour claviers intégrés (par exemple, à l'aide d'une matrice GPIO) veillez à envoyer les événements EV_KEY avec la valeur 0 pour toutes les clés qui restent enfoncés lorsque l'appareil se met en veille. Sinon, les touches risquent restent bloqués et se répètent indéfiniment.

Utilisation du clavier

Voici un bref résumé des opérations du clavier sur Android.

  1. EventHub lit les événements bruts du pilote evdev et mappe les codes clés Linux. (parfois appelée "scan codes") en codes clés Android à l'aide de la carte de disposition des touches du clavier.

  2. InputReader utilise les événements bruts et met à jour l'état de la méta-clé. Par exemple, si vous appuyez sur la touche Maj de gauche ou la relâchez, le lecteur définissez ou réinitialisez les bits META_SHIFT_LEFT_ON et META_SHIFT_ON en conséquence.

  3. InputReader informe InputDispatcher de l'événement clé.

  4. InputDispatcher demande à WindowManagerPolicy ce qu'il doit faire de la clé en appelant WindowManagerPolicy.interceptKeyBeforeQueueing. Cette méthode fait partie d'un chemin critique qui est responsable de l'activation de l'appareil lorsque sur certaines touches. Le EventHub maintient efficacement un wakelock tout au long de ce chemin critique pour garantir son exécution complète.

  5. Si un InputFilter est actuellement utilisé, InputDispatcher lui attribue une de consommer ou de transformer la clé. Le InputFilter peut être utilisé pour implémenter des règles d'accessibilité de bas niveau à l'échelle du système.

  6. InputDispatcher met la clé en file d'attente en vue de son traitement sur le thread de distribution.

  7. Lorsque InputDispatcher retire la clé de la file d'attente, il attribue WindowManagerPolicy une seconde chance d'intercepter l'événement clé en appelant WindowManagerPolicy.interceptKeyBeforeDispatching Cette méthode gère les processus des raccourcis et d'autres fonctions.

  8. InputDispatcher identifie ensuite la cible de l'événement clé (la fenêtre sélectionnée). et attend qu'ils soient prêts. Ensuite, le InputDispatcher envoie les à l'application.

  9. Dans l'application, l'événement clé se propage dans la hiérarchie des vues la vue sélectionnée pour la distribution des clés avant IME.

  10. Si l'événement clé n'est pas géré dans l'envoi avant l'IME et qu'un IME est utilisé, le l'événement clé est transmis à l'IME.

  11. Si l'événement clé n'a pas été utilisé par l'IME, il se propage. dans la hiérarchie des vues jusqu'à la vue sélectionnée pour la distribution des clés standard.

  12. L'application indique à InputDispatcher si la clé a été consommé. Si l'événement n'a pas été utilisé, InputDispatcher appelle WindowManagerPolicy.dispatchUnhandledKey pour appliquer la "création de remplacement" comportemental. En fonction de l'action de remplacement, le cycle de distribution des événements clés peut être redémarré. à l'aide d'un code de touche différent. Par exemple, si une application ne gère pas KEYCODE_ESCAPE, le système peut réenvoyer l'événement clé en tant que KEYCODE_BACK à la place.

Configuration du clavier

Le comportement du clavier est déterminé par la disposition des touches et le caractère des touches de mappage et de configuration des périphériques d'entrée.

Reportez-vous aux sections suivantes pour en savoir plus sur les fichiers participer à la configuration du clavier:

Propriétés

Les propriétés de configuration de périphérique d'entrée suivantes sont utilisées pour les claviers.

clavier.layout

Définition:keyboard.layout = <nom>

Spécifie le nom du fichier de disposition des touches associé au périphérique d'entrée. en excluant l'extension .kl. Si ce fichier est introuvable, le système utilisera la disposition des touches par défaut à la place.

Les espaces dans le nom sont convertis en traits de soulignement lors de la recherche.

Pour en savoir plus, consultez la documentation sur les fichiers de mise en page de clé.

clavier.characterMap

Définition:keyboard.characterMap = <nom>

Spécifie le nom du fichier de mappage de caractères clés associé au périphérique d'entrée. en excluant l'extension .kcm. Si ce fichier est introuvable, le système utilisera le mappage de caractères clés par défaut à la place.

Les espaces dans le nom sont convertis en traits de soulignement lors de la recherche.

Pour en savoir plus, consultez la documentation sur le fichier de mappage de caractères de clé.

clavier.orientationAware

Définition:keyboard.orientationAware = 0 | 1

Indique si le clavier doit réagir aux changements d'orientation de l'écran.

  • Si la valeur est 1, les touches du clavier directionnel sont alternées lorsque la les changements d'orientation associés.

  • Si la valeur est 0, le clavier ne résiste pas aux changements d'orientation de l'écran.

La valeur par défaut est 0.

La détection de l'orientation est utilisée pour permettre la rotation des touches du clavier directionnel, comme sur le Motorola Droid. Par exemple, en faisant pivoter l'appareil dans le sens des aiguilles d'une montre à 90 degrés de son orientation naturelle, KEYCODE_DPAD_UP est remappées pour produire KEYCODE_DPAD_RIGHT depuis le "haut" pointe vers le haut 'droite' lorsque l'appareil est tenu dans cette orientation.

clavier intégré

Définition:keyboard.builtIn = 0 | 1

Indique si le clavier est intégré (branché physiquement) clavier.

La valeur par défaut est 1 si le nom de l'appareil se termine par -keypad. Sinon, la valeur est 0.

Le clavier intégré se voit toujours attribuer l'ID d'appareil 0. Autres claviers qui ne sont pas intégrés se voient attribuer des ID d'appareil uniques non nuls.

Il est important d'utiliser l'ID 0 pour le clavier intégré afin de maintenir la compatibilité avec le champ KeyCharacterMap.BUILT_IN_KEYBOARD, qui spécifie L'ID du clavier intégré et sa valeur est 0. Ce champ a été obsolète dans l'API, mais il est possible que des applications plus anciennes l'utilisent encore.

Un clavier à fonction spéciale (dont le mappage de touches spécifie type de SPECIAL_FUNCTION) ne sera jamais enregistré comme clavier intégré, quel que soit le paramètre de cette propriété. C'est parce qu'une fonction spéciale par définition, le clavier n'est pas destiné à un usage général.

Exemples de configurations

# This is an example input device configuration file for a built-in
# keyboard that has a DPad.

# The keyboard is internal because it is part of the device.
device.internal = 1

# The keyboard is the default built-in keyboard so it should be assigned
# an id of 0.
keyboard.builtIn = 1

# The keyboard includes a DPad which is mounted on the device.  As the device
# is rotated the orientation of the DPad rotates along with it, so the DPad must
# be aware of the display orientation.  This ensures that pressing 'up' on the
# DPad always means 'up' from the perspective of the user, even when the entire
# device has been rotated.
keyboard.orientationAware = 1

Remarques sur la compatibilité

Avant Honeycomb, le mappeur des entrées au clavier n'utilisait aucune propriété de configuration. Tous les claviers étaient censés être fixés physiquement et adaptés à l'orientation. La valeur par défaut La disposition de la clé et le mappage des caractères clés ont été nommés qwerty au lieu de Generic. La clé le format de carte de caractères était également très différent et le framework ne prenait pas en charge Claviers complets de type PC ou claviers externes.

Lorsque vous mettez à niveau des appareils vers Honeycomb, assurez-vous de créer ou de mettre à jour les de configuration et de mappage des clés.

Utilisations HID, codes de clé Linux et codes de touche Android

Le système fait référence à des clés qui utilisent différents identifiants, en fonction du couche d'abstraction.

Pour les appareils HID, chaque clé a une utilisation HID associée. hid-input Linux le pilote, le fournisseur associé et les pilotes HID spécifiques à l’appareil sont responsables pour analyser les rapports HID et mapper les utilisations HID aux codes de clé Linux.

Lorsqu'Android lit les événements EV_KEY à partir du noyau Linux, il traduit chaque le code de touche Linux dans le code de touche Android correspondant, conformément au de mise en page des touches de l'appareil.

Lorsque l'événement clé est envoyé à une application, le android.view.KeyEvent indique que le code de clé Linux est la valeur de getScanCode() et que l'instance Code de clé Android en tant que valeur de getKeyCode(). Aux fins du , seule la valeur de getKeyCode() est importante.

Notez que les informations sur l'utilisation de HID ne sont pas utilisées par Android lui-même. transmises aux applications.

Tables de code

Les tableaux suivants montrent comment les utilisations HID, les codes de clé Linux et Android codes clés sont liés les uns aux autres.

La colonne LKC indique le code clé Linux en hexadécimal.

La colonne AKC spécifie le code de la clé Android au format hexadécimal.

La colonne Notes fait référence aux notes publiées après le tableau.

La colonne "Version" indique la première version de la plate-forme Android. d'avoir inclus cette clé dans son mappage de clés par défaut. Plusieurs lignes sont s'affiche dans les cas où le mappage de clés par défaut change d'une version à l'autre. La version la plus ancienne indiquée est 1.6.

  • Dans Gingerbread (2.3) et les versions antérieures, le mappage de touches par défaut était qwerty.kl Ce mappage de touches n'était destiné qu'aux applications de l'émulateur et n'était pas destiné à prendre en charge claviers externes. Néanmoins, quelques OEM ont ajouté le Bluetooth clavier compatible avec la plate-forme et s'est appuyé sur qwerty.kl pour fournissent les mappages de clavier nécessaires. Par conséquent, ces les anciennes cartes peuvent intéresser les OEM qui développent périphériques pour ces appareils particuliers. Notez que les mappages sont très différentes de celles actuelles, par rapport au traitement de la clé HOME. Il est recommandé que tous les nouveaux périphériques soient développés conformément à la norme Honeycomb Mappages de touches récents (par exemple, HID standard)

  • Depuis Honeycomb (3.0), le mappage de touches par défaut est Generic.kl. Ce mappage de touches a été conçu pour être compatible avec les claviers PC complets. La plupart des fonctionnalités des claviers HID standards devraient s'adapter de la boîte.

Le mappage du code de clé peut varier selon les versions du noyau Linux et d'Android. Lorsque des modifications ont été apportées aux mappages de touches par défaut Android, ils sont indiqués dans la colonne "Version".

Les pilotes HID et les mappages de touches spécifiques à l'appareil peuvent appliquer des mappages différents. que celles indiquées ici.

Page du clavier et du clavier HID (0x07)

Utilisation HID Nom d'utilisation HID LKC Nom du code clé Linux Version AKC Nom du code clé Android Notes
0x07 0x0001 Rollover en cas d'erreur de clavier
0 x 07, 0 x 0002 Échec de la requête POST du clavier
0 x 07, 0 x 0003 Erreur de clavier non définie
0 x 07, 0 x 0004 Clavier a et A 0x001e CLÉ_A 1,6 0x001d KEYCODE_A 1
0x07 0x0005 Claviers b et B 0x0030 CLÉ_B 1,6 0x001e KEYCODE_B 1
0x07 0x0006 Clavier c et C 0x002e CLÉ_C 1,6 0x001f CODE_CLÉ 1
0x07 0x0007 Clavier d et D 0x0020 CLÉ_D 1,6 0x0020 KEYCODE_D 1
0 x 07, 0 x 0008 Clavier e et E 0x0012 CLÉ_E 1,6 0x0021 KEYCODE_E 1
0x07 0x0009 Clavier f et F 0x0021 CLÉ_F 1,6 0x0022 KEYCODE_F 1
0x07 0x000a Clavier g et G 0x0022 CLÉ_G 1,6 0x0023 KEYCODE_G 1
0x07 0x000b Clavier h et H 0x0023 CLÉ_H 1,6 0x0024 CODE_CLÉ 1
0x07 0x000c Clavier i et I 0x0017 CLÉ_I 1,6 0x0025 CODE_CLÉ 1
0x07 0x000d Clavier j et J 0x0024 CLÉ_J 1,6 0x0026 KEYCODE_J 1
0x07, 0x000e Claviers k et K 0x0025 CLÉ_K 1,6 0x0027 KEYCODE_K 1
0x07 0x000f Clavier L et L 0x0026 CLÉ_L 1,6 0x0028 KEYCODE_L 1
0x07 0x0010 Clavier m et M 0x0032 CLÉ_M 1,6 0x0029 KEYCODE_M 1
0 x 07, 0 x 0011 Clavier n et N 0x0031 CLÉ_N 1,6 0x002a CODE_CLÉ 1
0 x 07, 0 x 0012 Clavier o et O 0x0018 CLÉ_O 1,6 0x002b CODE_CLÉ 1
0 x 07, 0 x 0013 Clavier p et P 0x0019 CLÉ_P 1,6 0x002c CODE_CLÉ 1
0 x 07, 0 x 0014 Clavier Q et Q 0x0010 QTÉ_CLÉ 1,6 0x002d KEYCODE_Q 1
0 x 07, 0 x 0015 Clavier R et R 0x0013 CLÉ_R 1,6 0x002e KEYCODE_R 1
0 x 07, 0 x 0016 Claviers et S 0x001f CLÉS 1,6 0x002f CODES_CLÉS 1
0x07 0x0017 Clavier t et T 0x0014 CLÉ_T 1,6 0x0030 KEYCODE_T 1
0 x 07, 0 x 0018 Clavier u et U 0x0016 CLÉ_U 1,6 0x0031 KEYCODE_U 1
0 x 07, 0 x 0019 Clavier v et V 0x002f CLÉ_V 1,6 0x0032 KEYCODE_V 1
0x07, 0x001a Clavier W et W 0x0011 CLÉ_W 1,6 0x0033 KEYCODE_W 1
0x07 0x001b Clavier x et X 0x002d CLÉ_X 1,6 0x0034 KEYCODE_X 1
0x07 0x001c Clavier Y et Y 0x0015 CLÉ_Y 1,6 0x0035 KEYCODE_Y 1
0 x 07, 0 x 001d Clavier z et Z 0x002c CLÉ_Z 1,6 0x0036 KEYCODE_Z 1
0x07 0x001e Clavier 1 et ! 0x0002 CLÉ_1 1,6 0x0008 CODE_CLÉ 1
0x07 0x001f Clavier 2 et @ 0x0003 CLÉ_2 1,6 0x0009 CODE_CLÉ_2 1
0 x 07, 0 x 0020 Clavier 3 et # 0x0004 CLÉ_3 1,6 0x000a CODE_CLÉ_3 1
0 x 07, 0 x 0021 Clavier 4 et $ 0x0005 CLÉ_4 1,6 0x000b CODE_CLÉ 1
0 x 07, 0 x 0022 Clavier 5 et % 0x0006 CLÉ_5 1,6 0x000c CODE_CLÉ_5 1
0 x 07, 0 x 0023 Clavier 6 et ^ 0x0007 CLÉ_6 1,6 0x000d CODE_CLÉ_6 1
0 x 07, 0 x 0024 Clavier 7 et & 0x0008 CLÉ_7 1,6 0x000e CODE_CLÉ 1
0 x 07, 0 x 0025 Clavier 8 et * 0x0009 CLÉ_8 1,6 0x000f CODE_CLÉ 1
0 x 07, 0 x 0026 Clavier 9 et ( 0x000a CLÉ_9 1,6 0x0010 CODE_CLÉ 1
0x07 0x0027 Clavier 0 et ) 0x000b CLÉ_0 1,6 0x0007 CODE_CLÉ 1
0 x 07, 0 x 0028 Retour au clavier (ENTRÉE) 0x001c CLÉ_ENTRÉE 1,6 0x0042 ENTRÉE_CODE-CLE 1
0 x 07, 0 x 0029 Échappement du clavier 0x0001 CLÉ_ÉCHAP 3,0 0x006f CODE_CLÉ_ÉCHAP
"" "" "" "" 2.3 0x0004 CODE_CLÉ
0x07, 0x002a Suppr. clavier (retour arrière) 0x000e CLÉ_RETOUR ARRIÈRE 1,6 0x0043 KEYCODE_DEL
0x07 0x002b Onglet du clavier 0x000f ONGLET_CLÉ 1,6 0x003d ONGLET_CODE_CLÉ
0x07 0x002c Barre d'espace du clavier 0x0039 ESPACE_CLÉ 1,6 0x003e ESPACE_CLÉ
0 x 07, 0 x 002d Clavier - et _ 0x000c MOINS_CLÉ 1,6 0x0045 CODE_CLÉ_MINUS 1
0x07, 0x002e Clavier = et + 0x000d CLÉ_ÉQUAL 1,6 0x0046 KEYCODE_EQUALS 1
0x07 0x002f Clavier [ et { 0x001a CLÉ_GAUCHE 1,6 0x0047 KEYCODE_LEFT_BRACKET 1
0 x 07, 0 x 0030 Clavier ] et } 0x001b CLÉ_DROITE 1,6 0x0048 CODE_CLÉ_BRACKET_DROIT 1
0 x 07, 0 x 0031 Clavier \ et | 0x002b CLÉ_ARRIÈRE 1,6 0x0049 CODE CLÉ ARRIÈRE 1
0 x 07, 0 x 0032 Clavier hors États-Unis # et ~ 0x002b CLÉ_ARRIÈRE 1,6 0x0049 CODE CLÉ ARRIÈRE 1
0 x 07, 0 x 0033 Clavier et : 0x0027 SÉMICOLON_CLÉ 1,6 0x004a SEMICOLON_KEYCODE 1
0 x 07, 0 x 0034 Clavier ' et " 0x0028 CLÉ_APOSTROPHE 1,6 0x004b KEYCODE_APOSTROPHE 1
0 x 07, 0 x 0035 Clavier ` et ~ 0x0029 CLÉ_SUPÉRIEURE 3,0 0x0044 CODE CLÉ GRAVE 1
0 x 07, 0 x 0036 Clavier et < 0x0033 COMMUNICATION CLÉ 1,6 0x0037 COMMUNICATION CLÉ 1
0x07 0x0037 Clavier . et > 0x0034 POINT_CLÉ 1,6 0x0038 KEYCODE_PERIOD 1
0 x 07, 0 x 0038 Clavier / et ? 0x0035 BARRE_CLÉ 1,6 0x004c BARRE DE CLÉ 1
0 x 07, 0 x 0039 Verrouillage des majuscules du clavier 0x003a MAJUSCULES CLÉS 3,0 0x0073 VERROUILLAGE_MAJUSCULES_CLÉS
0x07 0x003a Clavier F1 0x003b CLÉ_F1 3,0 0x0083 CODE_CLÉ_F1
"" "" "" "" 1,6 0x0052 MENU_KEYCODE
0x07 0x003b Clavier F2 0x003c CLÉ_F2 3,0 0x0084 KEYCODE_F2
"" "" "" "" 1,6 0x0002 KEYCODE_SOFT_RIGHT
0x07 0x003c Clavier F3 0x003d CLÉ_F3 3,0 0x0085 KEYCODE_F3
"" "" "" "" 1,6 0x0005 APPEL_KEYCODE
0 x 07, 0 x 003d Clavier F4 0x003e CLÉ_F4 3,0 0x0086 KEYCODE_F4
"" "" "" "" 1,6 0x0006 APPEL KEYCODE_END
0x07 0x003e Clavier F5 0x003f CLÉ_F5 3,0 0x0087 KEYCODE_F5
0x07 0x003f Clavier F6 0x0040 CLÉ_F6 3,0 0x0088 KEYCODE_F6
0x07 0x0040 Clavier F7 0x0041 CLÉ_F7 3,0 0x0089 KEYCODE_F7
0 x 07, 0 x 0041 Clavier F8 0x0042 CLÉ_F8 3,0 0x008a KEYCODE_F8
0 x 07, 0 x 0042 Clavier F9 0x0043 CLÉ_F9 3,0 0x008b KEYCODE_F9
0 x 07, 0 x 0043 Clavier F10 0x0044 CLÉ_F10 3,0 0x008c CODE_CLÉ_F10
"" "" "" "" 2.3 0x0052 MENU_KEYCODE
0 x 07, 0 x 0044 Clavier F11 0x0057 CLÉ_F11 3,0 0x008d KEYCODE_F11
0 x 07, 0 x 0045 Clavier F12 0x0058 CLÉ_F12 3,0 0x008e KEYCODE_F12
0 x 07, 0 x 0046 Écran d'impression clavier 0x0063 SYSTÈME DE CLÉ 3,0 0x0078 KEYCODE_SYSR
0x07 0x0047 Verrouillage du défilement du clavier 0x0046 VERROUILLAGE DE LA CLÉ 3,0 0x0074 VERROUILLAGE_DÉPLOIEMENT CLÉ
0 x 07, 0 x 0048 Pause du clavier 0x0077 PAUSE_CLÉ 3,0 0x0079 KEYCODE_BREAK
0 x 07, 0 x 0049 Insertion au clavier 0x006e INSÉRER_CLÉ 3,0 0x007c INSÉRER_CODE_CLÉ
0x07, 0x004a Accueil du clavier 0x0066 MAISON_CLÉ 3,0 0x007a KEYCODE_DÉPLACER_ACCUEIL
"" "" "" "" 1,6 0x0003 KEYCODE_HOME
0x07 0x004b Page précédente du clavier 0x0068 PAGE CLÉ 3,0 0x005c KEYCODE_PAGE_UP
0x07 0x004c Suppression du clavier vers l'avant 0x006f SUPPRESSION_DE_CLÉ 3,0 0x0070 KEYCODE_FORWARD_DEL
0 x 07, 0 x 004d Fin du clavier 0x006b CLÉ_END 3,0 0x007b KEYCODE_MOVE_END
"" "" "" "" 1,6 0x0006 APPEL KEYCODE_END
0x07 0x004e Page suivante du clavier 0x006d PAGE SUIVANTE 3,0 0 x 005 j KEYCODE_PAGE_DOWN
0x07 0x004f Flèche vers la droite du clavier 0x006a CLÉ_DROITE 1,6 0x0016 KEYCODE_DPAD_DROITE
0x07 0x0050 Flèche vers la gauche du clavier 0x0069 CLÉ_GAUCHE 1,6 0x0015 KEYCODE_PAD_GAUCHE
0 x 07, 0 x 0051 Flèche vers le bas du clavier 0x006c CLÉ_BAS 1,6 0x0014 CODE_CLÉ_PAP_EN_BAISSE
0 x 07, 0 x 0052 Flèche vers le haut du clavier 0x0067 LÉGENDE 1,6 0x0013 CODE_CLÉ_PAUSE_UP
0 x 07, 0 x 0053 Verr. Num. et effacement du clavier 0x0045 VERROU DE CLÉ 3,0 0x008f KEYCODE_NUM_LOCK
0 x 07, 0 x 0054 Clavier / 0x0062 CLÉ_KPSLASH 3,0 0x009a KEYCODE_NUMPAD_DIVIDE
0x07 0x0055 Clavier * 0x0037 KEY_KPASTERISK 3,0 0x009 B KEYCODE_NUMPAD_MULTIPLY
0 x 07, 0 x 0056 Clavier - 0x004a CLÉ_KPMINUS 3,0 0x009c KEYCODE_NUMPAD_SUBTRACT
0x07 0x0057 Clavier + 0x004e KEY_KPPLUS 3,0 0x009d KEYCODE_NUMPAD_AJOUTER
0 x 07, 0 x 0058 Clavier ENTRÉE 0x0060 CLÉ_KPENTRÉE 3,0 0x00a0 KEYCODE_NUMPAD_ENTRÉE
0 x 07, 0 x 0059 Clavier 1 et Fin 0x004f CLÉ_KP1 3,0 0x0091 KEYCODE_NUMPAD_1
0x07, 0x005a Clavier 2 et flèche vers le bas 0x0050 CLÉ_KP2 3,0 0x0092 KEYCODE_NUMPAD_2
0x07 0x005b Clavier 3 et PageDn 0x0051 CLÉ_KP3 3,0 0x0093 KEYCODE_NUMPAD_3
0x07 0x005c Clavier 4 et flèche vers la gauche 0x004b CLÉ_KP4 3,0 0x0094 KEYCODE_NUMPAD_4
0 x 07, 0 x 005d Clavier 5 0x004c CLÉ_KP5 3,0 0x0095 KEYCODE_NUMPAD_5
0x07, 0x005e Clavier 6 et flèche vers la droite 0x004d CLÉ_KP6 3,0 0x0096 KEYCODE_NUMPAD_6
0x07 0x005f Clavier 7 et Accueil 0x0047 CLÉ_KP7 3,0 0x0097 KEYCODE_NUMPAD_7
0 x 07, 0 x 0060 Clavier 8 et flèche vers le haut 0x0048 CLÉ_KP8 3,0 0x0098 KEYCODE_NUMPAD_8
0 x 07, 0 x 0061 Clavier 9 et Page précédente 0x0049 CLÉ_KP9 3,0 0x0099 KEYCODE_NUMPAD_9
0 x 07, 0 x 0062 Clavier 0 et insertion 0x0052 CLÉ_KP0 3,0 0x0090 KEYCODE_NUMPAD_0
0 x 07, 0 x 0063 Clavier . et Supprimer 0x0053 KEY_KPDOT 3,0 0x009e KEYCODE_NUMPAD_DOT
0 x 07, 0 x 0064 Clavier hors États-Unis \ et | 0x0056 KEY_102ND 4.0 0x0049 CODE CLÉ ARRIÈRE 1
0 x 07, 0 x 0065 Application de clavier 0x007f COMPOSE_CLÉ 3,0 0x0052 MENU_KEYCODE
"" "" "" "" 1,6 0x0054 KEYCODE_SEARCH
0 x 07, 0 x 0066 Marche/Arrêt du clavier 0x0074 CLÉ_PUISSANCE 1,6 0x001a KEYCODE_POWER
0x07 0x0067 Clavier = 0x0075 CLÉ_KPEQUAL 3,0 0x00a1 KEYCODE_NUMPAD_EQUALS
0 x 07, 0 x 0068 Clavier F13 0x00b7 CLÉ_F13
0 x 07, 0 x 0069 Clavier F14 0x00b8 CLÉ_F14
0x07, 0x006a Clavier F15 0x00b9 CLÉ_F15
0x07 0x006b Clavier F16 0x00ba CLÉ_F16
0x07 0x006c Clavier F17 0x00bb CLÉ_F17
0 x 07, 0 x 006d Clavier F18 0x00bc CLÉ_F18
0x07, 0x006e Clavier F19 0x00bd CLÉ_F19
0x07 0x006f Clavier F20 0x00be CLÉ_F20
0 x 07, 0 x 0070 Clavier F21 0x00bf CLÉ_F21
0 x 07, 0 x 0071 Clavier F22 0x00c0 CLÉ_F22
0 x 07, 0 x 0072 Clavier F23 0x00c1 CLÉ_F23
0 x 07, 0 x 0073 Clavier F24 0x00c2 CLÉ_F24
0 x 07, 0 x 0074 Saisie au clavier 0x0086 CLÉ_OUVERTE
0 x 07, 0 x 0075 Aide sur le clavier 0x008a AIDE_CLÉ
0 x 07, 0 x 0076 Menu du clavier 0x0082 ACCESSOIRES_CLÉS
0x07 0x0077 Sélection au clavier 0x0084 CLÉ
0 x 07, 0 x 0078 Arrêt du clavier 0x0080 ARRÊT_CLÉ 3,0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x0079 Répéter le clavier 0x0081 CLÉ_À NOUVEAU
0x07, 0x007a Annuler la saisie au clavier 0x0083 ANNULER LA CLÉ
0x07 0x007b Clavier 0x0089 COUPE_CLÉ
0x07 0x007c Texte pour le clavier 0x0085 COPIE_CLÉ
0x07 0x007d Coller le clavier 0x0087 KEY_PASTE
0x07 0x007e Recherche au clavier 0x0088 CLÉ_TROUVE
0x07 0x007f Couper le son du clavier 0x0071 IGNORER 3,0 0x00a4 VOLUME_COUPER
0x07 0x0080 Volume+ du clavier 0x0073 VOLUME_CLÉ 1,6 0x0018 VOLUME_ÉLEVÉ_CLÉ
0 x 07, 0 x 0081 Baisser le volume du clavier 0x0072 VOLUME_CLÉ 1,6 0x0019 VOLUME_BAS_CLÉ
0 x 07, 0 x 0082 Verrouillage des majuscules du clavier
0 x 07, 0 x 0083 Verrouillage du clavier numérique
0 x 07, 0 x 0084 Verrouillage du clavier Verrouillage du défilement
0 x 07, 0 x 0085 Virgule du clavier 0x0079 CLÉ_KPCOMMA 3,0 0x009f KEYCODE_NUMPAD_COMMA
0 x 07, 0 x 0086 Signe égal du clavier
0x07 0x0087 Clavier international 1 0x0059 CLÉ_RO
0 x 07, 0 x 0088 Clavier international 2 0x005d KEY_KATAKANAHIRAGANA
0x07 0x0089 Clavier international 3 0x007c YEN_CLÉ
0x07, 0x008a Clavier international 4 0x005c KEY_HENKAN
0x07 0x008b Clavier international5 0x005e KEY_MUHENKAN
0x07 0x008c Clavier international 6 0x005f CLÉ_KPJPCOMMA
0 x 07, 0 x 008d Clavier international7
0x07, 0x008e Clavier international8
0x07 0x008f Clavier international9
0 x 07, 0 x 0090 Clavier LANG1 0x007a KEY_HANGEUL
0 x 07, 0 x 0091 Clavier LANG2 0x007b KEY_HANJA
0 x 07, 0 x 0092 Clavier LANG3 0x005a KEY_KATAKANA
0 x 07, 0 x 0093 Clavier LANG4 0x005b HIRAGANA_CLÉ
0 x 07, 0 x 0094 Clavier LANG5 0x0055 KEY_ZENKAKUHANKAKU
0 x 07, 0 x 0095 Clavier LANG6
0 x 07, 0 x 0096 Clavier LANG7
0x07 0x0097 Clavier LANG8
0 x 07, 0 x 0098 Clavier LANG9
0 x 07, 0 x 0099 Effacement alternatif du clavier
0x07, 0x009a Clavier SysReq/Attention
0x07 0x009b Annuler l'utilisation du clavier
0x07 0x009c Effacer le clavier
0 x 07, 0 x 009 d Clavier précédent
0x07 0x009e Retour du clavier
0x07 0x009f Séparateur de clavier
0x07 0x00a0 Sortie du clavier
0x07 0x00a1 Clavier
0x07, 0x00a2 Effacer/Réactiver le clavier
0x07 0x00a3 Supports CrSel/Props pour clavier
0x07 0x00a4 Clavier ExSel
0x07 0x00b0 Clavier 00
0x07 0x00b1 Clavier 000
0x07 0x00b2 Séparateur de milliers
0x07 0x00b3 Séparateur de nombre décimal
0x07 0x00b4 Unité de devise
0x07 0x00b5 Sous-unité de devise
0x07 0x00b6 Clavier ( 0x00b3 CLÉ_KPLEFTPAREN 3,0 0x00a2 KEYCODE_NUMPAD_LEFT_PAREN
0x07 0x00b7 clavier) 0x00b4 KEY_KPRIGHTPAREN 3,0 0x00a3 KEYCODE_NUMPAD_RIGHT_PAREN
0x07 0x00b8 Clavier {
0x07 0x00b9 Clavier }
0x07 0x00ba Tabulation du clavier
0x07 0x00bb Retour arrière du clavier
0x07 0x00bc Clavier A
0x07 0x00bd Clavier B
0x07 0x00be Clavier C
0x07 0x00bf Clavier D
0x07 0x00c0 Clavier E
0x07 0x00c1 Clavier F
0x07 0x00c2 Clavier XOR
0x07 0x00c3 Clavier ^
0x07 0x00c4 % du clavier
0x07 0x00c5 Clavier <
0x07 0x00c6 Clavier >
0x07 0x00c7 Clavier et
0x07 0x00c8 Clavier &&
0x07 0x00c9 Clavier |
0x07 0x00ca Clavier ||
0x07 0x00cb Clavier :
0x07 0x00cc N° du clavier
0x07 0x00cd Espace du clavier
0x07 0x00ce Clavier @
0x07 0x00cf Clavier !
0x07 0x00d0 Magasin de mémoire pour clavier
0x07 0x00d1 Rappel de mémoire du clavier
0 x 07, 0 x 00d2 Effacer la mémoire du clavier
0x07 0x00d3 Ajout de mémoire au clavier
0x07 0x00d4 Soustraire de mémoire du clavier
0x07 0x00d5 Multiplication de la mémoire du clavier
0x07 0x00d6 Séparateur de mémoire du clavier
0x07 0x00d7 Clavier +/-
0x07 0x00d8 Effacer le clavier
0x07 0x00d9 Accès vide au clavier
0x07 0x00da Binaire du clavier
0x07 0x00db Clavier octal
0x07 0x00dc Nombre décimal du clavier
0x07 0x00dd Hexadécimal du clavier
0x07 0x00e0 Commande gauche du clavier 0x001d CTRL GAUCHE 3,0 0x0071 KEYCODE_CTRL_LEFT
0x07, 0x00e1 Maj gauche du clavier 0x002a MAJ GAUCHE 1,6 0x003b KEYCODE_MAJ_GAUCHE
0x07, 0x00e2 Alt gauche du clavier 0x0038 CLÉ_GAUCHE ALT 1,6 0x0039 KEYCODE_ALT_GAUCHE
0x07, 0x00e3 IUG de gauche du clavier 0x007d MÉTA CLÉ_GAUCHE 3,0 0x0075 CODE_CLÉ_META_GAUCHE
0x07, 0x00e4 Commande droite du clavier 0x0061 CTRL DROITECTRL 3,0 0x0072 KEYCODE_CTRL_RIGHT
0x07, 0x00e5 Maj droite du clavier 0x0036 MAJ DROIT 1,6 0x003c KEYCODE_MAJ_DROIT
0x07, 0x00e6 Alt droite du clavier 0x0064 KEY_RIGHTALT 1,6 0x003a KEYCODE_ALT_DROITE
0x07 0x00e7 IUG de droite du clavier 0x007e KEY_META DROITE 3,0 0x0076 CODE_CLÉ_META_DROITE
0x07, 0x00e8 0x00a4 KEY_PLAYPAUSE 3,0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x07 0x00e9 0x00a6 CLÉ_STOPCD 3,0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x00ea 0x00a5 CLÉ_PRÉVIOUSSONG 3,0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x07, 0x00eb 0x00a3 CHANSON_SUIVANT 3,0 0x0057 KEYCODE_MEDIA_NEXT
0x07, 0x00ec 0x00a1 CD_ÉJECTION DE CLÉ 3,0 0x0081 KEYCODE_MEDIA_EJECT.
0 x 07, 0 x 00ed 0x0073 VOLUME_CLÉ 1,6 0x0018 VOLUME_ÉLEVÉ_CLÉ
0x07 0x00ee 0x0072 VOLUME_CLÉ 1,6 0x0019 VOLUME_BAS_CLÉ
0x07 0x00ef 0x0071 IGNORER 3,0 0x00a4 VOLUME_SUR LES CLÉS
0x07 0x00f0 0x0096 CLÉ_WWN 1,6 0x0040 KEYCODE_EXPLORER
0x07 0x00f1 0x009e CLÉ_RETOUR 1,6 0x0004 CODE_CLÉ
0x07 0x00f2 0x009f AVANT-CLÉ 3,0 0x007d KEYCODE_FORWARD
0x07 0x00f3 0x0080 ARRÊT_CLÉ 3,0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x00f4 0x0088 CLÉ_TROUVE
0x07 0x00f5 0x00b1 DÉFILEMENT SUR LA CLÉ 3,0 0x005c KEYCODE_PAGE_UP
0x07 0x00f6 0x00b2 DÉFILEMENT SUR LA CLÉ 3,0 0 x 005 j KEYCODE_PAGE_DOWN
0x07 0x00f7 0x00b0 MODIFIER_CLÉ
0x07 0x00f8 0x008e SOMMEIL_CLÉ
0x07 0x00f9 0x0098 CAFÉ_CLÉ 4.0 0x001a KEYCODE_POWER
0x07 0x00fa 0x00annonce ACTUALISATION DE LA CLÉ
0x07 0x00fb 0x008c CAL._CLÉ 4.0.3 0x00d2 CALCULATRICE_CODE-CLÉ

Page générique pour ordinateur de bureau (0x01)

Utilisation HID Nom d'utilisation HID LKC Nom du code clé Linux Version AKC Nom du code clé Android Notes
0 x 01, 0 x 0081 Arrêt du système 0x0074 CLÉ_PUISSANCE 1,6 0x001a KEYCODE_POWER
0 x 01, 0 x 0082 Veille du système 0x008e SOMMEIL_CLÉ 4.0 0x001a KEYCODE_POWER
0 x 01, 0 x 0083 Sortie de veille du système 0x008f RÉVEIL_CLÉ 4.0 0x001a KEYCODE_POWER
0 x 01, 0 x 0084 Menu contextuel système
0 x 01, 0 x 0085 Menu principal du système
0 x 01, 0 x 0086 Menu de l'application système
0x01 0x0087 Aide relative au menu système
0 x 01, 0 x 0088 Sortie du menu système
0 x 01, 0 x 0089 Sélection du menu système
0x01, 0x008a Menu système à droite
0x01, 0x008b Menu système à gauche
0x01 0x008c Menu système haut
0 x 01, 0 x 008 d Menu système bas
0x01, 0x008e Redémarrage à froid du système
0x01 0x008f Redémarrage à chaud du système
0x01 0x00a0 Station d'accueil du système
0x01 0x00a1 Détacher du système
0x01, 0x00a2 Configuration du système
0x01, 0x00a3 Interruption du système
0x01 0x00a4 Débogueur système
0x01, 0x00a5 Interruption de l'application
0x01, 0x00a6 Interruption du débogueur d'applications
0x01, 0x00a7 Couper le son du haut-parleur système
0x01, 0x00a8 Hibernate du système
0x01 0x00b0 Inverser l'affichage du système
0x01 0x00b1 Affichage système interne
0x01, 0x00b2 Écran du système externe
0x01 0x00b3 Affichage du système : les deux
0x01 0x00b4 Double écran du système
0x01, 0x00b5 Int./ext. de l'affichage système
0x01 0x00b6 Prim. d'échange de l'écran du système/s
0x01 0x00b7 Autoscaling LCD de l'écran du système

Page HID grand public (0x0c)

Utilisation HID Nom d'utilisation HID LKC Nom du code clé Linux Version AKC Nom du code clé Android Notes
0x0c 0x0030 Alimentation
0x0c 0x0031 Réinitialiser
0x0c 0x0032 Sommeil
0x0c 0x0033 Sommeil après le
0x0c 0x0034 Écran de veille interactif 0x008e SOMMEIL_CLÉ 4.0 0x001a KEYCODE_POWER
0x0c 0x0040 Menu 0x008b MENU_CLÉ 1,6 0x0052 MENU_KEYCODE
0x0c 0x0041 Sélection du menu
0x0c 0x0042 Menu haut
0x0c 0x0043 Menu bas
0x0c 0x0044 Menu de gauche
0x0c 0x0045 Menu de droite 0x0181 CLÉ_DROITE
0x0c 0x0046 Échappement du menu
0x0c 0x0047 Augmentation de la valeur du menu
0x0c 0x0048 Baisse de la valeur du menu
0x0c 0x0067 Activer/Désactiver Picture-in-picture 0x00ab FENÊTRE_CODE_CLÉ Ajouté dans aosp/1365553
0x0c 0x0069 Bouton de menu rouge 0x18e CLÉ_ROUGE 0x00b7 CODE_CLÉ_PROG_ROUGE Ajouté dans aosp/1388616
0x0c 0x006a Bouton du menu vert 0x18f CLÉ_VERT 0x00b8 KEYCODE_PROG_GREEN Ajouté dans aosp/1388616
0x0c 0x006b Bouton Menu bleu 0x191 BLEU_CLÉ 0x00ba CLÉ_PROG_BLEU Ajouté dans aosp/1388616
0x0c 0x006c Bouton "Menu jaune" 0x190 JAUNE_CLÉ 0x00b9 CODE_CLÉ_PROG_JAUNE Ajouté dans aosp/1388616
0x0c 0x0081 Attribuer la sélection
0x0c 0x0082 Étape du mode
0x0c 0x0083 Dernier rappel 0x0195 NOM DE CLÉ 0xe5 KEYCODE_LAST_CHANNEL Ajouté dans aosp/1365551
0x0c 0x0084 Accéder à la chaîne
0x0c 0x0085 Commander un film
0x0c 0x0088 Media Select sur ordinateur 0x0178 KEY_PC
0x0c 0x0089 Téléviseur Media Select 0x0179 TV_CLÉ 3,0 0x00aa KEYCODE_TV
0x0c 0x008a Media Select WWW 0x0096 CLÉ_WWN 1,6 0x0040 KEYCODE_EXPLORER
0x0c 0x008b DVD Media Select 0x0185 CLÉ_DVD
0x0c 0x008c Téléphone Media Select 0x00a9 TÉLÉPHONE_CLÉ 3,0 0x0005 APPEL_KEYCODE
0x0c 0x008d Guide des programmes Media Select 0x016a PROGRAMME_CLÉ 3,0 0x00ac KEYCODE_GUIDE
0x0c 0x008e Media Select Video Phone 0x01a0 KEY_VIDEOPHONE
0x0c 0x008f Jeux Media Select 0x01a1 JEUX_CLÉS
0x0c 0x0090 Messages Media Select 0x018c MÉMO CLÉ
0x0c 0x0091 CD Media Select 0x017f CD_CLÉ
0x0c 0x0092 Magnétoscope Media Select 0x017b Magnétoscope KEY
0x0c 0x0093 Tuner Media Select 0x0182 TUNER DE CLÉ
0x0c 0x0094 Quitter 0x00ae SORTIE_CLÉ
0x0c 0x0095 Aide 0x008a AIDE_CLÉ
0x0c 0x0096 Bande de sélection du média 0x0180 TAPE_CLÉ
0x0c 0x0097 Câble de sélection multimédia 0x017a CLÉ_TV2
0x0c 0x0098 Satellite Media Select 0x017d SAM_CLÉ
0x0c 0x0099 Sécurité Media Select
0x0c 0x009a Accueil Media Select 0x016e PVR_CLÉ 3,0 0x00annonce Enregistreur DVR
0x0c 0x0061 Sous-titres 0x0172 KEY_SUBTITLE 0x00af MAJUSCULES_CLÉS Ajouté dans aosp/1365552
0x0c 0x009c Incrément de la chaîne 0x0192 KEY_CHANNELUP 3,0 0x00a6 KEYCODE_CHANNEL_UP
0x0c 0x009d Baisse de la chaîne 0x0193 CHAÎNE_CLÉ EN BAISSE 3,0 0x00a7 KEYCODE_CHANNEL_DOWN
0x0c 0x009e Media Select SAP
0x0c 0x00a0 VCR Plus 0x017c KEY_VCR2
0x0c 0x00a1 Une fois
0x0c 0x00a2 Tous les jours
0x0c 0x00a3 Toutes les semaines
0x0c 0x00a4 Tous les mois
0x0c 0x00b0 Lire 0x00cf LECTURE CLÉ 3,0 0x007e KEYCODE_MEDIA_PLAY
0x0c 0x00b1 Mettre en pause 0x0077 PAUSE_CLÉ 3,0 0x0079 KEYCODE_BREAK
0x0c 0x00b2 Enregistrer 0x00a7 ENREGISTREMENT DE LA CLÉ 3,0 0x0082 KEYCODE_MEDIA_RECORD
0x0c 0x00b3 Avance rapide 0x00d0 CLÉ_FASTFORWARD 3,0 0x005a KEYCODE_MEDIA_FAST_FORWARD
0x0c 0x00b4 Retour arrière 0x00a8 RETOUR_CLÉ 3,0 0x0059 KEYCODE_MEDIA_REWIND
0x0c 0x00b5 Rechercher le titre suivant 0x00a3 CHANSON_SUIVANT 3,0 0x0057 KEYCODE_MEDIA_NEXT
0x0c 0x00b6 Rechercher la piste précédente 0x00a5 CLÉ_PRÉVIOUSSONG 3,0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x0c 0x00b7 Arrêter 0x00a6 CLÉ_STOPCD 3,0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x00b8 Éjecter 0x00a1 CD_ÉJECTION DE CLÉ 3,0 0x0081 KEYCODE_MEDIA_EJECT.
0x0c 0x00b9 Lecture aléatoire
0x0c 0x00ba Sélectionner un disque
0x0c 0x00bb Saisir le disque
0x0c 0x00bc Recommencez 0x01b7 RÉPÉTITION_MÉDIA_CLÉ
0x0c 0x00be Piste normale
0x0c 0x00c0 Image vers l'avant
0x0c 0x00c1 Arrière du cadre
0x0c 0x00c2 Marque-page
0x0c 0x00c3 Effacer la marque
0x0c 0x00c4 Répéter à partir de Mark
0x0c 0x00c5 Revenir à Mark
0x0c 0x00c6 Marque de recherche vers l'avant
0x0c 0x00c7 Marque de recherche vers l'arrière
0x0c 0x00c8 Réinitialisation du compteur
0x0c 0x00c9 Afficher le compteur
0x0c 0x00ca Incrément de suivi
0x0c 0x00cb Diminuer le suivi
0x0c 0x00cc Arrêter / Éjecter
0x0c 0x00cd Lecture/Pause 0x00a4 KEY_PLAYPAUSE 3,0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x0c 0x00ce Lire / Ignorer
0x0c 0x00e2 Couper le son 0x0071 IGNORER 3,0 0x00a4 VOLUME_SUR LES CLÉS
0x0c 0x00e5 Amplification des basses 0x00d1 KEY_BASSBOOST
0x0c 0x00e6 Mode Surround
0x0c 0x00e7 Volume
0x0c 0x00e8 MPX
0x0c 0x00e9 Incrément de volume 0x0073 VOLUME_CLÉ 1,6 0x0018 VOLUME_ÉLEVÉ_CLÉ
0x0c 0x00ea Baisser le volume 0x0072 VOLUME_CLÉ 1,6 0x0019 VOLUME_BAS_CLÉ
0x0c 0x0173 Incrément de l'audio alternatif 0x00de PISTE_AUDIO_MÉDIA_CLÉ Ajouté dans aosp/1365554
0x0c 0x0181 Configuration du bouton de lancement AL. Outil
0x0c 0x0182 Configuration du bouton programmable AL. 0x009c MARQUES_CLÉS 3,0 0x00ae MARQUE_CLÉ
0x0c 0x0183 Configuration du contrôle du client AL. 0x00ab KEY_CONFIG 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x0184 AL Word Processor 0x01a5 KEY_WORDPROCESSOR
0x0c 0x0185 Éditeur de texte AL 0x01a6 ÉDITEUR_CLÉ
0x0c 0x0186 Feuille de calcul AL 0x01a7 KEY_SPREADSHEET
0x0c 0x0187 Éditeur graphique AL 0x01a8 KEY_GRAPHICSEDITOR
0x0c 0x0188 App de présentation AL 0x01a9 PRÉSENTATION_CLÉ
0x0c 0x0189 Application de base de données AL 0x01aa BASE_DE_DONNÉES_CLÉ
0x0c 0x018a Lecteur d'e-mails AL 0x009 B KEY_MAIL 1,6 0x0041 L'OFFRE_DE_CLÉ
0x0c 0x018b AL Newsreader 0x01ab NOUVEAUTÉS_CLÉS
0x0c 0x018c Messagerie vocale AL 0x01ac E-MAIL_VOIQUE_CLÉ
0x0c 0x018d Contacts AL / Carnet d'adresses 0x01annonce CLÉ_D'ADRESSES 4.0.3 0x00cf KEYCODE_CONTACTS
0x0c 0x018e Agenda / Planning AL 0x018d CALENDRIER_CLÉ 4.0.3 0x00d0 KEYCODE_AGENDA
0x0c 0x018f Gestionnaire de tâche / de projet AL
0x0c 0x0190 Journal d'AL / Journal / Carte de temps
0x0c 0x0191 Chèque AL / Finance 0x00db KEY_FINANCE
0x0c 0x0192 Calculatrice AL 0x008c CAL._CLÉ 4.0.3 0x00d2 CALCULATRICE_CODE-CLÉ
0x0c 0x0193 Capture/Lecture A / V AL
0x0c 0x0194 Navigateur de machine locale AL 0x0090 FICHIER_CLÉ
0x0c 0x0195 Navigateur AL LAN/WAN
0x0c 0x0196 Navigateur Internet AL 0x0096 CLÉ_WWN 1,6 0x0040 KEYCODE_EXPLORER
0x0c 0x0197 AL Remote Networking/ISP Connect
0x0c 0x0198 Conférence AL Network
0x0c 0x0199 Chat sur le réseau AL 0x00d8 CHAT CLÉ
0x0c 0x019a Téléphonie / Téléphone
0x0c 0x019b Ouverture de session AL
0x0c 0x019c Déconnexion AL 0x01b1 CLÉ_LOGOFF
0x0c 0x019d Ouverture de session AL / Déconnexion
0x0c 0x019e Verrouillage du terminal AL / Économiseur d'écran 0x0098 CAFÉ_CLÉ 4.0 0x001a KEYCODE_POWER
0x0c 0x019f Panneau de configuration AL
0x0c 0x01a0 Processeur de ligne de commande AL / Exécution
0x0c 0x01a1 Processus AL / Gestionnaire de tâches
0x0c 0x01a2 Sélection de tâche / application AL
0x0c 0x01a3 Tâche / Application suivante pour l'AL
0x0c 0x01a4 AL Tâche / Demande précédente
0x0c 0x01a5 AL Preemptive Halt Task / App.
0x0c 0x01a6 Centre d'aide intégré à l'AL 0x008a AIDE_CLÉ
0x0c 0x01a7 Documents AL 0x00eb DOCUMENTS_CLÉS
0x0c 0x01a8 Thésaurus AL
0x0c 0x01a9 Dictionnaire AL
0x0c 0x01aa AL Desktop
0x0c 0x01ab Correcteur orthographique AL 0x01b0 KEY_SPELLCHECK
0x0c 0x01ac Vérification de la grammaire AL
0x0c 0x01annonce État sans fil AL
0x0c 0x01ae Disposition du clavier AL
0x0c 0x01af Protection antivirus d'AL
0x0c 0x01b0 Chiffrement AL
0x0c 0x01b1 Économiseur d'écran AL
0x0c 0x01b2 Alarmes AL
0x0c 0x01b3 Horloge AL
0x0c 0x01b4 Navigateur de fichiers AL
0x0c 0x01b5 État de l'alimentation AL
0x0c 0x01b6 Navigateur d'images AL 0x00e2 MÉDIAS_CLÉS 3,0 0x004f KEYCODE_HEADSETHOOK
0x0c 0x01b7 Navigateur audio AL 0x00d5 SON_CLÉ 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x01b8 Navigateur de films AL
0x0c 0x01b9 AL Digital Rights Manager
0x0c 0x01ba Portefeuille numérique AL
0x0c 0x01bc Messagerie instantanée AL 0x01ae CLÉ_MESSENGER
0x0c 0x01bd Fonctionnalités / Conseils pour les OEM AL 0x0166 INFO_CLÉ
0x0c 0x01be Aide OEM AL
0x0c 0x01bf Communauté en ligne d'AL Online
0x0c 0x01c0 Navigateur de contenu de divertissement AL
0x0c 0x01c1 Navigateur d'achat en ligne AL
0x0c 0x01c2 Informations / Aide sur les cartes à puce AL
0x0c 0x01c3 Navigateur AL Market / Finance
0x0c 0x01c4 Navigateur d'actualités personnalisé à AL
0x0c 0x01c5 Navigateur d'activité en ligne AL
0x0c 0x01c6 Recherche en Alabama / Navigateur de recherche
0x0c 0x01c7 Lecteur audio AL
0x0c 0x0201 Nouveautés AC 0x00b5 CLÉ_NOUVELLE
0x0c 0x0202 Climatisation ouverte 0x0086 CLÉ_OUVERTE
0x0c 0x0203 Clôture du clim 0x00ce CLÉ_FERMER
0x0c 0x0204 Sortie CA 0x00ae SORTIE_CLÉ
0x0c 0x0205 AC Maximiser
0x0c 0x0206 Réduire la climatisation
0x0c 0x0207 Économie de climatisation 0x00ea ENREGISTRER CLÉ
0x0c 0x0208 Impression AC 0x00d2 IMPRESSION_CLÉ
0x0c 0x0209 Propriétés AC 0x0082 ACCESSOIRES_CLÉS
0x0c 0x021a Annuler AC 0x0083 ANNULER LA CLÉ
0x0c 0x021b Texte pour AC 0x0085 COPIE_CLÉ
0x0c 0x021c Coupure clim 0x0089 COUPE_CLÉ
0x0c 0x021d Colle AC 0x0087 KEY_PASTE
0x0c 0x021e Tout sélectionner dans la climatisation
0x0c 0x021f Recherche AC 0x0088 CLÉ_TROUVE
0x0c 0x0220 Rechercher et remplacer c.a.
0x0c 0x0221 Recherche CA 0x00d9 RECHERCHE CLÉ 1,6 0x0054 KEYCODE_SEARCH
0x0c 0x0222 Climatisation - Accéder à 0x0162 CLÉ_ACCÉDER À
0x0c 0x0223 Google Home AC 0x00ac PAGE_ACCUEIL_CLÉ 3,0 0x0003 KEYCODE_HOME
0x0c 0x0224 Climatisation arrière 0x009e CLÉ_RETOUR 1,6 0x0004 CODE_CLÉ
0x0c 0x0225 CA - Transférer 0x009f AVANT-CLÉ 3,0 0x007d KEYCODE_FORWARD
0x0c 0x0226 Arrêt de la climatisation 0x0080 ARRÊT_CLÉ 3,0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x0227 Actualisation de la climatisation 0x00annonce ACTUALISATION DE LA CLÉ
0x0c 0x0228 AC Lien précédent
0x0c 0x0229 Lien suivant AC
0x0c 0x022a Favoris AC 0x009c MARQUES_CLÉS 3,0 0x00ae MARQUE_CLÉ
0x0c 0x022b Historique AC
0x0c 0x022c Abonnements AC
0x0c 0x022d Zoom avant CA 0x01a2 KEY_ZOOMIN
0x0c 0x022e Zoom arrière sur climatiseur 0x01a3 ZOOM_CLÉ
0x0c 0x022f Zoom AC 0x01a4 RÉINITIALISATION DE LA CLÉ 2
0x0c 0x0230 Affichage en plein écran AC
0x0c 0x0231 Vue normale de la climatisation
0x0c 0x0232 Activer/Désactiver l'affichage CA
0x0c 0x0233 CA Défilement vers le haut 0x00b1 DÉFILEMENT SUR LA CLÉ 3,0 0x005c KEYCODE_PAGE_UP
0x0c 0x0234 CA Défilement vers le bas 0x00b2 DÉFILEMENT SUR LA CLÉ 3,0 0 x 005 j KEYCODE_PAGE_DOWN
0x0c 0x0236 Panoramique CA vers la gauche
0x0c 0x0237 Panoramique CA vers la droite
0x0c 0x0239 CA Nouvelle fenêtre
0x0c 0x023a Tuile pour climatisation horizontale
0x0c 0x023b Tuile CA verticalement
0x0c 0x023c Format CA
0x0c 0x023d Modification AC
0x0c 0x023e AC gras
0x0c 0x023f AC Italique
0x0c 0x0240 Souligné AC
0x0c 0x0241 Barre oblique AC
0x0c 0x0242 Indice AC
0x0c 0x0243 Exposant AC
0x0c 0x0244 Climatisation en majuscules
0x0c 0x0245 Rotation CA
0x0c 0x0246 Redimensionnement AC
0x0c 0x0247 Inclinaison c.a. horizontale
0x0c 0x0248 Inclinaison c.a. verticale
0x0c 0x0249 Miroir vertical pour climatisation
0x0c 0x024a Miroir vertical pour climatisation
0x0c 0x024b Sélection de police AC
0x0c 0x024c Couleur de police AC
0x0c 0x024d Taille de police AC
0x0c 0x024e Justification AC à gauche
0x0c 0x024f AC Justify Center H
0x0c 0x0250 AC Justifier à droite
0x0c 0x0251 Bloc de justification AC (H)
0x0c 0x0252 AC Justify Top
0x0c 0x0253 AC Justify Center V
0x0c 0x0254 AC Justify Bottom
0x0c 0x0255 AC Justify Block V
0x0c 0x0256 Réduction du retrait AC
0x0c 0x0257 Augmentation du retrait AC
0x0c 0x0258 Liste numérotée AC
0x0c 0x0259 Numérotation des redémarrages sur secteur
0x0c 0x025a Liste à puces AC
0x0c 0x025b Promotion CA
0x0c 0x025c Rétrogradation CA
0x0c 0x025d AC Oui
0x0c 0x025e Numéro de clim
0x0c 0x025f Annulation de la climatisation 0x00df ANNULER LA CLÉ
0x0c 0x0260 Catalogue CA
0x0c 0x0261 Achat / paiement AC
0x0c 0x0262 Ajout au panier pour la climatisation
0x0c 0x0263 Expansion CA
0x0c 0x0264 Tout développer
0x0c 0x0265 Réduction AC
0x0c 0x0266 AC Réduire tout
0x0c 0x0267 Aperçu avant impression AC
0x0c 0x0268 Collage spécial pour climatisation
0x0c 0x0269 Mode d'insertion secteur
0x0c 0x026a Suppression de CA
0x0c 0x026b Verrouillage de clim
0x0c 0x026c Déverrouillage c.a.
0x0c 0x026d Protecteur de clim
0x0c 0x026e Désactiver la protection de la clim
0x0c 0x026f Joindre un commentaire AC
0x0c 0x0270 Suppression du commentaire AC
0x0c 0x0271 Afficher le commentaire AC
0x0c 0x0272 AC Sélectionner un mot
0x0c 0x0273 AC Sélectionner une phrase
0x0c 0x0274 Sélectionner un paragraphe AC
0x0c 0x0275 AC Sélectionner une colonne
0x0c 0x0276 Sélectionner la ligne AC
0x0c 0x0277 Table de sélection AC
0x0c 0x0278 Sélectionner un objet AC
0x0c 0x0279 Répéter / Répéter le climatiseur 0x00b6 KEY_REDO
0x0c 0x027a Tri AC
0x0c 0x027b Tri AC Ordre croissant
0x0c 0x027c Tri AC (ordre décroissant)
0x0c 0x027d Filtre CA
0x0c 0x027e Régler l'horloge sur la climatisation
0x0c 0x027f Vue clim
0x0c 0x0280 AC Sélectionner le fuseau horaire
0x0c 0x0281 Modifier les fuseaux horaires AC
0x0c 0x0282 Régler l'alarme sur la climatisation
0x0c 0x0283 Alarme transparente pour climatisation
0x0c 0x0284 Alarme répétée (secteur)
0x0c 0x0285 Alarme de réinitialisation de la clim
0x0c 0x0286 Synchronisation CA
0x0c 0x0287 Envoi/Réception AC
0x0c 0x0288 Envoyer à AC
0x0c 0x0289 Réponse AC 0x00e8 RÉPONSE_CLÉ
0x0c 0x028a AC Répondre à tous
0x0c 0x028b Message de transfert AC 0x00e9 KEY_FORWARDMAIL
0x0c 0x028c Envoi AC 0x00e7 KEY_SEND
0x0c 0x028d Joindre un fichier AC
0x0c 0x028e Importation AC
0x0c 0x028f Téléchargement CA (Enregistrer la cible sous)
0x0c 0x0290 Bordures définies pour la climatisation
0x0c 0x0291 Ligne à insérer AC
0x0c 0x0292 Colonne à insérer AC
0x0c 0x0293 Fichier d'insertion AC
0x0c 0x0294 Insérer une image AC
0x0c 0x0295 Objet d'insertion AC
0x0c 0x0296 Symbole Insertion AC
0x0c 0x0297 Enregistrement et fermeture pour la climatisation
0x0c 0x0298 Renommer AC
0x0c 0x0299 Fusion CA
0x0c 0x029a Séparateur secteur
0x0c 0x029b CA Distribuer : Horizontalement
0x0c 0x029c Climatisation - Répartir verticalement

Mappages non HID supplémentaires

Ces mappages décrivent des fonctions qui n'apparaissent pas dans HID, mais pour lesquelles Linux codes de clé existent.

LKC Nom du code clé Linux Version AKC Nom du code clé Android Notes
0x01d0 CLÉ_FN 3,0 0x0077 KEYCODE_FUNCTION
0x01d1 CLÉ_FN_Échap 3,0 0x006f CODE_CLÉ_ÉCHAP 3
0x01d2 CLÉ_FN_F1 3,0 0x0083 CODE_CLÉ_F1 3
0x01d3 CLÉ_FN_F2 3,0 0x0084 KEYCODE_F2 3
0x01d4 CLÉ_FN_F3 3,0 0x0085 KEYCODE_F3 3
0x01d5 CLÉ_FN_F4 3,0 0x0086 KEYCODE_F4 3
0x01d6 CLÉ_FN_F5 3,0 0x0087 KEYCODE_F5 3
0x01d7 CLÉ_FN_F6 3,0 0x0088 KEYCODE_F6 3
0x01d8 CLÉ_FN_F7 3,0 0x0089 KEYCODE_F7 3
0x01d9 CLÉ_FN_F8 3,0 0x008a KEYCODE_F8 3
0x01da CLÉ_FN_F9 3,0 0x008b KEYCODE_F9 3
0x01db CLÉ_FN_F10 3,0 0x008c CODE_CLÉ_F10 3
0x01dc CLÉ_FN_F11 3,0 0x008d KEYCODE_F11 3
0x01 jj CLÉ_FN_F12 3,0 0x008e KEYCODE_F12 3
0x01de CLÉ_FN_1 3,0 0x0008 CODE_CLÉ 3
0x01df CLÉ_FN_2 3,0 0x0009 CODE_CLÉ_2 3
0x01e0 CLÉ_FN_D 3,0 0x0020 KEYCODE_D 3
0x01e1 CLÉ_FN_E 3,0 0x0021 KEYCODE_E 3
0x01e2 CLÉ_FN_F 3,0 0x0022 KEYCODE_F 3
0x01e3 CLÉ_FN_S 3,0 0x002f CODES_CLÉS 3
0x01e4 CLÉ_FN_B 3,0 0x001e KEYCODE_B 3

Anciennes clés non compatibles

Ces mappages apparaissaient dans les versions précédentes d'Android, mais ne correspondaient pas à HID ou codes de touches Linux non standards. Ils ne sont plus acceptés.

LKC Nom du code clé Linux Version AKC Nom du code clé Android Notes
0x00db E-MAIL_CLÉ 1,6 0x004d CODE_CLÉ 4
"" "" 4.0 4
0x00e3 ÉTOILE_CLÉ 1,6 0x0011 ÉTOILE_CLÉ 4
"" "" 4.0 4
0x00e4 KEY_SHARP 1,6 0x0012 LIVRE_CODE_CLÉ 4
"" "" 4.0 4
0x00e5 CLÉ_SOFT1 1,6 0x0052 MENU_KEYCODE 4
"" "" 4.0 4
0x00e6 KEY_SOFT2 1,6 0x0002 KEYCODE_SOFT_RIGHT 4
"" "" 4.0 4
0x00e7 KEY_SEND 1,6 0x0005 APPEL_CLÉ 4
"" "" 4.0 4
0x00e8 CENTRE_CLÉ 1,6 0x0017 CENTRE_DE_KEYCODE_DAPD 4
"" "" 4.0 4
0x00e9 KEY_HEADSETHOOK 1,6 0x004f KEYCODE_HEADSETHOOK 4
"" "" 4.0 4
0x00ea CLÉ_0_5 1,6 4
0x00eb CLÉ_2_5 1,6 4

Notes

  1. Code clé Android associé aux caractères alphanumériques et symboliques courants peuvent varier en fonction de la disposition et de la langue du clavier. Pour des raisons d'historique, les codes de scan physique et les utilisations de HID associées aux touches d'un clavier sont souvent définies même si les étiquettes imprimées sur ces clés langue vers une autre.

    Sur un clavier QWERTY, la touche alphabétique située en haut à gauche est intitulée Q. Sur un clavier français (AZERTY), la touche de la même est l'étiquette A. Malgré le libellé, les touches en haut à gauche est appelée à l'aide de l'utilisation HID 0x07 0x0014 qui est mappée avec le code de clé Linux KEY_Q.

    Lorsqu'Android est configuré avec un clavier en anglais américain, le code de clé Linux KEY_Q sera mappé au code de la clé Android KEYCODE_Q et générera les caractères « Q » et "q". Cependant, lorsqu'Android est configuré avec un clavier français, le code de clé Linux KEY_Q sera mappé au code de la clé Android KEYCODE_A et générera les caractères « A » et "a".

    Le code de la clé Android reflète généralement la l'interprétation de la clé. Un code de clé Android différent peut donc pour différentes langues.

  2. 0x0c 0x022f AC Zoom est défini dans le HID comme une commande linéaire, mais le noyau la mappe en tant que clé, ce qui est probablement incorrect.

  3. Les touches de fonction Linux KEY_FN_* sont mappées sur des touches les codes de touche, mais sont envoyés avec l'état méta META_FUNCTION. est défini sur "true".

  4. Avant Android Ice Cream Sandwich 4.0, la disposition des touches par défaut contenaient des mappages pour des codes de clé supplémentaires non définis dans les en-têtes principaux du noyau Linux. Ces mappages ont depuis ont été supprimées, car ces codes de clavier non définis n'étaient pas définis plusieurs significations ont depuis été attribuées dans les versions plus récentes du noyau Linux.

Sources

  1. Tables d'utilisation USB HID v1.12
  2. Noyau Linux 2.6.39: include/linux/input.h, pilotes/hid/hid-input.c
  3. Android ICS: qwerty.kl, Generic.kl, KeyEvent.java