SuSE-Blinux Keymaps
Autor: Marco Skambraks <marco@skammel.de>
Grundsätzliches
In den Keymap-Dateien von SuSE-Blinux werden alle Navigations-,
Profil-, Attributs-, cut and paste, PC- und Sprachausgabenbefehle bzw.
-funktionen festgelegt, die durch die Tasten an der Braillezeile bzw.
der normalen Tastatur ausgelöst werden können. Der Dateiname einer
Keymap ist sowohl von der Braillezeile als auch von der Anwendung
abhängig. D. h., ein Benutzer mit einer 2d-Zeile hat im Verzeichnis
/etc/sbl/keymap/
die Datei 2d.map. Wenn dieser Benutzer nun eine spezielle Anwendung
mit einer anderen Tastenbelegung als seine 2d.map haben möchte, muss
er die Datei 2d.map.xxx anlegen und in diese die veränderten
Navigations-Befehle eintragen. xxx steht für den Namen der
entsprechenden Anwendung, für die eine spezielle Keymap erstellt
werden soll.
SBL kann mit Tastenkombinationen gesteuert werden, die sich sowohl aus
einer als auch aus zwei Tasten an der Zeile zusammensetzen. Es kann
sowohl Taste 1 plus Taste 2 als Kombination verwendet werden, aber
auch Taste 2 plus Taste 1. Bei Befehlen für die man z. B.
Befehl=B001+B001 einträgt wird dafür gesorgt, das der Befehl erst beim
Loslassen der B-Taste ausgeführt wird. Grundsätzlich sollte es
vermieden werden, einem Befehl nur einen Tastenwert zuzuweisen, weil
sonst diese Taste für andere Tastenkombinationen nicht mehr benutzt
werden kann. Bei Funktionen wie lnup oder lndwn wird jedoch nur ein
Wert eingetragen, damit sbl bei gedrückter Taste den Befehl
wiederholt. Man betätigt also die Taste und läst sie solange gedrückt,
bis die gewünschte Zeile erreicht ist.
Eine Tastenkombination kann beispielsweise so aussehen:
Befehl=B010+B001
Hier wird der Befehl ausgelöst, wenn der Benutzer die 10. und die 1.
Brailletaste in Kombination drückt.
Wichtig: Bitte beachtet, das die Brailletasten mit einem B bezeichnet
sind und die Nummern dreistellig angegeben werden müssen.
Weiterhin ist es möglich auch Tasten der normalen Tastatur für SBL
Befehle zu belegen. Damit SBL mit Tastatureingaben gesteuert werden
kann, muß der Kernle gepatcht werden. Alle Kernel 2.2.x sollten mit dem
Patch arbeiten. Um den gepatchten Kernel mit SBL zu benutzen, muß in der
Datei /etc/sbl.conf der Eintrag kbdsniff auf 1 gesetzt werden
(kbdsniff=1). In der Keymap-Datei wird ein Befehl, der über die normale
Tastatur ausgelöst werden soll, durch ein Komma gefolgt von der
gewünschten Taste eingeleitet, z.B.:
lnup=,a
Es kann ebenfalls eine Kombination aus Tasten an der Braillezeile und
der normalen tastatur angegeben werden. Dadurch kann der Befehl sowohl
über die Zeile, als auch über die Tastatur ausgelöst werden. Ein
Eintrag sieht dann z.B. folgendermaßen aus:
attronof=B001+B002,a
Der Befehl wird also entweder ausgelöst, wenn erst B001 und dann B002
gedrückt wird, oder wenn die Taste a gedrückt wird.
SBL führt normalerweise nicht Befehle aus, die über die normale Tastatur
aktiviert werden sollen. Um das Programm in den Modus zu bringen, daß es
auch Tastatureingaben Befehle ausführen kann, müssen Tastenkombinationen
für die beiden Keymap-Befehle kbdsniffon und kbdsniffoff definiert
werden. Die Beste Variante ist es, wenn für beide Befehle die gleiche
Taste angegeben wird, z.B.:
kbdsniff=,LFT_CTRL
kbdsniff=,LFT_CTRL
Somit wird, so bald die linke STRG-Taste gedrückt gehalten wird, in
den Modus geschaltet, in dem SBL auch über die Tastatur eingegebene
Befhle abarbeiten kann. Der Modus wird wieder verlassen, wenn die linke
STRG-Taste losgelassen wird.
Zulässige Werte für Befehle, die über die tastatur ausgeführt werden
sollen, sind alle Buchstaben von A bis Z (Großschreibung ist wichtig!!!)
und die Zahlen von 0 bis 9. Über die weiteren zulässigen Tasten gibt
folgende Liste Auskunft:
CSRUP : Pfeil nach oben
CSRDN : Cursor nach unten
CSRLFT : Cursor nach links
CSRRGT : Cursor nach rechts
PGUP : Seite auf
PGDN : Seite ab
HOME : Home-Taste
END : Ende-Taste
DEL : Delte-Taste im 6er Block
INSERT : Einfügetaste
NUM_1 : 1 im Nummernblock
NUM_2 : 2 im Nummernblock
NUM_3 : 3 im Nummernblock
NUM_0 : 0 im Nummernblock
NUM_4 : 4 im Nummernblock
NUM_5 : 5 im Nummernblock
NUM_6 : 6 im Nummernblock
NUM_PLUS : Pluszeichen im Nummernblock
NUM_7 : 7 im Nummernblock
NUM_8 : 8 im Nummernblock
NUM_9 : 9 im Nummernblock
NUM_SUB : Minuszeichen im Nummernblock
NUM_LOCK : Numlock-Taste
NUM_DIV : Divitonszeichen im Nummernblock
NUM_MUL : Multiplikationszeichen im Nummernblock
NUM_ENT : Entertaste des Nummernblocks
NUM_COMMA : Kommataste im Nummernblock
CAPS_LOCK : Capslock-Taste
LFT_CTRL : Linke STRG-Taste
RGT_CTRL : rechte STRG-Taste
ALT : Linke Alt-Taste
ALT_GR : Rechte Alt-Taste (AltGR)
LFT_SHFT : Linke Umschalttaste, linke Shifttaste
RGT_SHFT : Rechte Umschalttaste, rechte Shifttaste
Die Formatierung der Datei spielt für den Ablauf von sbl keine Rolle,
aber auf Grund der übersichtlichkeit sollten die Befehle nicht zu sehr
verteilt werden.
Da die Braillezeilen unterschiedlich viele Tasten haben, ist eine
keymap für alle Zeilen nicht möglich, deshalb werden die Befehle
allgemein erklärt.
Die Befehle und ihre Funktionen
* resetbrl= : Resettet die Braillezeile
* lnlft= : Zieht die Zeile 40 oder 80 Zeichen nach links
* lnrgt= : Zieht die Zeile 40 oder 80 Zeichen nach rechts
* lnup= : Bewegt die Braillezeile um eine Zeile nach oben. Für diese
Funktion sollte nur eine Taste angegeben werden!
* lndn= : Bewegt die Braillezeile eine Zeile nach unten. Auch hier
sollte nur eine Taste angegeben werden!
* chrlft,csrrgt= : Bewegt die Braillezeile ein Zeichen nach links
oder ein Zeichen nach rechts
* line01= : Bringt die Braillezeile in die erste Zeile des
Bildschirms
* jmpmark1,jmpmark2,jmpmark3,jmpmark4= : Diese Befehle springen
feste, in den Profilen definierte, Marken an.
* topleft= : Zieht die Braillezeile in die obere linke Ecke des
Bildschirms.
* botleft= : Zieht die Braillezeile in die untere linke Ecke des
Bildschirms
* csrtrk= : Bewegt die Braillezeile an die aktuelle Cursorposition
und liest bei vorhandener Sprachausgabe den Cursor vor. In einer
Anwendung wie z. B. yast wird der Menüpunkt vorgelesen.
* csrtrkoff= : Schaltet die obige Funktion aus und gibt dem Anwender
die Möglichkeit, eine bestimmte Zeile zu überwachen, ohne dass die
Braillezeile an die aktuelle Cursorposition springt.
* csrvisoff= : Blendet den Cursor aus, solange die Taste gedrückt
wird. Auch hier muss also nur eine Taste angegeben werden, da
sonst die Funktion erst beim Loslassen ausgeführt wird.
* csrblinkonoff= : Ändert die Darstellung des Cursors auf der Zeile.
Der Grundzustand wird im Profil festgelegt.
* csrblockonoff= : Schaltet die Darstellung auf Block oder auf
Strich um. Die Default-Darstellung wird in der Profildatei
festgelegt
* csrjump= : Zieht den PC-Cursor innerhalb der Zeile also in
x-Richtung.
* csrjmpvert= : Die gleiche Funktion wie zuvor, allerdings für die
y-Richtung, also Zeilen übergreifend.
* syscsr= : Veranlasst sbl, nur den System-Cursor zu verfolgen.
* softcsr= : Veranlasst sbl nur den Soft-Cursor zu verfolgen.
* lineroutbeg= : Spezieller Befehl für die 2d von Papenmeier
* lineroutend= : Spezieller Befehl für die 2d von Papenmeier
* csrroutbeg= : Hier muss die Startnummer der Cursorrouting-Tasten
angegeben werden. Der Wert hängt von der benutzten Braillezeile
ab.
* csrroutend= : Hier wird das Ende der Cursorrouting-Tasten
angegeben. Der Wert hängt ebenfalls von der benutzten Braillezeile
ab.
* keyup= : Die Tastaturfunktion Cursorup kann hiermit durch eine
Tastenkombination an der Braillezeile ausgelöst werden.
* keydn= : Die Tastaturfunktion Cursordown kann hiermit durch eine
Tastenkombination an der Braillezeile ausgelöst werden.
* keyrgt= : Die Tastaturfunktion Cursor nach rechts kann hiermit
durch eine Tastenkombination an der Braillezeile ausgelöst werden.
* keylft= : Die Tastaturfunktion Cursor nach links kann hiermit
durch eine Tastenkombination an der Braillezeile ausgelöst werden.
* keyenter= : Die Entertaste kann hiermit durch eine
Tastenkombination an der Braillezeile ausgelöst werden.
* attroff= : Durch diesem Befehl kann die Attributanzeige
abgeschaltet werden.
* attr1,attr2,attr3,attr4= : Schaltet auf das 1.,2.,3. oder 4.
Attribut um. Die einzelnen Attribute werden in den Profildateien
festgelegt.
* prof1,prof2,prof3,prof4= : Mit diesen Befehlen kann man die in
/etc/sbl.conf festgelegten Profilen manuell umschalten.
Dies ist z. B. sehr nützlich, wenn die Auto-Umschaltung nicht
richtig funktioniert oder man mit telnet, ssh usw. auf anderen
Rechnern remote arbeitet.
* autoprofonoff= : Hier läßt sich die automatische Profilumschaltung
ein- bzw. ausschalten.
* attrmodonoff= : Schaltet zwischen der Attributanzeige und der
normalen Anzeige um.
* sixdotsonoff= : Schaltet zwischen 8- und 6-Punkt-Braille um. Die
Default-Einstellung ist im Profil festgelegt.
* cutbegin= : sbl unterstützt cut and paste über mehrere Konsolen
hinweg oder innerhalb eines Textes. Es kann nur Text in den Puffer
kopiert werden, der auf dem Bildschirm dargestellt wird und mit
der Braillezeile angesteuert werden kann. Au0erdem können nur
ganze Zeile kopiert und wieder eingefügt werden. Durch diesen
Befehl wird der Anfang des zu kopierenden Abschnitts markiert.
* cutend= : Hiermit wird das Ende des zu kopierenden Textabschnitts
kopiert.
* paste= : Durch diesen Befehl wird der Inhalt des Puffers
eingefügt.
* loadkeymap= : Diese Funktion läd die Keymap im laufenden Betrieb
neu.
* soundonoff= : Schaltet die sounds von sbl an oder aus. Die
Default-Einstellung wird in den Profilen festgelegt. Sounds werden
nur bei Funktionen von sbl ausgegeben, die keine unmittelbare
Wirkung auf der Zeile auslösen, z. B. autoprofonoff=.
* setmark= : Dieser Marker wird online im laufenden Betrieb und
nicht im Profil gesetzt.
* jmptomark= : Mit diesem Befehl kann man den online gesetzten
Marker anspringen.
* kbdsniffon= : Schaltet SBL in den Modus, der auch Tastatureingaben der
normalen Tastatur annimmt.
* kbdsniffoff= : Bringt SBL wider aus den Modus, der Eingaben über eine
normale Tastatur für Befehle annimmt.
Funktionen für die Sprachausgabe
* spktocsr= : Spricht alles vom linken Rand bis zum Cursor.
* spkfromcsr= : Es wird alles rechts vom Cursor gesprochen.
* spkscrfromcsr= : Der Bildschirm-Inhalt wird ab der Cursorposition
bis zum Ende vorgelesen.
* spkscrtocsr= : Hiermit wird der Bildschirm vom Anfang bis zum
Cursor vorgelesen.
* nextlang= : Schaltet die Sprache der Sprachausgabe bei mehreren
ROMs eine Sprache weiter.
* prevlang= : Schaltet eine Sprache zurück.
* spkmod= : Schaltet in den Buchstabiermodus oder aus diesem wieder
zurück in den normalen Modus.
* spkoff= : Schaltet die Sprache für die aktuelle Anwendung ab.
* nextfrq= : Verändert die Tonhöhe der Sprachausgabe nach oben.
* prevfrq= : Verändert die Tonhöhe der Sprachausgabe nach unten.
* nextspd= : Verändert die Sprachgeschwindigkeit nach oben.
* prevspd= : Verändert die Sprachgeschwindigkeit nach unten.
* nextvol= : Verändert die Lautstärke der Sprachausgabe nach oben
(lauter).
* prevvol= : Verändert die Lautstärke der Sprachausgabe nach unten
(leiser).
* nextvoice= : Viele Hardwaresynts haben mehrere vordefinierte
Stimmen. Dieser Befehl schaltet eine Stimme weiter.
* prevvoice= : Hiermit wird eine vordefinierte Stimme
zurückgeschaltet.
* nextspec= : Für jeden Hardwaresynt können Spezialfunktionen
festgelegt werden. Dieser Befehl schaltet zur nächsten
Spezialfunktion um. Spezialbefehle werden im Verzeichnis spk in
der entsprechenden spk-Datei festgelegt. Die Profile enthalten
ebenfalls Angaben zur automatischen Ausführung der Befehle.
* prevspec= : Schaltet zum vorigen Spezialbefehl zurück.