In one embodiment, a surface is navigated by 1) using a first light
sensor, mounted to a navigation device, to detect light reflected from a
surface, and 2) using outputs of the first light sensor, over time, to
determine relative movement of the navigation device with respect to the
surface. While using the first light sensor, it is determined whether the
outputs of the first light sensor, over time, are indicating movement of
the navigation device with respect to the surface. If not, 1) a second
light sensor that is mounted to the navigation device, and of a different
type than the first light sensor, is used to detect light reflected from
the surface, and 2) outputs of the second light sensor, over time, are
used to determine relative movement of the navigation device with respect
to the surface.