Messages in this thread | | | From | "Kendall Bennett" <> | Date | Wed, 19 May 1999 09:38:55 -0800 | Subject | Mouse and keyboard drivers in the Linux Kernel? |
| |
Hi All,
[For some reason my original post did not get through; I am re- sending it again]
We are getting close to finishing the port of our SciTech Multi- platform Graphics Library to Linux (free Open Source under our modified mozilla PL). One thing has been bothering me for some time is that Linux does not appear to have a *full* mouse driver built into the kernel. There is the /dev/mouse device you can use to communicate with the currently configured mouse, however this device simply passes back the raw mouse protocol data and we need to know about *all* the different types of mice that can be attached, and to somehow figure out what one is actually connected.
This is a major pain, so I was wondering if there really was a real mouse driver in the Linux kernel, or if people are interested in building one? Specifically I want a device that maintains a queue of events internally including mouse up, mouse down and mouse movement events (including a 1ms time stamp for every event so we can tell how far apart the events were). Then our MGL code will only need to connect to the mouse device and read the events from the queue to get the real data we need. Oh, and using the GPM libraries is not suitable because GPM is not always installed, and this stuff should really be in the kernel anyway.
Likewise another thing that bothers me is the keyboard driver we have in the MGL. The MGL's event mechanism requires a keyboard driver that allows us to get KEYUP, KEYDOWN and KEYREPEAT events along with a 1ms time stamp for all key events. We also need to know the real scan code of the keypress, along with the correct ASCII translation for the key. Right now the kernel keyboard driver does not provide such functionality, so we have to run the keyboard in RAW mode so we can process the up/down events ourselves. This works fine (but we need a separate thread processing input so we can get the time stamps), however it also means we are not responsible for doing the scancode- >ASCII translations. This is something we should not be doing in our code, and once again something that should be handled in the kernel.
Comments?
Regards,
+---------------------------------------------------------------+ | SciTech Software - Building Truly Plug'n'Play Software! | +---------------------------------------------------------------+ | Kendall Bennett | Email: KendallB@scitechsoft.com | | Director of Engineering | Phone: (530) 894 8400 | | SciTech Software, Inc. | Fax : (530) 894 9069 | | 505 Wall Street | ftp : ftp.scitechsoft.com | | Chico, CA 95928, USA | www : http://www.scitechsoft.com | +---------------------------------------------------------------+
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |