Short: Absorb short blackouts of a mouse button, Cluster source included Author: henning.thielemann@student.uni-halle.de Uploader: henning thielemann student uni-halle de Type: util/cdity Architecture: m68k-amigaos Distribution: FreeWare Kurz: Software-Entprellung einer Maustaste, Cluster source included Date: 23.03.2000 --- english ------------------------------------------------------------------- Do you know this: You press the left mouse button once, and a double click is raised. Programs are started, directory windows opens, you miss the right screen since you skip it by an unwanted double click. You want to drag an icon away and the icon drops down somewhere you didn't want? No question, your mouse is old and tottery and the buttons aren't reliable anymore. A new mouse? Buying a new mouse every second year? Not that expensive but now you can rescue your old mouse! How? Use DetotterMouseButton which will delay the mouse button release event until it is save to assume that the mouse button is really physically released. Options: BUTTON : the button to be affected; normally the left button will be the first who give up, so it is enough to patch this only 0 - left mouse button 1 - right mouse button 2 - middle mouse button default is left button DELAY : delay time measured in milli seconds default is 20 ms, that is a vertical blank period on PAL screen mode PRIORITY : priority of the input handler (between -128 and 127) the higher the value the more other mouse patches will work with the de-tottered mouse signal default is 100 which is quite high To use the patch regularly, insert into the startup-sequence or user-startup: ChangeTaskPri 50 ; the main program handles all the timing ; give it a high task priority (don't mix up this with the ; priority of the input handler) to ensure ; that it will work under heavy CPU load, too run <>nil: DetotterMouseButton delay 50 button 0 run <>nil: DetotterMouseButton delay 50 button 1 pri 50 ; priority necessary for DOpus4 ChangeTaskPri 0 --- deutsch ------------------------------------------------------------------- Kennen Sie das: Sie drücken einmal die linke Maustaste und der Rechner reagiert wie auf einen Doppelklick. Programme werden gestartet, Verzeichnisfenster werden geöffnet, Sie verpassen den richtigen Bildschirm, weil beim Durchklicken durch die ungewollten Doppelklicks ständig einer übersprungen wird. Sie möchten ein Piktogramm auf der Workbench verschieben und es fällt Ihnen an irgendeiner unpassenden Stelle herunter. Keine Frage, Ihre Maus is alt und tattrig geworden, die Maustasten sind nicht mehr besonders zuverlässig. Zeit für eine neue Maus? Alle zwei Jahre eine neue Maus? So teuer sind sie zwar auch nicht, aber Kleinvieh macht bekanntlich ebenso Mist und letztlich können Sie die Maus jetzt vielliecht doch noch retten. Wie das? Benutzen Sie DetotterMouseButton. Das Programm verzögert das Loslassen der Maustaste solange bis es davon ausgehen kann, daß Sie die Taste wirklich physikalisch losgelassen haben. Parameter: BUTTON : Maustaste, die überwacht werden soll; normalerweise ist es die linke welche zuerst den Geist aufgibt, dann reicht es diese zu bearbeiten 0 - linke Maustaste 1 - rechte Maustaste 2 - mittlere Maustaste voreingestellt ist die linke Maustaste DELAY : Verzögerung in Millisekunden voreingestellt sind 20 ms, was der Bildwiederholungsrate eines PAL- Bildschirms entspricht PRIORITY : Priorität des InputHandler (von -128 bis 127) je höher die Zahl um so mehr andere Maus-Patches werden mit dem entprellten Signal versorgt voreingestellt ist 100, was ziemlich hoch ist Wollen Sie das Programm regelmäßig benutzen, fügen Sie in die startup-sequence oder user-startup folgendes ein: ChangeTaskPri 50 ; das Hauptprogramm übernimmt sämtliche Zeitmessungen ; man sollte ihm eine hohe Task-Priorität (nicht ; zu verwechseln mit der InputHandler-Priorität) zuweisen ; damit der ganze Spaß auch bei hoher CPU-Last läuft run <>nil: DetotterMouseButton delay 50 button 0 run <>nil: DetotterMouseButton delay 50 button 1 pri 50 ; Priorität 50 damit Menüs in DOpus4 weiterhin funktionieren ChangeTaskPri 0