|
||||||||
|
Next
Previous
Contents
10. The Mouse group of ModulesAll of the Mouse handling code is in the "mouse" subdirectory. There are only 2 main files, mouse.c and mouseint.c.
10.1 base/mouse/mouse.c Information
10.2 Functions in base/mouse/mouse.cThese are the functions defined in base/mouse/mouse.c.
mouse_init
Initialize internal mouse.
10.3 Remarks in base/mouse/mouse.cI have not properly tested this INT74 - JES 96/10/20 I have removed it. INT74 is irq 12. Which I suppose is the proper irq for a ps2 mouse. It appears initial support was planned to support irq 12 and at Mouse_ROUTINE_OFF is a routine that acknowledges an irq. That routine is probably what should be acknowledging irq12, and what int 0x74 should point to. I have disabled int0x74 support for now. --EB 29 Oct 1997 ----- Whoever wrote the dos mouse driver spec was brain dead... For some video modes the mouse driver appears to randomly pick a shift factor, possibly to keep at least a 640x200 resolution. The general programming documentation doesn't make this clear. And says that in text modes it is safe to divide the resolution by 8 to get the coordinates in characters. The only safe way to handle the mouse driver is to call function 0x26 Get max x & max y coordinates and scale whatever the driver returns yourself. To handle programs written by programmers who weren't so cautious a doctrine of least suprise has been implemented. As much as possible do the same as a standard dos mouse driver in the original vga modes 0,1,2,3,4,5,6,7,13,14,15,16,17,18,19. For other text modes allow the divide by 8 technique to work. For other graphics modes return x & y in screen coordinates. Except when those modes are either 40x?? or 320x??? and then handle the x resolution as in 40x25 and 320x200 modes. 320x200 modes are slightly controversial as I have indications that not all mouse drivers do the same thing. So I have taken the simplest, and most common route, which is also long standing dosemu practice of always shifting by 1. -- Eric Biederman 19 August 1998
Next Previous Contents |
|||||||
The DOSEMU team |