Messages in this thread | | | From | "Albert D. Cahalan" <> | Subject | Re: keyboard raw mode? | Date | Tue, 23 Jun 1998 04:24:53 -0400 (EDT) |
| |
>>>> into a TTY flip buffer, from which multiple processes can read the >>>> data. To fix, conversion must happen on the other side of the TTY >>>> buffer or the TTY buffer must be eliminated AFAIK. ... >> When raw keyboard mode is set, it must be set for all processes on the tty. >> We end up with a lot of ugly "fixes" to deal with this: sometimes people >> rely on SysRq, sometimes they run a daemon to check for problems, sometimes >> they log in over a network, and sometimes (mostly) they hit the big switch. >> It would be better to have the keyboard mode apply to the file descriptor, >> so that the mode would be restored when the file descriptor is closed. >> (the existing ioctl must remain, but only be used as a default value) > > i'm not sure we're talking about the same thing. Is there a way to access > the keyboard directly? i'm not really talking about the raw tty mode, like > with a few Ctrl keys disabled, but the thing that > /usr/include/vgakeyboard.h is for, which disables ALL keys.
The vgakeyboard.h interface is one way to use raw keyboard mode. I'd guess Xfree86 and DOSEMU have their own code to do the job. The end result: all apps on that tty get raw scancodes from the keyboard hardware or medium-raw keycodes. The vgakeyboard.h code translates raw keyboard scancodes into something reasonable.
When any of this software dies, it leaves the console a mess. The shell is unable to understand keystrokes. Not even console switching works.
Such abnormal keyboard behavior should be associated with the file descriptor, not the device. Then we wouldn't need the huge collection of ugly hacks that knowledgeable users use to restore the console.
As far as I can tell, a fix would require complicated tty hacking. I'm sure at least one person here could fix it, but maybe he has more important stuff to do. I can hope not though. :-)
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu
| |