Anelok: weird ways to scroll

Werner Almesberger werner at
Sat Jan 3 02:40:45 UTC 2015

So, why do we start in the middle of the list ? One good reason is
that this minimizes - in the general case - the travel distance for
picking entries.

Another reason is that it makes the cursor that never leaves the
center of the screen look a little less odd. I experimented quite a
bit with letting the cursor move to top and bottom, too, but I
couldn't find a way to do it that didn't feel weird.

The problem is that, if the cursor moves over larger distances, we
basically have zones at the top and the bottom of the list where
sliding should move the cursor, while the cursor should remain more
or less stationary (i.e., what it currently does) and more or less
centered on the screen while in the middle of the list.

So far, this is quite doable, but now there's another constraint: any
sliding movement should produce immediate visible feedback. Since the
cursor should stay at the current entry (1), we can't use that to
indicate where we are. So we have to shift the whole list.

(1) Possible variations of the theme:

    - have a "slide period" during which the cursor moves freely then
      have it float back to the middle of the selected entry when
      there's no further input for a while. Sounds kinda messy.

    - let the cursor move freely and have another marker that jumps
      from item to item (e.g., invert the entry). That would probably
      clutter the display quickly.

      If inverting, there's also the issue that horizontal lines with
      a lot of white pixels drain the buffer capacitors and thus make
      the display go a little dim in that area.

What this looks like can be seen when changing the scroll mode with
the following keys:

 Key	Mode
 ---	---------------------------------------------------
  1	smooth and centered, the default
  2	list scrolls in the same direction in all zones (2)
  3	list changes scroll direction depending on zone

Note that I didn't fully debug modes 2 and 3, so there are some jumps
when changing zones.

(2) Problem: when we're at the top and have the list scroll down,
    then part of the first entry scrolls off the screen. The same
    problem exists at the bottom. Mode 3 solves this but makes the

The following image illustrates the sequences:

Each band shows a scroll from the top of the list to the bottom, in
mode 1, then 2, and finally 3. At each position a slice of the left
side of the screen is shown.

Comments ?

- Werner

More information about the discussion mailing list