|
From: Liang Fu on 11 Mar 2005 10:16 Hi every one, I just began to learn device driver development and I thought computer mouse was probably the simplest device to start with. My first question to you is (1) Why none of the books that teach device driver development (I have collected most of them) use either non-realistic examples (where no real hardware is involved) or examples require a piece of expensive hardware (at least to a reader like me who does not write driver for living), but not use mouse or keyboard as examples? There is probably a reason for that, I would like to hear your comments. I bought a Microsoft IntelliMouse with tiltable wheel for horizontal scroll. Is really cool and I would like to understand how it works. I would guess it sends a larger data packet to accommodate the additional horizontal scroll data. I wonder how the driver works and how an application program with horizontal scroll ability (such as Excel) uses this data and carries out horizontal scroll. I checked www.microsoft.com/whdc/device/input/default.mspx but only found information (such as data packet formats, etc.) for other MS IntelliMouse (without horizontal scroll). My second question is (2) Does Microsoft publish information on the IntelliMouse with horizontal scroll and where can I find it? Thanks, Liang Fu
From: Ray Trent on 11 Mar 2005 16:31 I think there are 2 reasons why books don't cover mice: 1) it's fairly rare that you will ever want to write a production mouse driver, and 2) it's a lot harder than it looks. However, Microsoft's DDK has a mouse driver example (moufiltr), so that's probably the easiest place to start. As for how horizontal scrolling is accomplished, there's no standardized mechanism, and I doubt you'll get anyone to give out their carefully designed hacks that manage to accomplish it anyway because it's a competitive advantage. But a broad overview is this: write a user-mode app that finds the window you want to scroll and then sends it a message causing it to scroll. Liang Fu wrote: > Hi every one, > I just began to learn device driver development and I thought computer mouse > was probably the simplest device to start with. My first question to you is > > (1) Why none of the books that teach device driver development (I have > collected most of them) use either non-realistic examples (where no real > hardware is involved) or examples require a piece of expensive hardware (at > least to a reader like me who does not write driver for living), but not use > mouse or keyboard as examples? > There is probably a reason for that, I would like to hear your comments. > > I bought a Microsoft IntelliMouse with tiltable wheel for horizontal scroll. > Is really cool and I would like to understand how it works. I would guess it > sends a larger data packet to accommodate the additional horizontal scroll > data. I wonder how the driver works and how an application program with > horizontal scroll ability (such as Excel) uses this data and carries out > horizontal scroll. I checked > www.microsoft.com/whdc/device/input/default.mspx but only found information > (such as data packet formats, etc.) for other MS IntelliMouse (without > horizontal scroll). My second question is > (2) Does Microsoft publish information on the IntelliMouse with horizontal > scroll and where can I find it? > > Thanks, > Liang Fu > > -- .../ray\..
|
Pages: 1 Prev: GetPrinterDataFromPort() Next: WM_DEVICECHANGE/DBT_DEVICEARRIVAL is so slo-o-ow |