Additions to keypebble by Tim Wentford
======================================

1) Modified the way that the refresh rate is used to more closely
   match the use documented in the rfb standard.

2) Added a "Request Refresh Now" and "Set Refresh Rate Slower/Faster"
   items to the corner menu (I like to slow the refresh rate down when
   I'm monitoring stuff, but to speed it back up when I'm controlling
   it).

3) Added ZRLE, zlib, hextile, CoRRE and RRE encoding support.

4) Added a "Fit remote desktop to local screen" scale method (set the
   scale factor to 0 to see it in action).

5) Modified the scaling mechanism to avoid missing pixels when
   rectangles which aren't a multiple of the scale factor arrive (the
   screen still gets "fuzzy" when this happens but it looks better
   than the missing lines to me).

6) Added an experimental "Auto" mode to choose the preferred encoding
   automatically based on an approximate measure of how long a screen
   refresh would take.

7) Tried to improve the interactivity during a long refresh (I'm not
   sure if I've succeeded in this so I haven't done it throughout - if
   you want to experiment replace the call to start the timer in
   endRect with a sirct call to doOneRect: if it works, let me know
   and I'll extend it to work better with hextile and ZRLE encodings
   (by using the timer between tiles as well as between rectangles)).

8) Added local cursor encoding. This is supposed to save on bandwidth
   by allowing the server to send updates to the cursor shape so that
   the remote machine can draw the cursor itself. A server can then
   take advantage of this by not sending updates every time the cursor
   moves. I haven't found much advantage in using this yet, and I
   don't really handle it properly since I choose not to draw the
   cursor at all - which is probably appropriate for a touch screen
   device).

9) Added resize encoding so that the remote device can handle screen
   size changes properly.

10) Some attempts at optimisation - though currently I've probably
    added more overhead than I've saved.

11) Added the SHARPROM #define so that it can be built more easily for
    standard Qtopia devices.

Problems
========

1) Occasional floating point exception at connection.

I'm not sure if that is something I've added or not.

2) I can't currently build for opie based machines.

Even the original code freshly checked out of the CVS segfaults for me
when I build it for an Opie target so I have only tested this on a
Sharp ROM based Zaurus.

3) I'm not sure that I can get much of a sample to estimate bandwidth
   in hextile encoding...

...so you may get stuck in hextile encoding when using auto mode.

4) I haven't tested auto mode in a wide enough set of networks, yet.

Which is why I'm making this release.

5) I can't make designer do what I want.

So the ui files will need some tweaking.