FatFingerShell vt with fullscreen keyboard

Werner Almesberger werner at openmoko.org
Fri Mar 27 14:34:31 CET 2009


Rafael Ignacio Zurita wrote:
>   it is a new virtual terminal for Openmoko, with a complete fullscreen
> keyboard and sound.

Wow, I love this idea ! Alas, it looks a little slow. (Haven't tried to
run it yet, just looked at the videos.)

Here's an idea how you could perhaps make it much faster:

A long time ago, I discussed with Carsten about what the Glamo could
do for us. Predictably, this quickly turned into some rather extensive
bashing of this ill-fated chip. On item that came up is the lack of
proper support for a feature X11 calls "compositing":

http://en.wikipedia.org/wiki/Compositing_window_manager

The Glamo hardware has the ability to blend images, but, if I recall
our discussion correctly, X11 expects the blending operation to support
certain formats which the Glamo doesn't. So the conclusion was that it
wouldn't be possible to accelerate full X11 compositing with the Glamo.

However, perhaps what the Glamo can do is enough for your full-screen
overlay. So you would put the X11 framebuffer in one (off-screen)
memory area A, draw the keyboard in an area B, and whenever X11 or
keyboard manager have updated their screen content, the Glamo would be
told to merge screens A and B into the real frame buffer.

This may also make it easy to do things like dynamically changing the
respective brightness of the keyboard overlay and the background with
the actual content. (*)

Now, having said all this, I have to admit that making the Glamo do
anything is rather hard, and I've heard that X11 isn't trivial either.
But several people have started to work on even more complicated things
(DRM, GL, ...), so maybe there's someone who could help making an X
server with such functionality.

(*) For this, you would have to have a means to "turn on" the keyboard.
    This could be done by tapping an area where there's no key or where
    there's a key that doesn't do anything unpleasant (Shift or so), by
    just absorbing the first tap if the keyboard is dimmed, or perhaps
    by distinguishing a light touch of the screen from a tap.

Oh, and where are the applications ? :-) When Openmoko first announced
the Linux-based GTA01, I read a lot of jokes about the kind of user
interface a Linux phone would have. Usually they were of the kind
"making a phone call is easy and intuitive:"

# phone dial -d /dev/ttySAC0 --number=+123456789 --voice

But I wonder if something that would make a call with simply

# call foobar

wouldn't be about as convenient to use as a GUI. Hang up with ^C,
background and do something else with ^Z, etc. :-)

- Werner




More information about the community mailing list