Re: GGI, EGCS/PGCC, Kernel source

Jason McMullan (jmcc@pepsi.visus.com)
26 Feb 1998 23:15:20 GMT


Michael Schmitz <schmitzm@uclink4.berkeley.edu> wrote with confidence:
> At 3:20 PM +0000 2/26/98, Jason McMullan wrote:
>> * (PC) Treat the keyboard/PS2 ports as `funny' serial ports.
>> * (Mac) ADB simply becomes a collection of serial ports

> No, please don't do that. ADB is a bit more complex than a simple serial
> port. Please leave the default ADB keyboard and mouse input mechanisms
> unchanged, or extend the driver in a way that will work with just one mouse
> and one keyboard as it does now. Without requiring EvStack, that is.

Sorry, I was being very niave about ADB - it was just an example.
The change I am proposing would amount to:

--- tty_io.c ---
... tty_send_char()...
...
c=next_char_to_send;
#if CONFIG_GGI
if (tty->evstack != NULL) {
/* build keypress event with keycode = c */
/* send keypress to filter */
/* pick up filtered keypress as UTF8 stream
(yeah, I'm listening Alan.) */
/* send UTF8 as per normal */
continue; /* processing chars */
}
#endif
/* send the char as normal */
continue;

No big whoop. If there's no EvStack attached to the tty
(or it's not compile-time enabled), we fall back to the current code.
Otherwise you get the keycode->UTF8 stream conversion, and
away you go.

>> * All TTY lines can hook into an EvStack, with
>> the input characters filtered through a
>> (global/per-device/per-tty/whatever) translation
>> filter (ie keymap) that outputs Unicode keypresses.

> Well, I suppose I'll have the 'serial keyboards' send the standard key
> event codes and use the normal keymap. The keyboard driver should still
> keep track of
> the key states, right?

That is correct.

-- 
Jason McMullan - Linux - GGI - http://pepsi.visus.com/~jmcc
NT 5.0 is the last nail in the Unix coffin. Interestingly, Unix
isn't in the coffin... It's wondering what the heck is sealing 
itself into a wooden box 6 feet underground... 

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu