petej@ssg0.pharmacia.com (Peter M. Jansson) (10/20/90)
I'm trying to port Tom Roell's X11R4 server to our Intel Unix SysVr3.2 systems, and I'm having some trouble getting asynchronous input from the keyboard. Although I can think of a solution involving a fork, and a stream pipe, I notice in my manual entry for DISPLAY(4) (a perfectly obvious place to put information about the keyboard, I thought) the following: [in the section on ioctl's] KDQUEMODE Enable/Disable special queue mode. [blah, blah, blah]. The structure "kd_quemode" is as follows: This implies that the DISPLAY driver has a means of allowing the mouse and keyboard to collect input into a queue and generate a signal when the queue is non-empty. Unfortunately, I can't find any other documentation for this mode. I was hoping some kind soul can answer a few questions: 1. What is the structure of the queue pointed to by the pointer in the hd_quemode structure? What is the initial state of the queue (head/tail)? How is the queue accessed? How does the driver synchronize with an application reading stuff? 2. How is a mouse hooked in to this? What kind of mouse? If it is a bus mouse, from where is the driver available? 3. In a simple test, I enabled this mode and then waited for either a signal or a read. Neither completes, no matter what I do to the keyboard. How do I get it to work? Are other ioctl's required? I will appreciate any help. Replies by mail are encouraged. Thanks, Pete.