Scrolling and zooming of a portable device display with device motion
First Claim
1. A computing device, comprising:
- one or more display screens;
means to detect motion of the one or more display screens and generate one or more motion signals;
one or more processors;
memory; and
one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including;
instructions for detecting some motion of the one or more display screens from the motion signals; and
instructions for scrolling some content of one or more visible programs displayed on one or more portions of the one or more display screens in response to the detecting of the motion;
wherein the one or more instructions for scrolling of the one or more portions of the one or more display screens scroll the content of the one or more visible programs beyond the extents of the visible program'"'"'s contents;
wherein the one or more instructions for scrolling provide for over-scrolling by scrolling one or more borders of limited widths onto one or more edges of the scrollable contents;
whereby some transitions from scrolling to not scrolling is smoothed upon reaching some limits of the scrollable contents.
0 Assignments
0 Petitions
Accused Products
Abstract
A portable computing device (10) with a display screen (26) that may be scrolled and/or zoomed in response to changes in the spatial orientation of the computing device. Changes in the spatial orientation of the computing device are sensed by accelerometers (20) contained in the device. Software converts signals sent by the accelerometers to scrolling or zooming commands that scroll and/or zoom the display screen. Motion of the computing device in the plane of the display screen of the computing device results in scrolling the display screen in the opposing direction of the motion of the computing device a distance greater than the distance the computing device is moved. Motion of the computing device perpendicular to the plane of the display screen zooms the display screen in or out. Motion of the computing device toward the user results in the display screen being zoomed in to reveal greater detail. Motion of the computing device away from the user results in the display screen being zoomed out to reveal more content.
66 Citations
8 Claims
-
1. A computing device, comprising:
- one or more display screens;
means to detect motion of the one or more display screens and generate one or more motion signals;
one or more processors;
memory; and
one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including;
instructions for detecting some motion of the one or more display screens from the motion signals; and
instructions for scrolling some content of one or more visible programs displayed on one or more portions of the one or more display screens in response to the detecting of the motion;
wherein the one or more instructions for scrolling of the one or more portions of the one or more display screens scroll the content of the one or more visible programs beyond the extents of the visible program'"'"'s contents;
wherein the one or more instructions for scrolling provide for over-scrolling by scrolling one or more borders of limited widths onto one or more edges of the scrollable contents;
whereby some transitions from scrolling to not scrolling is smoothed upon reaching some limits of the scrollable contents. - View Dependent Claims (2)
- one or more display screens;
-
3. A computing device, comprising:
- one or more display screens;
means to detect motion of the one or more display screens and generate one or more motion signals;
one or more processors;
memory; and
one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including;
instructions for detecting some motion of the one or more display screens from the motion signals; and
instructions for scrolling some content of one or more visible programs displayed on one or more portions of the one or more display screens in response to the detecting of the motion;
wherein the one or more instructions for scrolling of a portion of the display screen detects some current rates of motion, calculates some time values to reach the limits of the scrollable contents at the current rates of motion, determines a command to change some rates of scrolling if the calculated time values are within a threshold value and/or determines a command to change some rates of scrolling corresponding to the time values, and executes the command;
whereby the scrollable contents of the visible programs does not appear to the user to suddenly jump by an abrupt change in the rates of scrolling upon reaching some limits of the scrollable contents.
- one or more display screens;
-
4. A computing device, comprising:
- one or more display screens;
means to detect linear motion of the one or more display screens means to generate one or more motion signals corresponding to the detected linear motion;
means to generate one or more time signals corresponding to the motion signals;
one or more processors;
memory;and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including;
instructions for detecting some linear motion of the one or more display screens in a direction of one or more axes in one or more planes of the one or more display screens from the motion signals;
instructions for determining some last motion values comprising one or more last velocities and/or one or more last displacements in the direction of one or more axes;
instructions for determining one or more velocities in the direction of one or more axes and one or more displacements in the direction of one or more axes from the detected linear motion and the time signals and the last motion values;and instructions for scrolling some content of one or more visible programs displayed on one or more portions of the one or more display screens corresponding to the determined velocities and/or the determined displacements of the one or more display screens in the direction of the one or more axes; and
wherein the motion signals comprise acceleration values in the direction of one or more axes; and
theinstructions for determining the one or more velocities and the one or more displacements from the detected linear motion and the time signals and some last motion values further comprising;
instructions to determine some time intervals between some current motion signals and some last motion signals from the time signals; and
instructions to perform some calculations using the time intervals and the detected acceleration values of the display screens to determine the velocities and/or the displacements of the one or more display screens in the direction of the axes;
wherein the instructions for scrolling include instructions for scrolling the content of the one or more programs in some X and/or Y directions corresponding to the determined velocities and/or displacements of the display screens, wherein the X and Y directions lie in at least one of the planes of the display screens, and wherein the scrolling is smooth;
wherein the means to detect the linear motion of the one or more display screens comprises a plurality of 3-axis accelerometers separated physically; and
further including some instructions for combining the motion signals of the accelerometers;whereby the instructions for determining the motion of the displays may determine acceptably accurate motion of the displays in the direction of one or more axes.
- one or more display screens;
-
5. A computing device, comprising:
- one or more display screens;
means to detect linear motion of the one or more display screens means to generate one or more motion signals corresponding to the detected linear motion;
means to generate one or more time signals corresponding to the motion signals;
one or more processors;memory; and
one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including;instructions for detecting some linear motion of the one or more display screens in a direction of one or more axes in one or more planes of the one or more display screens from the motion signals; instructions for determining some last motion values comprising one or more last velocities and/or one or more last displacements in the direction of one or more axes;
instructions for determining one or more velocities in the direction of one or more axes and one or more displacements in the direction of one or more axes from the detected linear motion and the time signals and the last motion values; andinstructions for scrolling some content of one or more visible programs displayed on one or more portions of the one or more display screens corresponding to the determined velocities and/or the determined displacements of the one or more display screens in the direction of the one or more axes; and
wherein the motion signals comprise acceleration values in the direction of one or more axes; andthe instructions for determining the one or more velocities and the one or more displacements from the detected linear motion and the time signals and some last motion values further comprising;
instructions todetermine some time intervals between some current motion signals and some last motion signals from the time signals; and
instructions to perform some calculations using the time intervals and the detected acceleration values of the display screens to determine the velocities and/or the displacements of the one or more display screens in the direction of the axes;
wherein the instructions for scrolling include instructions for scrolling the content of the one or more programs in some X and/or Y directions corresponding to the determined velocities and/or displacements of the display screens, wherein the X and Y directions lie in at least one of the planes of the display screens, andwherein the scrolling is smooth; and
wherein the one or more instructions for scrolling of the one or more portions of the one or more display screens scroll the content of the one or more visible programs in an opposite direction of the linear motion of the one or more display screens in the direction of one or more axes in the planes of the one or more display screens, and a scrolling displacement of the one or more scrolled portions of the one or more visible programs corresponds to the determined displacement of the one or more display screens;wherein the distance scrolled of the one or more scrolled portions of the one or more visible programs is greater than the determined displacement of the one or more display screens;
wherein a ratio of the scrolling displacement to the motion of the one or more display screens is scalable based upon the acceleration of the one or more display screens;
whereby the linear motion of the display screen needed to view the entire viewable and scrollable content is reduced.
- one or more display screens;
-
6. A computing device, comprising:
- one or more display screens;
means to detect linear motion of the one or more display screens means to generate one or more motion signals corresponding to the detected linear motion;
means to generate one or more time signals corresponding to the motion signals;
one or more processors;memory; and
one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including;instructions for detecting some linear motion of the one or more display screens in a direction of one or more axes in one or more planes of the one or more display screens from the motion signals; instructions for determining some last motion values comprising one or more last velocities and/or one or more last displacements in the direction of one or more axes;
instructions for determining one or more velocities in the direction of one or more axes and one or more displacements in the direction of one or more axes from the detected linear motion and the time signals and the last motion values; andinstructions for scrolling some content of one or more visible programs displayed on one or more portions of the one or more display screens corresponding to the determined velocities and/or the determined displacements of the one or more display screens in the direction of the one or more axes; and
wherein the motion signals comprise acceleration values in the direction of one or more axes; andthe instructions for determining the one or more velocities and the one or more displacements from the detected linear motion and the time signals and some last motion values further comprising;
instructions to determine some time intervals between some current motion signals and some last motion signals from the time signals; and
instructions to perform some calculations using the time intervals and the detected acceleration values of the display screens to determine the velocities and/or the displacements of the one or more display screens in the direction of the axes;
wherein the instructions for scrolling include instructions for scrolling the content of the one or more programs in some X and/or Y directions corresponding to the determined velocities and/or displacements of the display screens, wherein the X and Y directions lie in at least one of the planes of the display screens, andwherein the scrolling is smooth; and
wherein the one or more instructions for scrolling of the one or more portions of the one or more display screens scroll the content of the one or more visible programs in an opposite direction of the linear motion of the one or more display screens in the direction of one or more axes in the planes of the one or more display screens, and a scrolling displacement of the one or more scrolled portions of the one or more visible programs corresponds to the determined displacement of the one or more display screens;wherein the distance scrolled of the one or more scrolled portions of the one or more visible programs is greater than the determined displacement of the one or more display screens;
wherein a ratio of the scrolling displacement to the motion of the one or more display screens is scalable based upon the size of the visible program'"'"'s content;
whereby the linear motion of the display screen needed to view the entire viewable and scrollable content is reduced.
- one or more display screens;
-
7. A computing device, comprising:
- one or more display screens;
means to detect linear motion of the one or more display screens means to generate one or more motion signals corresponding to the detected linear motion;
means to generate one or more time signals corresponding to the motion signals;
one or more processors;
memory;and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including;
instructions for detecting some linear motion of the one or more display screens in a direction of one or more axes in one or more planes of the one or more display screens from the motion signals;
instructions for determining some last motion values comprising one or more last velocities and/or one or more last displacements in the direction of one or more axes;
instructions for determining one or more velocities in the direction of one or more axes and one or more displacements in the direction of one or more axes from the detected linear motion and the time signals and the last motion values;and instructions for scrolling some content of one or more visible programs displayed on one or more portions of the one or more display screens corresponding to the determined velocities and/or the determined displacements of the one or more display screens in the direction of the one or more axes; and
wherein the motion signals comprise acceleration values in the direction of one or more axes; and
the instructions for determining the one or more velocities and the one or more displacements from the detected linear motion and the time signals and some last motion values further comprising;
instructions to determine some time intervals between some current motion signals and some last motion signals from the time signals; and
instructions to perform some calculations using the time intervals and the detected acceleration values of the display screens to determine the velocities and/or the displacements of the one or more display screens in the direction of the axes;
wherein the instructions for scrolling include instructions for scrolling the content of the one or more programs in some X and/or Y directions corresponding to the determined velocities and/ordisplacements of the display screens, wherein the X and Y directions lie in at least one of the planes of the display screens, and wherein the scrolling is smooth;
further including;
means to provide a virtual screen;
wherein only some portions of the visible programs are visible on the display screen, and some non- visible portions of the visible programs may be are scrolled onto the display screen in response to the detecting of linear motion of the display screens;
whereby, the computing device may enable enables a user of the computing device to use a program that is designed for a larger display screen on a smaller display screen.
- one or more display screens;
-
8. A computing device, comprising:
- one or more display screens;
means to detect linear motion of the one or more display screens means to generate one or more motion signals corresponding to the detected linear motion;
means to generate one or more time signals corresponding to the motion signals;
one or more processors;
memory; and
one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including;
instructions for detecting some linear motion of the one or more display screens in a direction of one or more axes in one or more planes of the one or more display screens from the motion signals;
instructions for determining some last motion values comprising one or more last velocities and/or one or more last displacements in the direction of one or more axes;instructions for determining one or more velocities in the direction of one or more axes and one or more displacements in the direction of one or more axes from the detected linear motion and the time signals and the last motion values; and
instructions for scrolling some content of one or more visible programs displayed on one or more portions of the one or more display screens corresponding to the determined velocities and/or the determined displacements of the one or more display screens in the direction of the one or more axes;wherein the computing device emits a tactile warning that the limits of scrolling are about to be reached.
- one or more display screens;
Specification