Re: keyboard raw mode?

Albert D. Cahalan (acahalan@cs.uml.edu)
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