KEY |
Touche |
---|---|
Turbo Basic |
Syntaxe
KEY n,x$ |
KEY n, CHR$(shiftstatus)+CHR$(scancode) |
KEY LIST |
KEY ON |
KEY OFF |
KEY(n) {ON|OFF|STOP} |
Paramètres
Nom | Description | |
---|---|---|
n | Ce paramètre permet d'indiquer le numéro de la touche de fonction: | |
Valeur | Description | |
1 | Cette valeur indique la touche de fonction F1 | |
2 | Cette valeur indique la touche de fonction F2 | |
3 | Cette valeur indique la touche de fonction F3 | |
4 | Cette valeur indique la touche de fonction F4 | |
5 | Cette valeur indique la touche de fonction F5 | |
6 | Cette valeur indique la touche de fonction F6 | |
7 | Cette valeur indique la touche de fonction F7 | |
8 | Cette valeur indique la touche de fonction F8 | |
9 | Cette valeur indique la touche de fonction F9 | |
10 | Cette valeur indique la touche de fonction F10 | |
11 | Cette valeur indique la touche ↑ | |
12 | Cette valeur indique la touche ← | |
13 | Cette valeur indique la touche → | |
14 | Cette valeur indique la touche ↓ | |
x$ | Ce paramètre permet d'indiquer la chaîne de caractères à envoyer lorsque la touche de fonction spécifié est appuyé par l'utilisateur | |
LIST | Ce paramètre permet d'afficher les 15 premiers caractères de message mémorisé pour les 10 touches de fonctions. | |
ON | Ce paramètre permet d'autoriser la dernière ligne d'affichage à montré les valeurs des touches de fonction. | |
OFF | Ce paramètre permet d'effacer la dernière ligne d'affichage montrant les valeurs des touches de fonction. |
Description
Cette commande permet d'effectuer la gestion des touches de fonctions.
Remarques
- Les instructions KEY ON et KEY OFF activent et désactivent l'affichage de la touche de fonction en bas de l'écran. Notez que le fait d'éteindre l'écran n'affecte pas les définitions des touches de fonction. L'instruction KEY LIST envoie les définitions de touches de fonction actuelles à l'écran. Lorsque les touches de fonction sont affichées, la 25ème ligne de l'écran ne fait jamais défiler et toute tentative de LOCATE du curseur sur cette ligne entraîne un appel de fonction illégal (erreur d'exécution 5) :
- L'instruction KEY n, expression de chaîne de caractères définit la touche de fonction n en expression de chaîne de caractères, l'expression de chaîne ne dépassant pas 15 caractères (seuls les 6 premiers caractères apparaissent sur la ligne d'état). Pour désactiver une touche de fonction, attribuez-lui la chaîne de caractères nulle. Un retour chariot dans la chaîne de caractères (soit CHR$(13)) est affiché sous la forme d'une petite flèche à gauche.
- L'instruction KEY n, CHR$(shiftstatus)+CHR$(scancode) associe une touche (ou une combinaison de touches) à un nombre (n, compris entre 15 et 20) pour le recouvrement de touche avec les instructions suivantes «ON KEY» et «KEY (n) ON». Le format est le suivant : shiftstatus est une expression entière comprise entre 0 et 255 contrôlant la réponse de l'interruption à l'état des touches Ctrl, Caps Lock, Num Lock, Alt et les touches Shift. scancode est une valeur numérique comprise entre 1 et 83 définissant la touche à intercepter, conformément au tableau des codes de balayage. Notez que les touches 59 à 68, 72, 75, 77 et 80 sont déjà capturées (elles sont touches de commande de curseur et de fonction), leur définition est donc sans effet. Utilisez ce qui suit pour créer une valeur pour shiftstatus :
- L'instruction «KEY(n) ON» active le recouvrement de la touche n. Cette situation signifie qu'une vérification est faite entre chaque déclaration pour voir si la touche n a été enfoncée; et si c'est le cas, l'exécution du programme est déviée vers la routine spécifiée dans une instruction ON KEY pour cette touche.
- L'instruction «KEY (n) OFF» désactive le recouvrement de la touche n.
- L'instruction «KEY (n) STOP» désactive également l'interception de touches, mais se souvient de l'occurrence d'une pression sur KEY(n). Ainsi, si une instruction KEY ON est exécutée par la suite, une interruption se produit immédiatement.
Illegal Function Call |
Touche | Valeur binaire | Valeur hexadécimal |
---|---|---|
Right Shift | 00000001 | 01 |
Left Shift | 00000010 | 02 |
Ctrl | 00000100 | 04 |
Alt | 00001000 | 08 |
Num Lock | 00100000 | 20 |
Caps Lock | 01000000 | 40 |
Par exemple, supposons que nous voulions piéger Shift+Esc; c'est-à-dire que nous souhaitons qu'un certain sous-programme soit contrôlé chaque fois que vous appuyez sur la touche Esc avec l'une des touches Shift. Tout d'abord, vous devez créer le masque shiftstatus. Vous voulez que les deux touches Shift soient reconnues, vous devez donc ajouter les masques pour chacune: 01h + 02h = 03h. Ensuite, vous pouvez consulter le tableau des codes de numérisation et découvrir que la touche Esc a le code de numérisation 1. L'instruction suivante indique à Turbo Basic votre plan :
KEY 15,CHR$(&03) + CHR$(1)
Vous devez utiliser la valeur de touche 15 car les 14 premiers sont prédéfinis pour représenter les touches de commande de fonction et de curseur. Ensuite, vous définissez un sous-programme de trappes à appeler chaque fois que vous appuyez sur Shift+Esc :
ON KEY(15) GOSUB ShiftEscape
où ShiftEscape est une étiquette au début du sous-programme piège. Enfin, vous activez le recouvrement pour la touche 15 avec l'instruction «KEY(n)» :
KEY(15) ON
Références
INFOGUIDE - Turbo Basic, Editions P.S.I., Bénédicte Hudault, 1988, ISBN: 2-86595-531-1, page 96