/* * VEX_BUTV (C) Digital Design 1990 * * EXCHANGE BUTTON CHANGE VECTOR * * Diese Funktion bewirkt, daž bei Bet„tigung der Maustaste zu einer * definierten Adresse gesprungen wird. An dieser Adresse befindet sich * in der Regel eine Routine, die auf den Druck der Maustaste reagiert. * Die Funktion gibt weiterhin die Adresse der bisherigen Mausroutine * zurck. * Das Setzen und Rcksetzen der Register muž vom Programm selbst * sichergestellt sein. * Der gedrckte Mausknopf kann von der Mausroutine aus einem * Prozessorregister gelesen werden. */ #include void vex_butv( int handle, int (*pusrcode)(), int (**psavcode)() ) { *(int (**)())(contrl + 7) = pusrcode; /* Adresse der neuen * * Mausknopfroutine */ VDI( 125, 0, 0, handle ); *psavcode = *(int (**)())(contrl + 9); /* Adresse der alten * * Mausknopfroutine */ }