> And now: Imagine system with two input streams: keyboard and
> mouse. (Again, this is X). Overload system so it swaps heavily (fairly
> normal, system should work in such conditions). Move mouse to window 1,
> type abc, move mouse to window 2 type def. What will happen? As events
> do not have times attached, it is possible that window 1 will receive
> abcdef, it is possible that other really weird things will happen. BUG
> BUG BUG.
X could use a RT thread to move the mouse cursor. Any echo thing can be
implemented with RT threads [or a separate RT daemon].. the simple text
console echo stuff is so simple though that it's not a problem if it's
implemented in the kernel.
the X+RT thread approach is much more flexible if you think about it. It
can (theoretically) listen to all those X data structures which are not
available to GGI (clip info, per-window pointer textures, etc.). It's a
fair user-space policy wether to use RT threads and mlock().
wether to put video-hardware-operations into the kernel ... who knows. But
wether to implement the user-input parts of a GUI in the kernel, i can see
no reason so far. [but i'm really curious wether there are good reasons].
-- mingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu