Originally Posted by hawhill
... for scrolling down, you can always rely on finfo.line_length, which will hold the line length in bytes.
I have been using screeninfo.xres / 2, but your way saves a division.
I am thinking of using the arrow keys to roll the screen up/down/left/right, so that pixels wrap around the screen edges. This means that no off-screen buffer is needed, and after the hack is installed, even a small portion of working screen could be used to view anything on the screen.
I got a broken-screen kindle 3 wi-fi from eBay for free, plus $6 shipping. After I got "Voice Guide" turned on, it is actually somewhat useful even without a screen, but having even a portion of the screen active would be better...
It would be tempting to add more features, such as squeezing whitespace (folding multiple white lines between rows of text into a single white line), and maybe add an on-screen magnifier that is easier to use than the magnify-thingy in the web browser.
It should be easy to activate while reading, perhaps by pressing Next Page (Right>) and Previous Page (Right<) at the same time, and it should probably remember how far the previous page was rolled and start there for the next page too.
Also, I would like to add a GUI shell to launchpad. Not enough time though.
One problem with direct mmap to /dev/fb0 is that the framework sometimes overwrites it. Is there a way to pause the framework without a full "framework stop" and "framework start"?
And for that matter, is it useful to do a "framework startx" instead of "framework start" to start the framework in running in xorg instead of framebuffer mode?