Table des Matières du Clavier      Index du clavier

Definitions

Ce document liste et décrit les termes et concepts associés au clavier avec lesquels vous devriez être familiarisés.


Codes desTouches

Il existe des claviers de styles et de tailles différents, avec un nombre différent de touches, quelquefois à des positions différentes. Certaines touches ou symboles apparaissent même plus d'une fois sur le même clavier —par exemple, la plupart des claviers ont deux touches retour chariot (quelquefois une ou les deux sont appelées "retour"). La plupart des claviers ont deux touches Shift, et la plupart ont deux touches qui peuvent générer le caractère "=" — l'une des deux sur le pavé numérique.

Chacune de ces touches est unique en ce qui concerne le matériel, même si habituellement elles génèrent le même résultat en ce qui concerne l'utilisateur. À cause de cela, chaque touche a un nombre unique, appelé un code de touche. C'est une valeur numérique d'un octet compris entre 0x01et 0x7F. Il n'y a pas l'équivallent des valeurs ASCII ou Unicode pour les caractères générés par les touches — ce qui a un sens, puisque toutes les touches ne génèrent pas un caractère.

Par exemple, la touche shift gauche a un code de touches de valeur 0x4B, et la touche shift droite a un code de touches de valeur 0x56. Aucune des deux ne génère un événement B_KEY_UP (mêmes si elles générent un événement B_MODIFIERS_CHANGED). L'implication supplémentaire est claire ici : le logiciel peut faire la différence entre ces deux touches —et toutes les autres touches qui génèrent la même valeur Unicode — si elles en ont besoin.

Il est aussi important de signaler que les codes de touches ne font pas la différence entre les touches majuscules et minuscules. Appuyer sur "A " génère le code de touches 0x27 que les majuscules soient activées ou que la touche shift soit maintenue enfoncée ou non.


La Table de Touches

La plupart des logiciels écrits aujourd'hui s'attendent à recevoir des touches dans un format soit ASCII soit Unicode (ou, dans le cas de BeOS, dans un format UTF-8, qui est une forme d'Unicode dans lequel les codes ASCII sont contenus). Aussi évidemment recevoir une valeur de 0x27 pour la touche "A " ne va pas aider un programme qui s'attend à recevoir 0x41, la valeur UTF-8 pour le caractère "A " .

Ainsi clairement les codes de touches que le serveur ajouté en entrée obtient du périphérique clavier ont besoin d'être traduits en UTF-8. Cela est fait en utilisant une table de touches. C'est une table qui peut être utilisée pour chercher un code de touche et déterminer, sur la base du modificateur courant où les touches sont positionnées, les octets UTF-8 qui devraient être générés. Elle détermine aussi quelles touches sont traitées comme des touches modificatrices .

BeOS fournit une table de touches pour une utilisation par toutes les applications. Les applications qui veulent chercher des codes de touche dans la table de touches peuvent appeler get_key_map() pour en avoir une copie. Le panneau de préférence Keymap(Carte de Touches) peut-être utilisé pour configurer le système de tables de touches.


Touches de Caractère

Une touche de caractère est une touche qui est transformée en un octet UTF-8 particulier ou une séquence d'octets. Par exemple, dans la table de touches américaine standard, la touche appelée "A" est transformée en la lettre "a" quand elle est préssée avec aucune touche de modificateur enfoncée "A" quand la touche Maj ou Shift est préssée, et contrôle-A ( code UTF-8 0x01) quand la touche Ctrl est préssée. Les touches de caractère transformées génèrent les messages B_KEY_DOWN et B_KEY_UP quand elles sont enfoncées et relâchées .

Les touches qui ne sont pas transformées en caractères génèrent les messages B_UNMAPPED_KEY_DOWN et B_UNMAPPED_KEY_UP.


Touches de Modification

Les touches de modification initialisent des états qui affectent la manière dont les touches de caractère sont interprétées. Des touches de modification, telle que Maj, permuttent alternativement en une position fermée ou ouverte chaque fois qu'elles sont pressées. Autrement, comme Shift, elles initialisent un état aussi longtemps qu'elles sont préssées.

La table de caractères contient les listes sur la façon d'interpréter chaque touche en fonction des touches de modification qui sont positionnées couramment.


La Touche Scroll Lock (Défilement)

La touche (fermeture du) défilement,Scroll Lock, est unique. Dans le serveur standard en entrée clavier ajouté, elle génère à la fois un caractère est initialise un état de modification.


Les Touches de Répétition

Quand une touche est pressée et maintenue enfoncée, elle produit une série continue de messages B_KEY_DOWN ou B_UNMAPPED_KEY_DOWN , aussi longtemps que la touche est maintenue préssée et qu'on ne presse pas une autre touche. Après le premier message il y a un petit délai avant que la touche ne commence à répéter. Ce délai peut être déterminé en appelant get_key_repeat_delay() et peut-être changé en appelant set_key_repeat_delay() (aussi vous devriez quitter la préférence de l'utilisateur pour cela tout seul ).

Après que la touche commence à répéter, les messages B_KEY_DOWN ou B_UNMAPPED_KEY_DOWN sont envoyés à intervalle fixe ; cet intervalle peut être déterminé en appelant get_key_repeat_rate().

Toutes les touches répètent sauf Pause, Break, Maj, Num Lock, et Scroll Lock.


Touches Mortes

Les touches mortes ne génèrent aucun caractère jusqu'à ce que l'utilisateur appuie sur une autre touche. Si la touche que l'utilisateur appuie après une touche morte est initialisée dans un état particulier, les deux touches ensembles produisent un événement touche appuyée ( et, habituellement, un caractère). Si la deuxième frappe de clavier n'est pas dans cet état d'initialisation, deux événements touche appuyée sont générés.

Les touches mortes sont seulement mortes quand certains modificateurs précis (par défaut, seulement la touche Option ) sont maintenus enfoncés. Elles sont le plus appropriées quand le caractère devant être généré peut être vu comme étant composé de deux parties distinguables— telle un "a" et "e" combinant en "æ".

Le système autorise jusqu'à cinq touches mortes. Par défaut, elles sont réservées pour combiner des signes diacritiques avec d'autres caractères. Les signes diacritiques sont les accents aigus (xab) et graves('), les diérèses (xac ), les circonflexes (xab ), et tildes (xf7 ).


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..