1. A computer accessory device configured to communicate with a computer, comprising: a two-dimensional sensor array configured to generate image data as the device is moved over a surface; a first memory configured to store a first set of images based on a first set of the image data; a second memory configured to store a second set of images based on a second set of the image data, the second set of images configured to be stitched-together into a stitched-together image; and at least one controller configured to generate navigation information based on the first set of images, the navigation information indicative of displacement and rotation of the device.