KEY
KEY | |
Syntax: | KEY <n>, <string> KEY 0 |
Parameter | |
n: Funktionstastennummer (1..16) | |
string: Zeichenfolge (max. 15 Zeichen) | |
Einordnung | |
Typ: | Kommando |
Kontext: | Programmierhilfe |
Aufgabe: | Belegen der F-Tasten |
Abkürzung: | keine |
Token: | $64 $74 (100 116) |
Verwandte Befehle | |
DISPLAY - INKEY |
Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort KEY.
Typ: Kommando Syntax: KEY <n>,<string>
KEY 0
Mit Hilfe von KEY können die Funktionstasten mit Zeichenfolgen belegt werden, die beim Drücken der entsprechenden Funktionstaste auf dem Bildschirm zur Anzeige kommen oder die korrespondierenden Aktionen auslösen. Diese Zeichenfolgen dürfen aus allen zulässigen Zeichen zusammengesetzt und bis zu 15 Zeichen lang sein. Sinnvoll sind typischerweise Funktionstastenbelegungen, die bestimmte, oft verwendete BASIC-Befehle produzieren, etwa eine persönliche Farbeinstellung (wie COLOUR 11,12 o.ä.). Ein zulässiges Zeichen ist auch jenes der Taste Return entsprechende, welches mit dem Ausdruck +CHR$(13)
dem Parameter string hinzugefügt werden kann. Simons' Basic stellt aber nicht nur die Belegung für 8, sondern sogar für 16 Funktionstasten zur Verfügung. Die Funktionstasten ab Nummer 9 erreicht man, wenn zusätzlich die C= -Taste gedrückt hält: <F9> ist die Tastenkombination C= +F1 , <F10> erhält man durch C= +Shift +F1 usw. KEY kann auch innerhalb von Programmen verwendet werden. Auf diese Weise kann man sich eine rekonstruierbare Funktionstastenbelegung schaffen.
Leider ist es nicht möglich, wie im Handbuch empfohlen, eine Funktionstastenbelegung durch einen Leerstring zu löschen. Ähnlich wie bei DUMP erscheinen daraufhin bei Drücken der "gelöschten" Funktionstaste 256 wirre Zeichen auf dem Bildschirm.
Es geht aber anders: Um z.B. die Belegung für F1 zu löschen, gibt man ein:
KEY 1,CHR$(0)
.
Eine falsche Angabe bei Parameter n führt zur Fehlermeldung ?BAD MODE ERROR oder bei negativem n zu ?ILLEGAL QUANTITY ERROR.
KEY 0
zeigt die Belegung der Funktionstasten an.
Weniger bekannt ist, dass durch Schreiben des Wertes 10 in das KEY-Disable-Flag die Ausgabe der Funktionstastenbelegung abgeschaltet werden kann.
Man schaltet sie wieder ein durch Schreiben eines beliebigen Wertes<>10 in das Flag.
- Diskettenversion/TSB:
POKE $C646,10
KEY-DisablePOKE $C646,0
KEY Enable
- Modulversion/SB2:
POKE $C644,10
KEY-DisablePOKE $C644,0
KEY-Enable
Die Funktionstastenbelegung wird in einem Speicherbereich von 256 Bytes (16*16) abgelegt, dessen Startadresse je nach Simons Basic Version verschieden ist:
- $C64D Diskettenversion/TSB
- $C64B Modul/SB2
Außer bei TSB wird dieser Bereich beim Start von Simons Basic mit Nullen überschrieben und damit die Belegung gelöscht.
Der KEY-Befehl enthält eines der beiden Simons' Basics Ostereier (das gleiche enthält der Befehl PLOT): Gibt man die folgende Zeile ein
KEY,128
dann antwortet der Interpreter mit der Textausgabe "ds-cbm". Dies gilt nicht für TSB.
Dieser Befehl wurde in TSB um weitere Funktionen erweitert, siehe KEY (TSB).
Beispiel[Bearbeiten | Quelltext bearbeiten]
KEY 1,"COLOUR 11,12"+CHR$(13)
Mit dieser Definition wird beim Drücken von F1 die Farbeinstellung mittels COLOUR aktiviert.
$ | % | @ | ANGL | ARC | AT | AUTO | BCKGNDS | BFLASH | BLOCK | CALL | CENTRE | CGOTO | CHAR | CHECK | CIRCLE | CMOB | COLD | COLOUR | COPY | CSET | DELAY | DESIGN | DETECT | DIR | DISABLE | DISAPA | DISK | DISPLAY | DIV | DOWN | DRAW | DUMP | DUP | ELSE | END LOOP | END PROC | ENVELOPE | ERRLN | ERRN | EXEC | EXIT | EXOR | FCHR | FCOL | FETCH | FILL | FIND | FLASH | FRAC | GLOBAL | GRAPHICS | HI COL | HIRES | HRDCPY | INKEY | INSERT | INST | INV | JOY | KEY | LEFT | LIN | LINE | LOCAL | LOOP | LOW COL | MEM | MERGE | MMOB | MOB OFF | MOB SET | MOD | MOVE | MULTI | MUSIC | NO ERROR | NRM | OFF | OLD | ON ERROR | ON KEY | OPTION | OUT | PAGE | PAINT | PAUSE | PENX | PENY | PLACE | PLAY | PLOT | POT | PROC | RCOMP | REC | RENUMBER | REPEAT | RESET | RESUME | RETRACE | RIGHT | RLOCMOB | ROT | SCRLD | SCRSV | SECURE | SOUND | TEST | TEXT | TRACE | UNTIL | UP | USE | VOL | WAVE