
     
     
     MAUSTREIBER v0.0, Nov'88
     
     Ein Accessory zur individuellen Einstellung der Mauszeigergeschwindig-
     keit  und  Belegung  der  zumeist funktionslosen rechten Maustaste mit
     einem beliebigen Text.
     
     
     MITGELIEFERTE DATEIEN:
     
       MAUSTREI.ACC  - Maustreiberprogramm
       MAUSTREI.TXT  - Anleitung
     
     
     BEDIENUNG:
     
     Start:
     
     MAUSTREI.ACC in das Wurzelverzeichnis der Bootdiskette/ -Platte kopie-
     ren. Nach dem Bootvorgang steht das Programm als Accessory  unter  dem
     linken Menutitel zur Verfuegung.
     
     
     Aenderung der Mauszeigergeschwindigkeit:
     
     Das  Programm  klinkt  sich in die Mausroutine des Betriebssystems ein
     und veraendert ggf. die von der Maus  gemeldeten  Parameter  (relative
     X-/Y-Bewegung  seit der letzten Meldung) ehe diese an die Originalrou-
     tine weitergemeldet werden. So wird, je nach Einstellung, die Bewegung
     des Mauszeigers am Bildschirm beschleunigt oder gedaempft. Der freige-
     wordene Platz auf der Schreibtischplatte steht also wieder fuer ander-
     weitige Nutzungen zur Verfuegung (Abstellplatz fuer Kaffetasse o.ae.).
     
     Im Dialog-Formular des Maustreibers wird das Mass  der  Beschleunigung
     durch  die  Wahl einer von drei Aenderungsfunktionen festgelegt, deren
     'Konstanten' den persoenlichen Beduerfnissen angepasst werden  knnen.
     Die  dazu  bereitgestellten Schalter +/- inkrementieren bzw. dekremen-
     tieren den Wert in der angewaehlten Funktion, wobei  das  linksseitige
     Schalterpaar  den ersten Parameter, das rechtseitige den zweiten Para-
     meter einstellt. Horizontale und  vertikale  Bewegungen  werden  dabei
     getrennt behandelt. Die Wertaenderung wird aber erst vorgenommen, wenn
     der  gewaehlte  Schwellenwert ueberschritten ist. Ein ebenfalls einzu-
     stellender Maximalwert beschraenkt die Wertaenderung.
     
     - Aenderungsfunktionen:
     
       NORMAL X              - keine Aenderung der relativen X-Werte
       (X^<konst1>)/<konst2> - Funktionen zur dynamischen Beschleunigung
       (X+<konst1>)*<konst2>   des Mauzeigers
                               (analog dazu die Funktionen fuer Y-Werte)
     
     - Schalter und Grenzwerte:
     
       +/-                   - Schalter zur Aenderung der Parameter der
                               angewaehlten Funktion
       S:<wert>              - Schwellenwert fuer die Beschleunigung;
       M:<wert>              - Maximalwert der Beschleunigung
                               (jeweils in Pixel)
     
     Der Maximalwert sollte groesser als 0 sein, um noch eine Bewegung  des
     Mauszeigers zuzulassen. Sinnvolle Schwellenwerte bewegen sich zwischen
     0  (=alle Bewegungen werden der Funktion entsprechend manipuliert) und
     4 (=nur die schnellen Mausbewegungen werden veraendert). Auf die Viel-
     falt der Einstellmoeglichkeiten kann an  dieser  Stelle  nicht  naeher
     eingegangen  werden.  Jeder  Benutzer  sollte durch Probieren eine ihm
     genehme Funktion waehlen.
     




     
     
     Belegung der rechten Maustaste:
     
     Im Eingabefeld 'TEXT FUER RECHTE MAUSTASTE' koennen beliebige Textzei-
     chen eingegeben werden, die dann nach  jedem  Betaetigen  der  rechten
     Maustaste  in  den Tastaturpuffer kopiert werden. Auf diese Weise wird
     dem gerade laufenden Programm vorgegaukelt, dass  diese  Zeichen  tat-
     saechlich  ueber  die Tastatur eingegeben wurden. Es wird entsprechend
     darauf reagieren. Die Eingabe  haeufig  wiederkehrender  Woerter  oder
     Phrasen  z.B.  in  der Textverarbeitung reduziert sich somit auf einen
     Tastendruck. Diese Sonderfunktion der rechten Maustaste wird erst  ak-
     tiviert, nachdem das Eingabefeld im Dialog-Formular angeklickt wurde -
     es  erscheint dann invertiert. Programme die sich eines eigenen Tasta-
     turpuffers bedienen ignorieren allerdings  jegliche  Texteingabe  nach
     oben  beschriebener  Methode.  Bisher gab es jedoch mit keinem von mir
     benutzten Programm Probleme.
     
     Neben der Eingabe allgemeiner Textzeichen werden  vom  Maustreiberpro-
     gramm  noch andere Eingabemoeglichkeiten unterstuetzt. Mit dem Sonder-
     zeichen '[' (eckige Klammer auf) koennen  die  ASCII-Kodes  der  nicht
     druckbaren Zeichen in den gerade bearbeiteten Text uebernommen werden.
     Dazu  schreibt man im Eingabefeld unmittelbar nach dem '['-Zeichen den
     gewuenschten ASCII-Wert, wobei zu beachten ist,  dass  dieser  als  2-
     stellige Zahl in hexadezimaler Schreibweise angegeben werden muss. Mit
     '[0A'  (ASCII-Wert=10)  wird z.B. ein Line-Feed in den Tastatur-Puffer
     gesendet.
     
     Die alleinige Angabe  von  Textzeichen  und/oder  ASCII-Kodes  genuegt
     nicht  in jedem Falle. Bei Zeichen bis hin zum ASCII-Wert 127 wird der
     vom Tastatur-Puffer ebenfalls benoetigte  SCAN-Kode  vom  Maustreiber-
     Programm  selbstaendig  ermittelt  und  abgesendet. Allen anderen Zei-
     chen/Tasten muss der zugehoerige SCAN-Kode explizit nachgestellt  wer-
     den.  Zur  Emulation der RETURN-Taste genuegt demnach nicht die Angabe
     des ASCII-Kodes '[0D', denn diesem wird  nach  untenstehender  Tabelle
     der  SCAN-Kode  32h  zugeordnet. Dies entspricht der Tastenkombination
     CONTROL+M, welche nicht von jedem Programm als RETURN verstanden wird.
     In diesem Falle ist es vonnoeten den SCAN-Kode  mit  anzugeben,  wobei
     dieser,  mit  dem  ']'-Zeichen (eckige Klammer zu) eingeleitet, als 2-
     stelliger Hex-Wert dem ASCII-Kode unmittelbar  folgen  muss.  '[0D]1C'
     (ASCII-Kode=0Dh,  SCAN-Kode=1Ch;  siehe  untenst.Tabelle) waere die in
     unserem Beispiel zu taetigende Eingabe.
     
     Beispiele:     (vergl.dazu nachstehende Tabelle)
     
          [0D]1C  - RETURN-Taste
          [0D]72  - ENTER-Taste
          [08]0E  - BACKSPACE-Taste
          [00]47  - HOME-Taste
          [[      - '['-Zeichen
     
     
     SONSTIGES
     
     Das Programm darf fuer nichtkommerzielle Zwecke frei kopiert werden.
     
     Ich hatte zwar schon beim Programmieren maechtig  Spass,  wuerde  mich
     aber noch mehr ueber Spenden von zufriedenen Benutzern dieses Program-
     mes  freuen.  Wer  mir zudem einen Freiumschlag mit Diskette zusendet,
     erhaelt den kompletten, vollstaendig dokumentierten  Programmtext  (in
     LASER C).
     
     Wolfgang Weisgerber,  Hubertusstr.20,  6699 FREISEN
     







     ANHANG)  Tabelle der ASCII- und SCAN-Kodes:
     
     C+ = CONTROL+Taste     S+ =SHIFT+Taste   
     A+ = ALTERNATE+Taste   NP =NUMERIK-BLOCK
     
     AS SC TASTE  AS SC TASTE  AS SC TASTE  AS SC TASTE
     --------------------------------------------------
     00 03 C+2    40 1A @      00 81 A+0    00 4B LEFT
     01 1E C+A    41 1E A      00 78 A+1    00 4D RIGHT
     02 30 C+B    42 30 B      00 79 A+2    0D 1C RETURN
     03 2E C+C    43 2E C      00 7A A+3    0D 72 ENTER
     04 20 C+D    44 20 D      00 7B A+4    30 70 NP 0
     05 12 C+E    45 12 E      00 7C A+5    31 6D NP 1
     06 21 C+F    46 21 F      00 7D A+6    32 6E NP 2
     07 22 C+G    47 22 G      00 7E A+7    33 6F NP 3
     08 23 C+H    48 23 H      00 7F A+8    34 6A NP 4
     09 17 C+I    49 17 I      00 80 A+9    35 6B NP 5
     0A 24 C+J    4A 24 J      00 1E A+A    36 6C NP 6
     0B 25 C+K    4B 25 K      00 30 A+B    37 67 NP 7
     0C 26 C+L    4C 26 L      00 2E A+C    38 68 NP 8
     0D 32 C+M    4D 32 M      00 20 A+D    39 69 NP 9
     0E 31 C+N    4E 31 N      00 12 A+E    28 63 NP (
     0F 18 C+O    4F 18 O      00 21 A+F    29 64 NP )
     10 19 C+P    50 19 P      00 22 A+G    2F 65 NP /
     11 10 C+Q    51 10 Q      00 23 A+H    2A 66 NP *
     12 13 C+R    52 13 R      00 17 A+I    2D 4A NP -
     13 1F C+S    53 1F S      00 24 A+J    2B 4E NP +
     14 14 C+T    54 14 T      00 25 A+K    2E 71 NP .
     15 16 C+U    55 16 U      00 26 A+L    30 52 S+INS
     16 2F C+V    56 2F V      00 32 A+M    38 48 S+UP
     17 11 C+W    57 11 W      00 31 A+N    32 50 S+DOWN
     18 2D C+X    58 2D X      00 18 A+O    43 4B S+LEFT
     19 2C C+Y    59 2C Y      00 19 A+P    63 4D S+RIGHT
     1A 15 C+Z    5A 15 Z      00 10 A+Q    1F 53 C+DEL
     1B 33 C+.    5B 27 [      00 13 A+R    00 73 C+LEFT
     1C 2B C+|    5C 1A \      00 1F A+S    00 74 C+RIGHT
     1D 0B C+=    5D 28 ]      00 14 A+T    0A 1C C+RETURN
     1E 07 C+6    5E 29 ^      00 16 A+U    0A 72 C+ENTER
     1F 35 C+-    5F 35 _      00 2F A+V    10 70 C+NP 0
     20 39 (Leer) 60 0D `      00 11 A+W    11 6D C+NP 1
     21 02 !      61 1E a      00 2D A+X    00 6E C+NP 2
     22 03 "      62 30 b      00 2C A+Y    13 6F C+NP 3
     23 29 #      63 2E c      00 15 A+Z    14 6A C+NP 4
     24 05 $      64 20 d      00 3B F1     15 6B C+NP 5
     25 06 %      65 12 e      00 3C F2     16 6C C+NP 6
     26 08 &      66 21 f      00 3D F3     17 67 C+NP 7
     27 0D '      67 22 g      00 3E F4     18 68 C+NP 8
     28 09 (      68 23 h      00 3F F5     19 69 C+NP 9
     29 0A )      69 17 i      00 40 F6     08 63 C+NP (
     2A 1B *      6A 24 j      00 41 F7     09 64 C+NP )
     2B 1B +      6B 25 k      00 42 F8     0E 65 C+NP /
     2C 33 ,      6C 26 l      00 43 F9     0A 66 C+NP *
     2D 35 -      6D 32 m      00 44 F10    1F 4A C+NP -
     2E 34 .      6E 31 n      00 54 S+F1   0B 4E C+NP +
     2F 08 /      6F 18 o      00 55 S+F2   0E 71 C+NP .
     30 0B 0      70 19 p      00 56 S+F3   9E 0C 
     31 02 1      71 10 q      00 57 S+F4   81 1A 
     32 03 2      72 13 r      00 58 S+F5   94 27 
     33 04 3      73 1F s      00 59 S+F6   84 28 
     34 05 4      74 14 t      00 5A S+F7   9A 1A 
     35 06 5      75 16 u      00 5B S+F8   99 27 
     36 07 6      76 2F v      00 5C S+F9   86 28 
     37 08 7      77 11 w      00 5D S+F10
     38 09 8      78 2D x      1B 01 ESC
     39 0A 9      79 2C y      09 0F TAB
     3A 34 :      7A 15 z      08 0E BACKSPACE
     3B 33 ;      7B 27 {      00 52 INS
     3C 60 <      7C 2B |      00 62 HELP
     3D 0B =      7D 28 }      00 61 UNDO
     3E 60 >      7E 2B ~      00 48 UP
     3F 0C ?      7F 53 DEL    00 50 DOWN

