Die hier verwendete Notation ist in einem gesonderten Beitrag zusammengestellt.
Die Anzahl von 35 Tasten wurde beim ersten HP-Taschenrechner, dem HP35, zur Namensgebung verwendet. Beim HP 49G mit seinen 51 Tasten stimmt die Anzahl der Tasten mit dem Namen nicht mehr überein.
Der Name und die Anzahl der Tasten sind ohnehin nicht wesentlich, sondern wichtig ist die Übersichtlichkeit der Tastatur und die Einprägsamkeit der einzelnen Tastengruppen.
Beim HP 49G gibt es folgende Gruppen von Tasten, die farblich gegeneinander abgehoben sind:
- Menütasten [F1] bis [F6]
- Cursortasten
- Befehlstasten
- Zifferntasten, Punkt und SPACE
- Umschalttasten
- Arithmetische Tasten ([+], [-], [x], [÷])
- Systemtaste ([ON]).
Hinweise:
Die Tasten (ausgenommen die Tasten [F1] bis [F6]) haben oben eine gerade und unten eine leicht geschwungene Randlinie.
Bei manchen HP49G-Exemplaren sind einige Tasten verkehrt herum eingesetzt (mit geschwungenem Rand oben). Die Beschriftung dieser Tasten stimmt trotzdem, weil sie erst nach Einbau der Tasten aufgedruckt wird. Diese Tasten sind etwas in der Beweglichkeit behindert. Auch die Tastenbeschriftung nutzt sich leicht ab, weil sie nur aufgedruckt und nicht eingraviert ist.Solche Fehler sollte man noch in der Garantiezeit reklamieren.
Diese Hinweise sind bei Joe Horn nachzulesen:
http://www.jps.net/joehorn/HP49.htm#flaky (?) und
http://www.jps.net/joehorn/HP49.htm#upsidedown (?).Das Benutzerhandbuch (Teilenummer F1633-90008) beschreibt in Kapitel 1 die Tastatur. Es wird empfohlen, dieses Kapitel nochmals durchzulesen.
Im Bild des HP 49G kann man alle aufgedruckten Funktionen und damit die Tastenbelegungen erkennen.
Der HP 49G bietet dem Benutzer die Möglichkeit, die Tastatur nach Bedarf zu belegen, die Belegung abzuspeichern, zu löschen und eine gespeicherte andere Belegung zu aktivieren. Auf diese Weise kann er sich für verschiedene Aufgaben die jeweilige Tastaturbelegung erzeugen und abspeichern und später bei Bedarf aktivieren.
Im nachfolgenden Text wird beschrieben, wie benutzerdefinierte Tastenbelegungen erzeugt, verwendet und verwaltet werden. Für alle Programmbeispiele wird der RPN-Modus vorausgesetzt.
51 Tasten reichen für die vielen Funktionen nicht aus. Ordnete man noch mehr Tasten auf der Vorderseite des Rechners an, würde die Handhabung unübersichtlich und die Fehlbedienung nähme wegen der dann kleineren Tastengröße zu. Deshalb wurden die Tasten in der Standardbelegung schon mehrfach belegt. Auf den Tasten ist deren Bedeutung aufgedruckt, die sich mit der entsprechenden Taste direkt aktivieren lassen. Auf dem Rechnergehäuse ist über den Tasten ein violetter und ein roter Aufdruck angebracht. Diese Funktionen werden mit umgeschalteten Tasten gleicher Farbe erreicht (Näheres im Beitrag "Notation").
Das Benutzerhandbuch zeigt auf der Seite 1-2 das Tastaturlayout und führt auf Seite 1-3 sieben verschiedene Tastenbelegungen auf:
- Haupttastenbelegung
- Menütasten
- Links umgeschaltete Tastenbelegung (mit Tastendruck [leftshift]).
- Rechts umgeschaltete Tastenbelegung (mit Tastendruck [rightshift])
- ALPHA-Tastenbelegung mit Tastendruck [ALPHA]
- Links umgeschaltete ALPHA-Tastenbelegung (mit Tastenfolge [ALPHA][leftshift])
- Rechts umgeschaltete ALPHA-Tastenbelegung (mit Tastenfolge [ALPHA][rightshift])
Mit den Tastendrücken [leftshift-hold] und [rightshift-hold] kommen bei den neueren Versionen des Flash-ROM noch zwei weitere Tastenbelegungen hinzu. Mit zusätzlichen Tools sind weitere Tastatur-Funktionalitäten möglich.
Der HP 49G weist 10 waagrechte Tastenreihen auf.
Die vorhandene Original-Tastenbelegung des HP 49G, Standard-Tastenbelegung genannt, ist im Handbuch ab Seite 1-5 erklärt. Dort ist für jede Tastenreihe die Belegung angegeben. Dabei ist zu beachten, daß die dort für die Reihe 1 angegebenen Funktionen nicht direkt aufrufbar sind. Im Beitrag "Undokumentierte Befehle" ist die richtige Handhabung der Reihe-1-Tasten erläutert.
Bei vielen der sieben oben angeführten Tastenbelegungen werden Menüs und Untermenüs aufgerufen, die weitere Funktionen erschließen.
Wenn der HP 49G fabrikneu geliefert wird, gibt es keine Benutzertastatur. Diese muß, wie der Name schon sagt, vom Benutzer speziell für seine Bedürfnisse eingerichtet und verwaltet werden.
Um eine Taste mit einer vom Benutzer bestimmten Funktion zu belegen, muß die dem Rechner bekannte Tastenkennung verwendet werden. Dabei ist die Anordnung der Tasten von Wichtigkeit, die Tastenbeschriftung spielt dabei keine Rolle.
Das Nummernschema:
- Der Rechner hat 10 waagrechte Tastenreihen.
Die Nummern dieser Reihen (1 bis 10) werden als erster Teil der Tastenkennungen verwendet.
- Jede Tastenreihe hat bis zu 6 Tasten.
Die Nummer in der jeweiligen waagrechten Tastenreihe, also eine Ziffer von 1 bis 6 ist der zweite Teil der Tastenkennung.Zusätzlich werden die verschiedenen Tastenumschaltungen in der Kennung durch die erste angehängte Ziffer nach einem Punkt angegeben:
- .0 oder .1 = Taste ohne Umschaltung
- .2 = [leftshift]-Umschaltung
- .3 = [rightshift]-Umschaltung
- .4 = [ALPHA]-Umschaltung
- .5 = [ALPHA][leftshift]-Umschaltung
- .6 = [ALPHA][rightshift]-Umschaltung
Eine zweite Ziffer "1" nach dem Punkt zeigt an, daß es sich um eine [rightshift-hold]- oder [leftshift-hold]-Umschaltung handelt. Diese Möglichkeit gibt es aber erst bei den neueren Flash-ROM-Versionen.
Tastenkennung:
Eine Tastenkennung ###.## besteht also aus bis zu 3 Ziffern vor dem Punkt und bis zu 2 Ziffern hinter dem Punkt.Beispiele:
- Die [ENTER]-Taste rechts unten hat die Tastenkennung 105.1,
- die Zifferntaste [9] hat die Tastenkennung 74.1,
- [rightshift][TIME] = [rightshift][9] hat die Tastenkennung 74.3 und zeigt das Auswahlmenü TIME,
- [rightshift-hold][TIME] = [rightshift-hold][9] hat die Tastenkennung 74.31 und zeigt das Soft-Menü TIME.
Eine Ausnahme bilden die Pfeiltasten (Cursor-Tasten). Gehören sie nun zur zweiten, dritten oder vierten Tastenreihe?
Hierfür gelten folgende Kennungen:
- Pfeil nach oben = [Cursor up] = [/\] = 25.1,
- Pfeil nach links = [Cursor left] = [<] = 34.1,
- Pfeil nach unten = [Cursor down] = [\/] = 35.1
- Pfeil nach rechts = [Cursor right] = [>] = 36.1.
Wenn man die Tastenkennung nicht durch Abzählen der Tasten ermitteln will, macht man sich am besten ein Programm, das die Tastenkennung im Stack ausgibt.
Das Programm « 0 WAIT » speichert man z.B. in der Variablen 'KEY?'. Nach Aufruf des Programms wartet dieses und gibt nach Eingabe einer Taste bzw. Tastenfolge deren Kennung im Stack aus. Einfacher geht's nicht!
Beispiele:
[KEY?][rightshift][6] oder [KEY?][rightshift][UNITS] liefert die Kennung 84.3,
[KEY?][/\] liefert die Kennung 25.1.
Hinweis:
Das obige selbstgestrickte Programm KEY? kann die erweiterte Tastenkennung (##.#1, mit der "1" auf der zweiten Stelle nach dem Punkt) für Tastenkombinationen (für die [rightshift-hold]- oder [leftshift-hold]-Umschaltung) nicht anzeigen.
Ein Objekt (z. B. ein Programm) kann mit dem Befehl ASN (von englisch: assign = zuordnen) einer Taste zugeordnet (assigned) werden.
Vorgang "Zuordnen":
- Das zuzuordnende Objekt wird in Stackebene 2 gestellt
- die Tastenkennung wird in Stackebene 1 gestellt.
- Der Aufruf von ASN ordnet das Objekt der betreffenden Taste zu.
Jetzt kann im USER-Modus durch Betätigen der belegten Taste, Tastenkombination oder Tastenfolge das Objekt aktiviert werden.
Warnung! Es sollte für den Benutzer selbstverständlich sein, daß er sich nicht durch Tastenbelegungen "aussperrt". Tasten, die für den System-Notdienst, zur normalen Eingabefunktionalität (z. B. ALPHA oder ENTER) oder zur Zurückschaltung vom USER-Modus zur Standardbelegung notwendig sind, sollten nicht mit Benutzerfunktionen belegt werden.
Hat man sich ausgesperrt, bleibt nur der "Warmstart" übrig, mit dem man den USER-Modus verlassen kann. Die Falschbelegung sollte dann anschließend bereinigt werden.
Die Aufhebung einer bestehenden Zuordnung für eine Taste kann auch mit ASN durchgeführt werden.
Vorgang "Aufhebung":
- Der Objektname 'SKEY' (= Standard-Key) wird in Stackebene 2 gestellt
- die Tastenkennung wird in Stackebene 1 gestellt.
- Der Aufruf von ASN hebt die Benutzerbelegung dieser Taste auf und aktiviert die Standardbelegung.
Eine bestehende Benutzertastatur kann man auch in eine Variable abspeichern.
Vorgang "Sichern":
- Der Befehl RCLKEYS legt eine Liste auf dem Stack ab, in der für alle benutzerdefinierten Belegungen Objekt und Tastenkennung enthalten sind. Enthält die Liste am Anfang auch ein 'S', dann zeigt dieses an, daß alle nicht durch den Benutzer belegten Tasten die Standardbelegung haben, die nicht unterdrückt ist. Fehlt das 'S' in der Liste, dann ist die Standardbelegung im USER-Modus unterdrückt.
- Variablenname für die Sicherung eingeben.
- STO aufrufen. Damit wird die Liste in diese Variable gespeichert.
Wenn man für verschiedene Anwendungen jeweils bestimmte Benutzertastaturen braucht und diese gesichert hat, kann man die in einer Variablen gespeicherte Tastenbelegung zum passenden Zeitpunkt aktivieren.
Vorgang "Aktivieren":
- Liste der gespeicherten Tastenbelegungen aus der Variablen in den Stack holen,
- STOKEYS aufrufen.
Bestehende Tastenbelegungen werden dabei durch die neuen überschrieben. Falls in der Liste der Name 'SKEY' und eine zugeordnete Tastenkennung enthalten ist, wird für diese Taste die Standardbelegung aktiviert.
Falls am Beginn der Liste ein 'S' enthalten ist, wird bei unterdrückter Standardbelegung diese wieder freigeschaltet. Dies ist immer zu empfehlen, da sonst die Unterdrückung der Standard-Tastenbelegung aus vorherigen Anwendungen erhalten bleibt.
Hier gibt es vier verschiedene Möglichkeiten:
- Löschen aller vom Benutzer angelegten Tastenbelegungen, also Löschen der aktiven Benutzertastatur, wobei die Standard-Tastatur wieder aktiviert wird:
0 DELKEYS- Unterdrücken der Standard-Tastatur, wobei (im USER-MODUS!) nur die vom Benutzer angelegten Tastenbelegungen aktiv bleiben (= Benutzertastur ohne Standardbelegung. Alle nicht vom Benutzer belegten Tasten melden sich bei Betätigung mit einem Signalton):
'S' DELKEYS- Löschen einer einzigen Tastenbelegung:
###.## DELKEYS, wobei ###.## für eine Tastenkennung steht, deren Zuordnung gelöscht werden soll- Löschen mehrerer Tastenbelegungen:
{###.##1 ###.##2 ... ###.##n} DELKEYSBeispiel:
Löschen der Zuordnung für Tastenkennung 73.11
73.11 DELKEYS
Alle oben erzeugten Tastenbelegungen (also die Benutzertastatur) sind nur im Benutzer-Modus (USER-Modus) aktiv. Dieser wird per Tastatur oder per Flag -62 aktiviert.
Merksatz:
Im USER-Modus schaltet der Rechner die Standard-Tastenbelegung nur für die vom Benutzer belegten Tasten temporär ab. Für alle anderen Tasten gilt die Standard-Tastenbelegung auch im USER-Modus, wenn sie nicht per Befehl 'S' DELKEYS unterdrückt wurde.Wenn man nur für einen Befehl auf USER-Modus umschalten will, drückt man einmal [leftshift][ALPHA]. Der Rechner zeigt oben den Indikator 1US an. Nach anschließendem Betätigen einer benutzerbelegten Taste schaltet der Rechner automatisch zur Standard-Tastenbelegung zurück.
Wenn man den USER-Modus für mehrere Befehle hintereinander braucht, drückt man die Tastenfolge [leftshift][ALPHA] zweimal. Der Indikator USR erscheint. Nach Drücken der benutzerbelegten und auch anderer Tasten muß man mit der Tastenfolge [leftshift][ALPHA] wieder zur Standard-Tastenbelegung zurückschalten.
Für den USER-Modus sind zwei Systemflags zuständig:
- Flag -61: Bei gesetztem Flag bewirkt die einmalige Betätigung der Tastenfolge [leftshift][ALPHA] ein sofortiges Umschalten auf den dauerhaften USER-Modus USR, bei gelöschtem Flag muß, wie oben gesagt, diese Tastenfolge zweimal betätigt werden.
- Flag -62: Durch Setzen dieses Flags kann man in den dauerhaften USER-Modus USR umschalten.
Zwei Befehle ermöglichen die Abfrage von Tastendrücken innerhalb eines Programms:
WAIT
Wenn innerhalb eines Programms der Befehl WAIT mit den Argumenten 0 oder -1 verwendet wird, dann wird das Programm solange angehalten, bis eine Taste(nfolge) gedrückt wird, deren Tastenkennung dann auf dem Stack abgelegt wird. Auf diese Weise kann man per Programm abfragen, welche Tastenkennung = Taste(nfolge) gedrückt wurde. Wie oben schon erwähnt, werden bei Tastenkombinationen die shift-hold-Tastenkennungen mit WAIT nicht richtig wiedergegeben.
KEY
Der Befehl KEY funktioniert ähnlich wie WAIT, jedoch wird hier die Lage der Taste angezeigt, die durch Reihennummer und Reihenfolge der Taste in der betreffenden Reihe gegeben ist. Hier werden also auch die Umschalttasten [leftshift], [rightshift] und [ALPHA] allein (getrennt) angezeigt.
Hier wird nicht die Tastenkennung, sondern nur die Lage der Taste auf der Tastatur angezeigt.Beispiele für KEY:
- «DO UNTIL KEY END» liefert die Lage der Taste.
Wird nach Aufruf dieses Programms die Taste [ENTER] gedrückt, steht anschließend 105. im Stack.- «DO UNTIL KEY END 81 SAME» liefert 1, wenn die Taste [leftshift] = 81 gedrückt wurde und 0, wenn eine andere Taste gedrückt wurde.
KEYEVAL
Um auch temporäre Menüs aufrufen zu können, die keine Menünummer besitzen oder Tastenfunktionen, von denen man den Namen nicht weiß, gibt es den Befehl KEYEVAL. Dieser führt die für eine angegebene Tastenkennung gültige Funktion (auch im USER-MODUS) aus.
Das heißt, man kann mit KEYEVAL per Programm "Tasten drücken". Beispiele:
- Der Befehl OFF zum Ausschalten des Rechners kann über [rightshift][ON] per Tastatur ausgeführt werden. Das Programm « 101.3 KEYEVAL » leistet dasselbe und ist dem Programm « OFF » äqivalent.
- Das Untermenü POWR des Einheitenmenüs UNITS kann über Tastatur mit [rightshift][6][NXT][POWR] aufgerufen werden. Das Programm « 84.3 KEYEVAL 33.1 KEYEVAL 14.1 KEYEVAL » führt zum gleichen Ergebnis.
KEYTIME ist die Reaktionszeit einer Taste bei Wiederholung des Tastendrucks.
Der mit dem Befehl ->KEYTIME einzugebende Zahlenwert ist die Anzahl der Ticks (8192 Ticks = 1 Sekunde), die ablaufen müssen, bis der nächste Tastendruck akzeptiert wird. Dies vermeidet eine versehentliche Mehrfachauslösung einer Taste, das sogenannte "Prellen".
Es kann eine Zahl von 0 bis 4096 (= 0 bis 0.5 Sekunden) eingegeben werden. Eine Zahl >4096 wird auf 4096 gesetzt, eine Zahl <0 wird auf Null gesetzt.
Der momentan gültige Wert kann mit dem Befehl KEYTIME-> anzeigt werden. Der voreingestellte Wert ist 1365 (entspricht 1365/8192 = 0,17 Sekunden).
Beim HP 49G ist es nicht möglich, daß bei Festhalten einer Taste nach einer eingestellten Zeit der Tastendruck automatisch solange wiederholt wird, bis man die Taste losläßt. Diese "repeating key"-Funktion gibt es nur beim PC (und bei der elektrischen Schreibmaschine).
Die System-Haupttaste ist [ON] in Verbindung mit den Tasten [F1] bis [F6]. Die Beschreibung der Systemfunktionen ist im Beitrag "System-Notdienst" zu finden.
Für die Aktualisierung (Upgrade) des Betriebssystems sind bestimmte Tasten besonders belegt ("No-System-Menü"), hierauf wird hier nicht eingegangen.
Zum Schluß noch ein Hinweis auf den Tastatur-Manager (KEYMAN).
Das ist eine Bibliothek für den HP 49G, welche die Verwaltung der Tastenbelegungen erleichtert und zusätzliche Möglichkeiten bietet. Die Bibliothek kann in jedem beliebigen Port gespeichert werden und wird wie üblich "angebunden".
So bietet KEYMAN neben der ab Version 1.19 hinzugekommenen [shifthold]-Funktionalität zwei weitere Funktionalitäten an:
- Doppelklick (Taste zweimal kurz hintereinander drücken) und
- "long-press" (Taste mindestens 0.3 Sekunden lang drücken).
Der Autor von KEYMAN ist Herr Prof. Dr. Wolfgang Rautenberg, Freie Universität Berlin.
KEYMAN kann heruntergeladen werden von:
Für den HP 49G:
ftp://ftp.math.fu-berlin.de/pub/usr/raut/HP49/tools/KEYMAN.zip (?)
http://www.hpcalc.org/hp49/utils/misc/keyman.zip (?)Eine ausführliche Beschreibung in Englisch ist den ZIP-Dateien beigefügt.
Hinweis: Möglicherweise ist bei "Doppelklick" und "long-press" die für KEYTIME eingestellte Zeit zu berücksichtigen.
Auf KEYMAN wird hier nicht näher eingegangen.
Zur Inhaltsangabe dieses Beitrags
Zur Beitragsübersicht
Copyright © 2002 Otto Praxl
Alle Rechte vorbehalten!