KEY

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Begriffsklärung Der Titel dieses Artikels ist mehrdeutig. Weitere Bedeutungen finden sich unter KEY (Begriffsklärung).
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-Disable
    • POKE $C646,0   KEY Enable
  • Modulversion/SB2:
    • POKE $C644,10 KEY-Disable
    • POKE $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.