APPLICATIONSDIVERS ★ Verschiedene Tastaturen unter CP/M ★

WSTASTEN.COM (Happy Computer)Applications Divers
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Was man in Basic einfach mit den Befehlen »KEY DEF« erreicht, ist unter CP/M manchmal ein schwieriges Unterfangen. Die Tastatur läßt sich zum Beispiel nur mit ein paar Tricks umdefinieren.

Normalerweise kann man unter CP/M die Tastenbelegung nur ändern, wenn man das Programm »SETUP« auf der Schneider-Systemdiskette, beziehungsweise »Install« auf der Systemdiskette von Vortex, aufruft. Oder man benutzt eine schon vorbereitete Diskette mit der gewünschten Tastenbelegung. Angenehmer ist es, wenn man eine beliebige Tastatur »mit Tastendruck« aufrufen kann. Also beispielsweise einfach »WSTASTEN« eingeben und schon steht eine für »Wordstar« besonders geeignete Belegung zur Verfügung. Das ist vor allem dann wichtig, wenn man verschiedene Programme besitzt, die unterschiedliche Codes zur Cursorsteuerung benutzen. Je nach Anwendungszweck passende Funktionstasten sollten sich leicht aufrufen lassen. Mit der hiervorgestellten Routine geht das.

Alle »...TASTEN. COM«-Programme haben einen gemeinsamen Kerntei! und einen individuellen Anhang, der die spezielle Tastenbelegung enthält. Beim Aufruf durch den Namen setzt der Kernteil zunächst die Tastatur in den Ausgangszustand zurück und belegt sie dann mit den im Anhang angegebenen Codes. Dabei kann die Nummer der Funktionstaste als auch der String, der auf diese gelegt werden soll, frei gewählt werden.

Zum Schluß wird noch eine vom Benutzer bestimmte Meldung ausgegeben, die beispielsweise den Namen der Tasten-belegung oder eine Farb-/Modeeinstellung des Bildschirms enthalten kann.

Für alle, die Ihre Programme nur in Basic eingeben wollen, ist Listing 2 gedacht. Tippen Sie es zunächst bis zur Zeile 10400 ein. Das wird später der Kernteil des COM - Programm es. Am besten speichern Sie die Zeilen dann, um später die Grundfunktionen immer wieder zur Verfügung zu haben,

ln den Zeilen 100 und 120 können Sie den Namen eintragen, den später Ihre Tastenbelegung haben soll. Achten Sie aber darauf, daß der Namensteil nach dem Punkt unbedingt »COM* heißen muß. Da unser Beispiel das Programm »Wordstar« verbessern soll, heißt die Routine aus Listing 2 »WSTASTEN«.

In der Zeile 10410 beginnen die Definitionen der maximal 32 Funktionenstrings mit Nummern zwischen 0 und 31. Sinnvollerweise schreibt man in eine Zeile genau einen Funktionsstring, so daß an erster Stelle immer die Nummer des Strings steht. An zweiter Stelle steht dann die Länge und an den folgenden Stellen die Zeichen, die den String bilden.

Dabei haben Sie die Wahl zwischen zwei verschiedenen Wegen:

  • Wenn es sich um ein Zeichen mit ASCII-Code handelt (beispielsweise »A«), dann schreiben Sie ein Ausrufezeichen, gefolgt von dem jeweiligen Zeichen. Diese Methode kann jedoch nicht bei Symbolen benutzt werden, die im Basic eine besondere Bedeutung haben. Diese müssen mit Hilfe des zweiten Weges eingegeben werden.
  • Wenn es sich um ein Zeichen handelt, das nicht darstellbar ist (zum Beispiel Wagenrücklauf), dann müssen Sie es hexadezimal eingeben. Soll im String also ein Anführungszeichen Vorkommen, so muß es mit Code 22 eingegeben werden (ohne vorausgehendes »&«).

Die Strings dürfen dabei übrigens auch durcheinander im Programm stehen und — auch wichtig — es müssen nicht alle Strings definiert werden. Das Ende der Tabelle wird mit einem Byte FF hex gekennzeichnet

Unmittelbar nach der Stringtabelle (in unserem Beispiel ab Zeile 10760) folgt die Belegung der Tastatur. Der Aufbau einer Zeile der Tabelle ist mit Ausnahme des Repeat-Flags (Wiederholungsfunktion) analog zu einem »KEY DEF«-Befehl. In jeder Zeile steht zunächst die Tastennummer, danach der Code der Taste im Normalmodus. Danach der Code der Taste, wenn Sie zusammen mit Shift gedrückt ist und zum Schluß der Code der Taste im Ctrl-Modus. Die Codes 80 bis 9Fhex repräsentieren jeweils einen Funktionsstring mit einer Nummer zwischen 00 und 1Fhex. Sie können also die 32 oben definierten Funktionenstrings nicht nur auf den Zahlenblock der Tastatur legen, sondern aut wählbare Tasten.

Die Eingabe der Codes erfolgt genau wie bei den Funktionenstrings entweder als Hexzahl oder als » ! «-Zeichen-Kombination. Die Länge der Tabelle ist hier ebenfalls beliebig und wird durch ein Byte mit dem Wert FF hex gekennzeichnet.

Als letztes folgt die Meldung, die beim Aufrufen der Routine ausgegeben werden soll. Der Meldetext muß hier allerdings durch ein Zeichen »$« mit dem Code 24 hex beendet werden. Sinnvoll ist, in diesem Text auch gleich die Definition der Bildschirmfarben und des Bildschirmmode einzufügen.

Das Ende des Datenbereichs ist im Programm durch den Text »Ende« gekennzeichnet.

Geben Sie jetzt das Programm vollständig ein und starten Sie es. Wenn sich ein Fehler im Programm befindet, wird Ihnen die Nummer der fehlerhaften Zeile mitgeteilt. Wenn das Programm korrekt ist (also die Prüfsumme auch stimmt), dann erscheint die Meldung »Alles o.k.«. Auf Ihrer Diskette befindet sich nun eine neue Datei mit dem Namen, der in der Zeile 120 hinter »OPENOUT« angegeben ist. Das Basic-Programm brauchen Sie jetzt nicht mehr—außer Sie möchten die Tastenbelegung noch einmal ändern.

Schalten Sie nun in den CP/M-Modus um und tippen Sie den Namen der neuen Datei (ohne ».COM«). Sofort steht die neue Tastenbelegung zur Verfügung. Wenn Sie im Basic-Programm den Namen in Zeile 120 ändern, können Sie auf derselben Diskette mehrere Tastaturbelegungen mit verschiedenen Namen ablegen.

Falls das Programm nicht funktioniert, dann befindet sich ein vom Prüfsummenzähler nicht entdeckter Fehler im Basic-Programm. Das kann beispielsweise eine vollständig vergessene DATA-Zeile sein. Dann hilft nur genaues Überprüfen der einzelnen Zeilen.

Listing 1 enthält den Kernteil aller Tastenbelegungen in 8080-Assembiercode. Dieses können Sie analog zu der oben angegebenen Beschreibung mit Ihrer persönlichen Tastenbelegung ergänzen und mit Hilfe des CP/M-Assemblers »ASM« und dem »LOAD«-Programm übersetzen. Der Aufruf des entstandenen COM-Programms belegt dann die Tastatur entsprechend Ihren Wünschen.

Das abgedruckte Beispiel-Programm enthält die Funktionstastenbelegung für ein »Wordstar«-Programm. Diese Tastenbelegung wurde so ausgewählt, daß wirklich jede einzelne freie Taste sinnvoll belegt ist. Erst jetzt ist das Arbeiten mit »Wordstar« optimal möglich. In Tabelle 1 finden Sie die Tastenbelegung dieses Beispiels.

Natürlich können Sie eigene Änderungen einbauen — beispielsweise bei den Sonderzeichen, die wegen der deutschen Umlaute umpositioniert werden mußten. Beachten Sie aber, daß bei einer Standard-Tastatur die Lage der Control-Codes durch die übrigen Tasten vorgegeben ist. Wenn Sie sich nicht daran halten, kommen Sie bei komplexen Programmen leicht in Schwierigkeiten.

Alle Tasten, die mit Codes zwischen 40 und 55 hex belegt sind, müssen in der Ctrl-Ebene mit dem um 40 hex verminderten Code belegt sein. Die Taste »A« (mit dem Code 41 hex) liefert also in der Ctrl-Ebene den Wert 41 — 40 = 01 hex. Wenn Sie die »Y«- und die »Z«-Taste vertauschen oder die Umlaute auf der Tastatur positionieren wollen, müssen Sie das beachten. Eine unbelegte Taste müssen Sie mit FF hex kennzeichnen und nicht mit 00 hex.

ESC:Hilfe (^J)
Befehl abbrechen (^U)
Escape (^[)
CLRnach rechts bis Ende
öschen (^QY)
rechtes Wort löschen (^T)
rechts Zeichen löschen (^G)
TAB:Tabulator löschen ( ^ON)
Tabulator setzen ((^OI)
Tabulator ausführen (^I)
DELlinks bis Anfang löschen (^QDEL)
ganze Zeile löschen (^Y)
linkes eichen löschen (DEL)
CAPS LOCK:Randlöser (^OX)
Großbuchstaben feststellen
Großbuchstaben feststellen
ENTER:Elnfügemodus ein/aus (^V)
Leerzetle einfügen (^N)
Absatz (CR)
SPACE:Suchen wiederholen (^L)
allgemein wiederholen (^QQ)
Leertaste
CUR UP:Zum Textanfang (^QR)
Seite zurück (^R)
Zelle nach oben (^E)
CUR LEFT:zum linken Rand (^QS)
Wort nach links (^A)
Zeichen links (^S)
COPY:Hitfe (^J)
Absatz formatieren (^B)
Cursor Home (^QS^QE)
CUR
DOWN:
Zum Textende (^QC)
Seite vorblättem (^C)
Zelle runter (^X)
CUR RIG:Zum rechten Rand (^QD)
Wort rechts (^F)
Zeichen rechts (^D)
F1:abwärts rollen (^Z)
Blocksatz ein/aus (^OJ)
F7:Block speichern (^KW)
Blockanfang merken (^KB)
F2:Directory ein/aus (^KF
Absatz einrücken (^OG)
F8:Block/Datei einfügen (^KR)
Blockende merken (^KK)
F3:aufwärts rollen (^W)
Zeile zentrieren (^OC)
F9:Block löschen (^KY)
Block invertieren (^KH)
F4:Text sichern (^KS)
Laufwerk wechseln (^KL)
F0:Rand links zum Cur (^OL1^)
Linken Rand stellen (^OL)
F5:Text beenden (^KD)
Datei umbenennen (^KE)
F:Cursor an letzte Position (TQP) Rechten Rand stellen (TR)
F6:(^M^KRBRIEF.VOR^M)
Datei löschen (^KJ)
FENTER:Merker setzen (^K) + Ziffer
Merker suchen (^Q) + Ziffer neue Zeile, ohne Absatz (^QS^X)

  1. Zeile: Teste + Ctrl
  2. Zeile: Taste + Shift
  3. Zeile: Taste allein

Hinweis zur Taste F6: Nach Eingabe des Dateinamens beim Start von WS statt Enter die Taste Gtrl+F6= > alle wichtigen Voreinstellungen für Brief.
Hinweis zur Taste Fenter: Unmittelbar nach Merker setzen/löschen muß eine Zaht eingegeben werden , um Merker genauer zu bestimmen.
Die mit F gekennzeichneten Zahlen beziehen sich auf den Ziffernblock.

Helmut Tischer, HC

★ PUBLISHER: Happy Computer
★ YEAR: 1986
★ CONFIG: CP/M
★ LANGUAGE:
★ AUTHOR: Helmut Tischer
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» WSTASTEN.COM    (Happy  Computer-Sonderheft)    GERMANDATE: 2021-03-20
DL: 139
TYPE: ZIP
SiZE: 5Ko
NOTE: 40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Windowkey
» Applications » Function Keys (Amstrad Action)
» Applications » RSX Key-Arrow
» Applications » Keyboard Chords Tutor/Keyboard Chords Tutor Mark II (Amstrad Computer User)
» Applications » Function Key Lister (Computing With the Amstrad)
» Applications » Key-RSX (Amstrad Action)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 717 millisecondes et consultée 683 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.