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 k”nnen. 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^)/ - Funktionen zur dynamischen Beschleunigung (X+)* des Mauzeigers (analog dazu die Funktionen fuer Y-Werte) - Schalter und Grenzwerte: +/- - Schalter zur Aenderung der Parameter der angewaehlten Funktion S: - Schwellenwert fuer die Beschleunigung; M: - 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