Table des Matières du Clavier      Index du Clavier

Plus sur la Transformation du Clavier

La table de touches enregistre les valeurs de caractère en utilisant l'encodage UTF-8 du Standard Unicode, permettant de transformer des touches en caractères dans tous les scripts du monde. UTF-8 encode des valeurs Unicode 16-bits en un nombre variable d'octets (de un à quatre). Le bénéfice principal pour utiliser UTF-8 est que des caractères UTF sur un unique octets de $00 à $7F sont identiques au standard ASCII qui existe depuis des décennies.

Un message B_KEY_DOWN contient le caractère transformé en la touche que l'utilisateur à pressée sous forme d'un tableau d'octets appelé simplement "octet". Le tableau et passé sous forme de chaîne à la fonction crochée (hook) KeyDown() accompagnée du nombre d'octets contenus dans la chaîne:

  • virtual void KeyDown(const char *bytes, int32 numBytes)

    Voir "Encodage d'un Caractère " dans la section "Réponse à l'Utilisateur " du kit d'interface pour une description de l'encodage UTF-8 et get_key_map() pour une explication de la transformation de caractère.

    La plupart des touches sont transformées en plus d'un caractère. Le caractère précis que la touche produit dépend des touches modificatrices qui sont maintenues pressées et des états de vérouillage dans lequel se trouve le clavier au moment où la touche est enfoncée.

    Quelques exemples sont donnés dans le tableau si dessous :

    Touche Pas de modificateurs Shift tout seul Option tout seul Shift & Option Control(Ctrl)
    0x15 4 $ 4
    0x18 7 & xa6 xa4 7
    0x26 B_TAB B_TAB B_TAB B_TAB B_TAB
    0x2e i I B_TAB
    0x40 g G " 0x07
    0x43 k K B_PAGE_UP
    0x51 n N ñ Ñ 0x0e
    0x55 / ? xb8 xc0 /
    0x64 B_INSERT 0 B_INSERT 0 B_INSERT

    La transformation suit des règles précises, incluant celles-ci :

    La transformation de touche par défaut suit aussi les règles conventionnelles pour Caps Lock et Contrôle (Ctrl):


    Table des Matières du Clavier     Index du Clavier


    The Be Book,
    ...in lovely HTML...
    for BeOS Release 5.

    Copyright © 2000 Be, Inc. All rights reserved..