# Patent

## Title
Sensing user input at display area edge

## Abstract

One or more sensors are disposed to sense user inputs in an active display area as well as user inputs in an extended area that is outside of the active display area. Data for user inputs, such as gestures, may include data from user inputs sensed in both the active display area and outside of the active display area. The user inputs can begin and/or end outside of the active display area.

## Background
RELATED APPLICATIONS
This application claims priority under 35 U.S.C. §119(e) to the following U.S. Provisional Patent Applications, the entire disclosures of each of these applications being incorporated by reference in their entirety:
U.S. Provisional Patent Application No. 61/606,321, filed Mar. 2, 2012, and titled “Screen Edge;”
U.S. Provisional Patent Application No. 61/606,301, filed Mar. 2, 2012, and titled “Input Device Functionality;”
U.S. Provisional Patent Application No. 61/606,313, filed Mar. 2, 2012, and titled “Functional Hinge;”
U.S. Provisional Patent Application No. 61/606,333, filed Mar. 2, 2012, and titled “Usage and Authentication;”
U.S. Provisional Patent Application No. 61/613,745, filed Mar. 21, 2012, and titled “Usage and Authentication;”
U.S. Provisional Patent Application No. 61/606,336, filed Mar. 2, 2012, and titled “Kickstand and Camera;” and
U.S. Provisional Patent Application No. 61/607,451, filed Mar. 6, 2012, and titled “Spanaway Provisional.”


BACKGROUND
Mobile computing devices have been developed to increase the functionality that is made available to users in a mobile setting. For example, a user may interact with a mobile phone, tablet computer, or other mobile computing device to check email, surf the web, compose texts, interact with applications, and so on. Traditional mobile computing devices oftentimes employ displays with touchscreen functionality to allow users to input various data or requests to the computing device. However, it can be difficult to recognize certain user inputs with such traditional mobile computing devices, providing frustrating and unfriendly experiences for the users.
SUMMARY
Sensing user input at display area edge techniques are described.
In one or more implementations, input data for a user input is received. The input data includes both data for at least part of the user input in an active display area of a device and data for at least part of the user input in an area outside of the active display area of the device. The user input is determined based on the received input data.
In one or more implementations, a computing device includes a housing configured in a handheld form factor and a display device supported by the housing. The display device has an active display area and one or more sensors disposed for sensing user inputs based at least in part on proximity of an object to the active display area and based at least in part on proximity of the object to an area outside of the active display area.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.



BRIEF DESCRIPTION OF THE DRAWINGS
The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different instances in the description and the figures may indicate similar or identical items. Entities represented in the figures may be indicative of one or more entities and thus reference may be made interchangeably to single or plural forms of the entities in the discussion.
FIG. 1 is an illustration of an environment in an example implementation that is operable to employ the techniques described herein.
FIG. 2 is an illustration of an environment in another example implementation that is operable to employ the techniques described herein.
FIG. 3 depicts an example implementation of an input device of FIG. 2 as showing a flexible hinge in greater detail.
FIG. 4 depicts an example implementation showing a perspective view of a connecting portion of FIG. 3 that includes mechanical coupling protrusions and a plurality of communication contacts.
FIG. 5 illustrates an example display device implementing the sensing user input at display area techniques.
FIG. 6 illustrates a cross section view of an example display device implementing the sensing user input at display area techniques.
FIG. 7 illustrates a cross section view of another example display device implementing the sensing user input at display area techniques.
FIG. 8 is an illustration of a system in an example implementation that is operable to employ the techniques described herein.
FIG. 9 illustrates the example display device of FIG. 5 with an example user input.
FIG. 10 illustrates the example display device of FIG. 5 with another example user input.
FIG. 11 illustrates the example display device of FIG. 5 with another example user input.
FIG. 12 illustrates the example display device of FIG. 5 with another example user input.
FIG. 13 is a flowchart illustrating an example process for implementing the techniques described herein in accordance with one or more embodiments.
FIG. 14 illustrates an example system including various components of an example device that can be implemented as any type of computing device as described with reference to FIGS. 1-13 to implement embodiments of the techniques described herein.



DETAILED DESCRIPTION
Overview
Sensing user input at display area edge techniques are described. One or more sensors are disposed to sense user inputs in an active display area as well as to sense user inputs in an extended area that is outside of the active display area. Data for user inputs, such as gestures, may include data from user inputs sensed in both the active display area and outside of the active display area. Thus, user inputs can begin and/or end outside of the active display area.
In the following discussion, an example environment is first described that may employ the techniques described herein. Example procedures are then described which may be performed in the example environment as well as other environments. Consequently, performance of the example procedures is not limited to the example environment and the example environment is not limited to performance of the example procedures.
Example Environment and Procedures
FIG. 1 is an illustration of an environment 100 in an example implementation that is operable to employ the techniques described herein. The illustrated environment 100 includes an example of a computing device 102, which may be configured in a variety of ways. For example, the computing device 102 may be configured for mobile use, such as a mobile phone, a tablet computer, and so on. However, the techniques discussed herein are also applicable to multiple types of devices other than those for mobile use, and may be used with any of a variety of different devices that use an input sensor over or in a display area. For example, the computing device 102 may be a desktop computer, a point of sale kiosk, an interactive display or monitor (e.g., in a hospital, airport, mall, etc.), and so forth. The computing device 102 may range from full resource devices with substantial memory and processor resources to a low-resource device with limited memory and/or processing resources. The computing device 102 may also relate to software that causes the computing device 102 to perform one or more operations.
The computing device 102, for instance, is illustrated as including an input/output module 108. The input/output module 108 is representative of functionality relating to processing of inputs and rendering outputs of the computing device 102. A variety of different inputs may be processed by the input/output module 108, such as inputs relating to functions that correspond to keys of an input device coupled to computing device 102 or keys of a virtual keyboard displayed by the display device 110, inputs that are gestures recognized through touchscreen functionality of the display device 110 and that cause operations to be performed that correspond to the gestures, and so forth. The display device 110 is thus also referred to as an interactive display device due to the ability of the display device to receive user inputs via any of various input sensing technologies. The input/output module 108 may support a variety of different input techniques by recognizing and leveraging a division between types of inputs including key presses, gestures, and so on.
FIG. 2 is an illustration of an environment 200 in another example implementation that is operable to employ the techniques described herein. The illustrated environment 200 includes an example of a computing device 202 that is physically and communicatively coupled to an input device 204 via a flexible hinge 206. The computing device 202 may be configured in a variety of ways, analogous to computing device 102 of FIG. 1. The computing device 202 may also relate to software that causes the computing device 202 to perform one or more operations.
The computing device 202, for instance, is illustrated as including an input/output module 208. The input/output module 208 is representative of functionality relating to processing of inputs and rendering outputs of the computing device 202. A variety of different inputs may be processed by the input/output module 208, such as inputs relating to functions that correspond to keys of the input device 204 or keys of a virtual keyboard displayed by the display device 210, inputs that are gestures recognized through touchscreen functionality of the display device 210 and that cause operations to be performed that correspond to the gestures, and so forth. The display device 210 is thus also referred to as an interactive display device due to the ability of the display device to receive user inputs via any of various input sensing technologies. The input/output module 208 may support a variety of different input techniques by recognizing and leveraging a division between types of inputs including key presses, gestures, and so on.
In the illustrated example, the input device 204 is configured as a keyboard having a QWERTY arrangement of keys although other arrangements of keys are also contemplated. Further, other non-conventional configurations are also contemplated, such as a game controller, configuration to mimic a musical instrument, and so forth. Thus, the input device 204 and keys incorporated by the input device 204 may assume a variety of different configurations to support a variety of different functionality.
As previously described, the input device 204 is physically and communicatively coupled to the computing device 202 in this example through use of a flexible hinge 206. The flexible hinge 206 is flexible in that rotational movement supported by the hinge is achieved through flexing (e.g., bending) of the material forming the hinge as opposed to mechanical rotation as supported by a pin, although that embodiment is also contemplated. Further, this flexible rotation may be configured to support movement in one direction (e.g., vertically in the figure) yet restrict movement in other directions, such as lateral movement of the input device 204 in relation to the computing device 202. This may be used to support consistent alignment of the input device 204 in relation to the computing device 202, such as to align sensors used to change power states, application states, and so on.
The flexible hinge 206, for instance, may be formed using one or more layers of fabric and include conductors formed as flexible traces to communicatively couple the input device 204 to the computing device 202 and vice versa. This communication, for instance, may be used to communicate a result of a key press to the computing device 202, receive power from the computing device, perform authentication, provide supplemental power to the computing device 202, and so on. The flexible hinge 206 may be configured in a variety of ways, further discussion of which may be found in relation to the following figure.
FIG. 3 depicts an example implementation 300 of the input device 204 of FIG. 2 as showing the flexible hinge 206 in greater detail. In this example, a connection portion 302 of the input device is shown that is configured to provide a communicative and physical connection between the input device 204 and the computing device 202. In this example, the connection portion 302 has a height and cross section configured to be received in a channel in the housing of the computing device 202, although this arrangement may also be reversed without departing from the spirit and scope thereof.
The connection portion 302 is flexibly connected to a portion of the input device 204 that includes the keys through use of the flexible hinge 206. Thus, when the connection portion 302 is physically connected to the computing device the combination of the connection portion 302 and the flexible hinge 206 supports movement of the input device 204 in relation to the computing device 202 that is similar to a hinge of a book.
For example, rotational movement may be supported by the flexible hinge 206 such that the input device 204 may be placed against the display device 210 of the computing device 202 and thereby act as a cover. The input device 204 may also be rotated so as to be disposed against a back of the computing device 202, e.g., against a rear housing of the computing device 202 that is disposed opposite the display device 210 on the computing device 202.
Naturally, a variety of other orientations are also supported. For instance, the computing device 202 and input device 204 may assume an arrangement such that both are laid flat against a surface as shown in FIG. 2. In another instance, a typing arrangement may be supported in which the input device 204 is laid flat against a surface and the computing device 202 is disposed at an angle to permit viewing of the display device 210, e.g., such as through use of a kickstand disposed on a rear surface of the computing device 202. Other instances are also contemplated, such as a tripod arrangement, meeting arrangement, presentation arrangement, and so forth.
The connecting portion 302 is illustrated in this example as including magnetic coupling devices 304, 306, mechanical coupling protrusions 308, 310, and a plurality of communication contacts 312. The magnetic coupling devices 304, 306 are configured to magnetically couple to complementary magnetic coupling devices of the computing device 202 through use of one or more magnets. In this way, the input device 204 may be physically secured to the computing device 202 through use of magnetic attraction.
The connecting portion 302 also includes mechanical coupling protrusions 308, 310 to form a mechanical physical connection between the input device 204 and the computing device 202. The mechanical coupling protrusions 308, 310 are shown in greater detail in the following figure.
FIG. 4 depicts an example implementation 400 showing a perspective view of the connecting portion 302 of FIG. 3 that includes the mechanical coupling protrusions 308, 310 and the plurality of communication contacts 312. As illustrated, the mechanical coupling protrusions 308, 310 are configured to extend away from a surface of the connecting portion 302, which in this case is perpendicular although other angles are also contemplated.
The mechanical coupling protrusions 308, 310 are configured to be received within complimentary cavities within the channel of the computing device 202. When so received, the mechanical coupling protrusions 308, 310 promote a mechanical binding between the devices when forces are applied that are not aligned with an axis that is defined as correspond to the height of the protrusions and the depth of the cavity.
For example, when a force is applied that does coincide with the longitudinal axis described previously that follows the height of the protrusions and the depth of the cavities, a user overcomes the force applied by the magnets solely to separate the input device 204 from the computing device 202. However, at other angles the mechanical coupling protrusion 308, 310 are configured to mechanically bind within the cavities, thereby creating a force to resist removal of the input device 204 from the computing device 202 in addition to the magnetic force of the magnetic coupling devices 304, 306. In this way, the mechanical coupling protrusions 308, 310 may bias the removal of the input device 204 from the computing device 202 to mimic tearing a page from a book and restrict other attempts to separate the devices.
The connecting portion 302 is also illustrated as including a plurality of communication contacts 312. The plurality of communication contacts 312 is configured to contact corresponding communication contacts of the computing device 202 to form a communicative coupling between the devices. The communication contacts 312 may be configured in a variety of ways, such as through formation using a plurality of spring loaded pins that are configured to provide a consistent communication contact between the input device 204 and the computing device 202. Therefore, the communication contact may be configured to remain during minor movement of jostling of the devices. A variety of other examples are also contemplated, including placement of the pins on the computing device 202 and contacts on the input device 204.
The sensing user input at display area edge techniques use one or more sensors disposed in an extended sensor area to sense user input outside of an active display area. One or more sensors are also disposed to sense user inputs in the active display area. The extended sensor area is in close proximity to (e.g., within 5 millimeters of) the active display area, and typically is adjacent to the active display area.
FIG. 5 illustrates an example display device 500 implementing the sensing user input at display area techniques. The display device 500 is an interactive display device that includes an active display area 502 in which various data and information may be displayed by the computing device. The display area 502 is referred to as an active display area as the data and information displayed can be changed over time by the computing device, optionally in response to user inputs received by the computing device. The display device 500 also includes an extended sensor area 504, surrounding and adjacent to the active display area 502, illustrated with cross-hatching. User inputs can be received when an object, such as a finger of a user's hand, a stylus, a pen, and so forth is touching and/or in close proximity to the surface of the active display area 502 and/or the surface of the extended sensor area 504. Extended sensor area 504 facilitates sensing user inputs along the edge of the active display area 502. The edge of the active display area 502 refers to the outer perimeter of the active display area 502, which is the portion of the active display area 502 that is closest to the extended sensor area 504.
The extended sensor area 504 can extend, for example, 2 millimeters beyond the active display area 502, although other amounts of extension are contemplated. The extended sensor area 504 can extend the same amount beyond the active display area 502 all around the active display area 502, or alternatively can extend by different amounts. For example, the extended sensor area 504 can extend beyond the active display area 502 by 2 millimeters in the vertical direction and by 4 millimeters in the horizontal direction. The extended sensor area 504 can also vary for different types of devices and be customized to the particular type of device. For example, interactive devices that can receive input from farther away (e.g., point of sale kiosks and interactive displays that can sense input as far away as 10 centimeters) may have extended sensor areas that extend beyond the display area farther (e.g., 10-15 centimeters rather than 2-4 millimeters) than devices that receive input from closer interactions (e.g., a tablet that senses touch).
Display devices implementing the sensing user input at display area edge techniques can use a variety of active display technologies. These active display technologies may include, for example, flexible display technologies, e-reader display technologies, liquid crystal (LCD) display technologies, light-emitting diode (LED) display technologies, organic light-emitting diode (OLED) display technologies, plasma display technologies, and so forth. Although examples of display technologies are discussed herein, other display technologies are also contemplated.
Display devices implementing the sensing user input at display area edge techniques can use a variety of different input sensing technologies. These input sensing technologies may include capacitive systems and/or resistive systems that sense touch. These input sensing technologies may also include inductive systems that sense pen (or other object) inputs. These input sensing technologies may also include optical based systems that sense reflection or disruption of light from objects touching (or close to) the surface of the display device, such as Sensor in Pixel (SIP) systems, Infrared systems, optical imaging systems, and so forth. Other types of input sensing technologies can also be used, such as surface acoustic wave systems, acoustic pulse recognition systems, dispersive signal systems, and so forth. Although examples of input sensing technologies are discussed herein, other input sensing technologies are also contemplated. Furthermore, these input sensing technologies may be combined together, such as a piezoelectric with extended capacitive sensor to provide other tactile input.
Depending on the input sensing technology that is used for a display device, user inputs can be received when an object (such as a finger of a user's hand, a stylus, a pen, and so forth) is touching and/or in close proximity to the surface of the display device. This close proximity can be, for example 5 millimeters, although different proximities are contemplated and can vary depending on the manner in which the display device is implemented. The proximity of an object to the display device refers to a distance the object is from the display device along a direction perpendicular to a plane of the display device.
FIG. 6 illustrates a cross section view of an example display device 600 implementing the sensing user input at display area techniques. The display device 600 includes an active display layer 602 on top of which is disposed an input sensing layer 604. Although the layers 602 and 604 are illustrated as being individual layers, it should be noted that each of the layers 602 and 604 itself may be made up of multiple layers. The input sensing layer 604 and the active display layer 602 can be implemented using a variety of different technologies, as discussed above. Although not illustrated in FIG. 6, it should be noted that any number of additional layers can be included in the display device 600. For example, an additional protective layer made of glass or plastic can be disposed on top of input sensing layer 604.
A user's finger 606 (or other object) touching or in close proximity to the input sensing layer 604 is sensed by the input sensing layer 604. The locations where the user's finger 606 (or other object) is sensed by the layer 604 is provided by the layer 604 as sensed object locations and are used to identify the user input, as discussed in more detail below.
The input sensing layer 604 includes multiple sensors, and extends beyond the active display area 602 to extended sensor area 608, 610. The number of sensors and manner in which the sensors are disposed may vary based on the implementation and the input sensing technology used for the input sensing layer 604. The input sensing layer 604 includes a portion 612 as well as portions 614 and 616.
One or more sensors may be disposed in the input sensing layer 604 above active display layer 602, in portion 612. These sensors disposed above the layer 602 sense the user's finger 606 (or other object) touching or in close proximity to the layer 604 above the active display layer 602, and thus are also referred to as sensing user input in and/or above the active display area as well as being disposed in the active display area.
One or more sensors may also be disposed in the input sensing layer 604 above extended sensor area 608, 610, in portions 614, 616, respectively. The extended sensor area 608, 610 is not above the active display layer 602, as illustrated in FIG. 6. These sensors disposed above the extended sensor area 608, 610 sense the user's finger 606 (or other object) touching or in close proximity to the layer 604 above the extended sensor area 608, 610, and thus are also referred to as sensing user input in and/or above the extended sensor area 608, 610. Because the extended sensor area 608, 610 is not above the active display layer 602, these sensors disposed above the extended sensor area 608, 610 are also referred to as sensing user input in an area outside of the active display area as well as being disposed in the area outside of the active display area.
Alternatively, sensors may be disposed in the input sensing layer 604 in other manners, such as along the outer edge (the perimeter) of the input sensing layer 604, at corners of the input sensing layer 604, and so forth. Such sensors may still sense user input in and/or above the active display area, as well as user input in an area outside of the active display area.
FIG. 7 illustrates a cross section view of another example display device 700 implementing the sensing user input at display area techniques. The display device 700 includes an active display layer 702 on top of which is disposed an input sensing layer 704. The input sensing layer 704 and the active display layer 702 can be implemented using a variety of different technologies, as discussed above. The layers 702 and 704 are disposed between a lower panel layer 706 and an upper panel layer 708. The panel layers 706, 708 may be made of various materials, such as glass, plastic, and so forth. Although the layers 702, 704, 706, and 708 are illustrated as being individual layers, it should be noted that each of the layers 702, 704, 706, and 708 itself may be made up of multiple layers. These layers may also be flexible layers, and applicable in 3-dimensional (3Ds) interactive devices.
Additional support material 714, 716 is optionally included between the panel layers 706, 708, illustrated with cross-hatching in FIG. 7. The support material 714, 716 provides additional support for areas between the panel layers to which the layers 702 and 704 do not extend. The support material 714, 716 can be various materials, such as glass, plastic, bonding adhesive, and so forth.
A user's finger 606 (or other object) touching or in close proximity to the input sensing layer 704 is sensed by the input sensing layer 704. The locations where the user's finger 606 (or other object) is sensed by the layer 704 is provided by the layer 704 as sensed object locations and are used to identify the user input, as discussed in more detail below.
The input sensing layer 704 includes multiple sensors, and extends beyond the active display area 702 to extended sensor area 710, 712. Input sensing layer 704 need not, however, extend as far as panel layers 706, 708, as illustrated. The number of sensors included in the input sensing layer 704 and the manner in which the sensors are disposed may vary based on the implementation and the input sensing technology used for the input sensing layer 704. The input sensing layer 704 includes a portion 718 as well as portions 720 and 722.
One or more sensors are disposed in the input sensing layer 704 above active display layer 702, in portion 718. These sensors disposed above the layer 702 sense the user's finger 606 (or other object) touching or in close proximity to the panel layer 708 above the active display layer 702, and thus are also referred to as sensing user input in and/or above the active display area as well as being disposed in the active display area.
One or more sensors are also disposed in the input sensing layer 704 above extended sensor area 710, 712, in portions 720, 722, respectively. The extended sensor area 710, 712 is not above the active display layer 702, as illustrated in FIG. 7. These sensors disposed above the extended sensor area 710, 712 sense the user's finger 706 (or other object) touching or in close proximity to the panel layer 708 above the extended sensor area 710, 712, and thus are also referred to as sensing user input in and/or above the extended sensor area 710, 712. Because the extended sensor area 710, 712 is not above the active display layer 702, these sensors disposed above the extended sensor area 710, 712 are also referred to as sensing user input in an area outside of the active display area as well as being disposed in the area outside of the active display area.
Alternatively, sensors may be disposed in the input sensing layer 704 in other manners, such as along the outer edge (the perimeter) of the input sensing layer 704, at corners of the input sensing layer 704, and so forth. Such sensors may still sense user input in and/or above the active display area, as well as user input in an area outside of the active display area.
It should be noted that, although the input sensing layers in FIGS. 6 and 7 are illustrated as being disposed above the active display layers, other arrangements are contemplated. For example, the input sensing layer can be within or below the active display layer. The input sensing layer can also be of multiple configurations. The input sensing layer may be on both sides of plastic and/or glass substrate, or on the same side of plastic, glass and/or other optical clear layers.
FIG. 8 is an illustration of a system 800 in an example implementation that is operable to employ the techniques described herein. The system 800 includes an input data collection module 802 and an input handler module 804. System 800 may be implemented, for example, in the computing device 102 of FIG. 1 or the computing device 202 of FIG. 2. Although the modules 802 and 804 are illustrated in the system 800, it should be noted that one or more additional modules may be included in the system 800. It should also be noted that the functionality of the module 802 and/or the module 804 can be separated into multiple modules.
The input data collection module 802 receives indications of sensed object locations 806. These sensed object location indications 806 are indications of locations of an object (e.g., the user's finger or a pen) that were sensed by an input sensing layer of a display device. Timing information associated with the locations that were sensed by the input sensing layer can also optionally be included as part of the sensed object location indications 806. This timing information indicates when a particular location was sensed, and may take different forms. For example, this timing information may be relative to a fixed timeframe or clock, or may be an amount of time since the previous location was sensed. Alternatively, the timing information may be generated by the input data collection module 802 based on the timing of receipt of the sensed object location indications 806.
The input data collection module 802 uses the sensed object location indications 806 to generate input data 808. The input data 808 describes the location and the movement of the user input. The input data 808 can be the sensed object location indications 806, as well as any associated timing information for the locations as received and/or generated by the module 802.
Additionally, a user input can have an associated lifetime, which refers to a time duration that begins when an object touching (or in close proximity to) the surface is sensed and ends when the object is no longer sensed as touching (or in close proximity to) the surface of the display device. This associated lifetime may be identified by the input data collection module 802 and included as part of the input data 808.
A user input can also have an associated velocity, which refers to a velocity at which the object that is sensed is moving. This velocity is a particular distance divided by a particular amount of time, such as a particular number of inches per second, a particular number of millimeters per millisecond, and so forth. This associated velocity may be identified by the input data collection module 802 and included as part of the input data 808, or used in other manners (e.g., to determine when to provide input data 808 to the input handler module 804, as discussed in more detail below).
The input data collection module 802 provides the input data 808 to the input handler module 804, which determines what the user input is. The user input can take various forms, such as a gesture or mouse movement. A gesture refers to a motion or path taken by an object (e.g., the user's finger) to initiate one or more functions of a computing device. For example, a gesture may be sliding of the user's finger in a particular direction, the user's finger tracing a particular character or symbol (e.g., a circle, a letter “Z”, etc.), and so forth. A gesture may also include a multi-touch input in which multiple objects (e.g., multiple of the user's fingers) take particular motions or paths to initiate one or more functions of the computing device. A mouse movement refers to a motion or path taken by an object (e.g., the user's finger) to move something (e.g., a cursor or pointer, an object being dragged and dropped, etc.) on the display device. Although gestures and mouse movements are discussed herein, various other types of user inputs are contemplated.
The input handler module 804 may use any of a variety of public and/or proprietary techniques to determine what the user input is based on the input data 808. For example, the input handler module 804 can determine that the user input is a particular gesture, a particular mouse movement, and so forth. The input handler 804 may also be configured to analyze characteristics of the input (e.g., the size of the input and/or velocity of the input) to configure the display or other output for a customized user experience. For example, a small finger with small input can be processed to adjust the font, color, application, and so forth suitable to children.
The input handler module 804 may also, based on the determined user input, take various actions. For example, the input handler module 804 may provide an indication of the determined user input to one or more other modules of the computing device to carry out the requested function or movement. By way of another example, the input handler module 804 itself may carry out the requested function or movement.
The input data collection module 802 may provide the input data 808 to the input handler module 804 at various times. For example, the input data collection module 802 may provide the input data 808 to the input handler module 804 as the input data 808 is generated. By way of another example, the input data collection module 802 may provide the input data 808 to the input handler after the user input has finished (e.g., after the lifetime associated with the user input has elapsed and the object is no longer sensed as touching (or in close proximity to) the surface of the display device).
Alternatively, the input data collection module 802 may maintain the input data 808 for a user input but not provide the input data 808 to the input handler module 804 until a particular event occurs. Various different events can cause the module 802 to provide the input data 808 to the module 804. One event that may cause the module 802 to provide the input data 808 to the module 804 is the user input, as indicated by the location of the object, being in the active display area. Thus, in response to the user input being in the active display area, the module 802 provides the input data 808 to the module 804.
Another event that may cause the module 802 to provide the input data 808 to the module 804 is the user input being outside of the active display area but predicted to be in the active display area in the future (e.g., during an associated lifetime of the user input). The user input can be predicted to be in the active display area in the future based on various rules or criteria, such as based on the velocity of the user input and/or the direction of the user input. For example, if the user input is outside of the active display area and the direction of the user input is towards the active display area, then the user input is predicted to be in the active display area in the future. By way of another example, if the user input is outside of the active display area, the direction of the user input is towards the active display area, and the velocity of the user input is greater than a threshold amount, then the user input is predicted to be in the active display area in the future. This threshold amount can be, for example, 4 inches per second, although other threshold amounts are contemplated. Thus, in response to the user input being predicted to be in the active display area in the future, the module 802 provides the input data 808 to the module 804.
FIG. 9 illustrates the example display device 500 of FIG. 5 with an example user input. The display device 500 includes an active display area 502 surrounded by an extended sensor area 504, illustrated with cross-hatching, as discussed above. A user input is received via a user's finger 606.
The user input in FIG. 9 is illustrated as a movement from right to left, with the user input beginning in the extended sensor area 504 and moving into the active display area 502. The ending position of the user's finger is illustrated using a dashed outline of a hand. Sensing of the user input begins in the extended sensor area 504, prior to the user's finger 606 moving into the active display area 502. The user input indicated by the movement of the user's finger 606 in FIG. 9 may be identified more quickly than if extended sensor area 504 were not included in display device 500. The user input may be identified more quickly because without extended sensor area 504 locations of the user's finger 606 would not begin to be sensed until after the edge of the active display area 502 is reached by the user's finger 606.
The user input in FIG. 9 is illustrated as beginning in extended sensor area 504. However, it should be noted that the user input can begin outside of both the active display area 502 and the extended sensor area 504 (e.g., along an edge of the display device 500). The user input may still be identified more quickly than if extended sensor area 504 were not included in display device 502 because the movement will begin to be sensed when the extended sensor area 504 is reached by the user's finger 606 (rather than waiting until the user's finger 606 reaches the active display area 502).
FIG. 10 illustrates the example display device 500 of FIG. 5 with another example user input. The display device 500 includes an active display area 502 surrounded by an extended sensor area 504, illustrated with cross-hatching, as discussed above. A user input is received via a user's finger 606.
The user input in FIG. 10 is illustrated as a movement from left to right, with the user input beginning in the active display area 502 and ending in the extended sensor area 504. The ending position of the user's finger is illustrated using a dashed outline of a hand. Alternatively, the ending position of the movement may be outside of both the active display area 502 and the extended sensor area 504 (e.g., along an edge of the display device 500). Sensing of the user input begins in the active display area, prior to the user's finger 606 moving into the extended sensor area 504. By ending movement of the user's finger 606 in (or having the movement of the user's finger pass through) the extended sensor area 504, the location of the user input in the extended sensor area 504 can be used in identifying the user input. For example, the input handler module 804 of FIG. 8 may determine that the user input is a swipe or gesture from left to right across the display device as opposed to an input that was intended by the user to stop over a particular icon or object displayed near the edge of the display area.
FIG. 11 illustrates the example display device 500 of FIG. 5 with another example user input. The display device 500 includes an active display area 502 surrounded by an extended sensor area 504, illustrated with cross-hatching, as discussed above. A user input is received via a user's finger 606.
The user input in FIG. 11 is illustrated as moving from right to left and from top to bottom in a “<” shape. The user input in FIG. 11 begins and ends in the active display area 504, but passes through the extended sensor area 504. The ending position of the user's finger is illustrated using a dashed outline of a hand. Sensing of the user input in the extended sensor area 504 allows the user input illustrated in FIG. 11 to be input along the edge of the active display area 504. Even though the user input passes outside the edge of the active display area 504, the user input is sensed in the extended sensor area 504.
FIG. 12 illustrates the example display device 500 of FIG. 5 with another example user input. The display device 500 includes an active display area 502 surrounded by an extended sensor area 504, illustrated with cross-hatching, as discussed above. A user input is received via a user's finger 606.
The user input in FIG. 12 is illustrated as a movement from left to right, with the user input beginning and ending in the extended sensor area 504 without moving into the active display area 502. The ending position of the user's finger is illustrated using a dashed outline of a hand. Sensing of the user input begins in the extended sensor area 504. However, as the user's finger 606 is not moved into the active display area 502, and the direction of movement of the user's finger 606 is not towards the active display area 502, the input data for the user input need not be provided to the input handler module 804 of FIG. 8. Thus, as the user input remains in the extended sensor area 504, no action based on a user input need be taken.
FIG. 13 is a flowchart illustrating an example process 1300 for implementing the techniques described herein in accordance with one or more embodiments. Process 1300 is carried out by a computing device, such as computing device 102 of FIG. 1 or computing device 202 of FIG. 2, and can be implemented in software, firmware, hardware, or combinations thereof. Process 1300 is shown as a set of acts and is not limited to the order shown for performing the operations of the various acts. Process 1300 is an example process for implementing the techniques described herein; additional discussions of implementing the techniques described herein are included herein with reference to different figures.
In process 1300, input data is received (act 1302). The input data includes data for at least part of the user input in an active display area of a device and data for at least part of the user input in an area outside of the active display area of the device, as discussed above.
Based on the input data, the user input is determined (act 1304). Any of a variety of public and/or proprietary techniques may be used to determine what the user input is, as discussed above.
The action indicated by the user input is performed (act 1306). This action may be the performance of various functions or movements, as discussed above.
Example System and Device
FIG. 14 illustrates an example system generally at 1400 that includes an example computing device 1402 that is representative of one or more computing systems and/or devices that may implement the various techniques described herein. The computing device 1402 may, for example, be configured to assume a mobile configuration through use of a housing formed and sized to be grasped and carried by one or more hands of a user, illustrated examples of which include a mobile phone, mobile game and music device, and tablet computer although other examples and configurations are also contemplated.
The example computing device 1402 as illustrated includes a processing system 1404, one or more computer-readable media 1406, and one or more I/O interfaces 1408 that are communicatively coupled, one to another. Although not shown, the computing device 1402 may further include a system bus or other data and command transfer system that couples the various components, one to another. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures. A variety of other examples are also contemplated, such as control and data lines.
The processing system 1404 is representative of functionality to perform one or more operations using hardware. Accordingly, the processing system 1404 is illustrated as including hardware element 1410 that may be configured as processors, functional blocks, and so forth. This may include implementation in hardware as an application specific integrated circuit or other logic device formed using one or more semiconductors. The hardware elements 1410 are not limited by the materials from which they are formed or the processing mechanisms employed therein. For example, processors may be comprised of semiconductor(s) and/or transistors (e.g., electronic integrated circuits (ICs)). In such a context, processor-executable instructions may be electronically-executable instructions.
The computer-readable storage media 1406 is illustrated as including memory/storage 1412. The memory/storage 1412 represents memory/storage capacity associated with one or more computer-readable media. The memory/storage component 1412 may include volatile media (such as random access memory (RAM)) and/or nonvolatile media (such as read only memory (ROM), Flash memory, optical disks, magnetic disks, and so forth). The memory/storage component 1412 may include fixed media (e.g., RAM, ROM, a fixed hard drive, and so on) as well as removable media (e.g., Flash memory, a removable hard drive, an optical disc, and so forth). The computer-readable media 1406 may be configured in a variety of other ways as further described below.
Input/output interface(s) 1408 are representative of functionality to allow a user to enter commands and information to computing device 1402, and also allow information to be presented to the user and/or other components or devices using various input/output devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone, a scanner, touch functionality (e.g., capacitive or other sensors that are configured to detect physical touch), a camera (e.g., which may employ visible or non-visible wavelengths such as infrared frequencies to recognize movement as gestures that do not involve touch), and so forth. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, tactile-response device, and so forth. Thus, the computing device 1402 may be configured in a variety of ways to support user interaction.
The computing device 1402 is further illustrated as including one or more modules 1418 that may be configured to support a variety of functionality. The one or more modules 1418, for instance, may be configured to generate input data based on indications of sensed object locations, to determine what a user input is based on the input data, and so forth. The modules 1418 may include, for example, the input data collection module 802 and/or the input handler module 804 of FIG. 8.
Various techniques may be described herein in the general context of software, hardware elements, or program modules. Generally, such modules include routines, programs, objects, elements, components, data structures, and so forth that perform particular tasks or implement particular abstract data types. The terms “module,” “functionality,” and “component” as used herein generally represent software, firmware, hardware, or a combination thereof. The features of the techniques described herein are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors.
An implementation of the described modules and techniques may be stored on or transmitted across some form of computer-readable media. The computer-readable media may include a variety of media that may be accessed by the computing device 1402. By way of example, and not limitation, computer-readable media may include “computer-readable storage media” and “computer-readable signal media.”
“Computer-readable storage media” may refer to media and/or devices that enable persistent and/or non-transitory storage of information in contrast to mere signal transmission, carrier waves, or signals per se. Thus, computer-readable storage media refers to non-signal bearing media. The computer-readable storage media includes hardware such as volatile and non-volatile, removable and non-removable media and/or storage devices implemented in a method or technology suitable for storage of information such as computer readable instructions, data structures, program modules, logic elements/circuits, or other data. Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, hard disks, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other storage device, tangible media, or article of manufacture suitable to store the desired information and which may be accessed by a computer.
“Computer-readable signal media” may refer to a signal-bearing medium that is configured to transmit instructions to the hardware of the computing device 1402, such as via a network. Signal media typically may embody computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as carrier waves, data signals, or other transport mechanism. Signal media also include any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media.
As previously described, hardware elements 1410 and computer-readable media 1406 are representative of modules, programmable device logic and/or fixed device logic implemented in a hardware form that may be employed in some embodiments to implement at least some aspects of the techniques described herein, such as to perform one or more instructions. Hardware may include components of an integrated circuit or on-chip system, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), and other implementations in silicon or other hardware. In this context, hardware may operate as a processing device that performs program tasks defined by instructions and/or logic embodied by the hardware as well as a hardware utilized to store instructions for execution, e.g., the computer-readable storage media described previously.
Combinations of the foregoing may also be employed to implement various techniques described herein. Accordingly, software, hardware, or executable modules may be implemented as one or more instructions and/or logic embodied on some form of computer-readable storage media and/or by one or more hardware elements 1410. The computing device 1402 may be configured to implement particular instructions and/or functions corresponding to the software and/or hardware modules. Accordingly, implementation of a module that is executable by the computing device 1402 as software may be achieved at least partially in hardware, e.g., through use of computer-readable storage media and/or hardware elements 1410 of the processing system 1404. The instructions and/or functions may be executable/operable by one or more articles of manufacture (for example, one or more computing devices 1402 and/or processing systems 1404) to implement techniques, modules, and examples described herein.
Conclusion
Although the example implementations have been described in language specific to structural features and/or methodological acts, it is to be understood that the implementations defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claimed features.

## Claims

1. A method comprising:
receiving input data for a user input, the input data describing locations of an object in both an active display area of an interactive display device and an area outside of the active display area of the interactive display device, the active display area of the interactive display device comprising a touchscreen display in which data or information is displayed, and the area outside of the active display area extending beyond the active display area where there are no display pixels; and
determining the user input based on the input data, the user input comprising a gesture indicating a function to initiate by a computing device that includes the interactive display device, the gesture comprising a path taken by the object, the path being at least partially in the area outside of the active display area, and the input data describing:
multiple locations of the object in the active display area prior to the path passing through the area outside of the active display area,
multiple locations of the object in the area outside of the active display area as the path passes through the area outside of the active display area, and
multiple locations of the object in the active display area subsequent to the path passing through the area outside of the active display area.

2. A method as recited in claim 1, the receiving comprising receiving the input data in response to the user input being in the active display area.

3. A method as recited in claim 1, the area outside of the active display area comprising an extended sensor area surrounding and adjacent to the active display area.

4. A method as recited in claim 1, the input data being generated based on one or more sensors of the interactive display device, each of the one or more sensors comprising sensors that sense the object touching the interactive display device.

5. A method as recited in claim 1, the input data being generated based on one or more sensors of the interactive display device, the one or more sensors being included in an input sensor layer of the interactive display device extending beyond an active display layer of the display device.

6. A method as recited in claim 1, the object comprising a finger.

7. A computing device comprising a housing configured in a handheld form factor and a display device supported by the housing and having an active display area that is a touchscreen display in which data or information is displayed, and an area outside of the active display area extending beyond the active display area where there is no display layer, the display device having one or more sensors disposed for sensing locations of an object in both the active display area and the area outside of the active display area, the computing device further comprising an input handler configured to determine a gesture based on the sensed locations, the gesture indicating a function of the computing device to be performed and comprising a path taken by the object, the path being at least partially in the area outside of the active display area, and the sensed locations including multiple locations of the object along the path in the active display area as well as multiple locations of the object along the path in the area outside of the active display area.

8. A computing device as recited in claim 7, at least one of the one or more sensors being disposed in an extended sensor area surrounding the active display area.

9. A computing device as recited in claim 7, the one or more sensors comprising sensors that sense the object touching the display device.

10. A computing device as recited in claim 7, the one or more sensors being included in an input sensor layer of the display device extending beyond the display layer of the display device.

11. A computing device as recited in claim 7, input data describing the locations of the object being provided, in response to a location of the object being sensed by at least one of the one or more sensors in the active display area, to the input handler for determination of the gesture.

12. A computing device as recited in claim 7, the area outside of the active display area comprising an extended sensor area surrounding and adjacent to the active display area.

13. A computing device as recited in claim 12, the extended sensor area extending approximately two millimeters outside the active display area.

14. A computing device as recited in claim 7, the object comprising a stylus.

15. A computing device comprising:
an interactive display device;
one or more processors; and
one or more computer-readable storage media having stored thereon multiple instructions that, when executed by the one or more processors, cause the one or more processors to perform acts including:
receiving input data for a user input, the input data describing locations of an object in both an active display area of the interactive display device and an area outside of the active display area of the interactive display device, the active display area of the interactive display device comprising a touchscreen display in which data or information is displayed, and the area outside of the active display area extending beyond the active display area where there are no display pixels; and
determining the user input based on the input data, the user input comprising a gesture indicating a function to initiate by the computing device, the gesture comprising a path taken by the object, the path being at least partially in the area outside of the active display area, and the input data describing multiple locations of the object along the path in the active display area as well as multiple locations of the object along the path in the area outside of the active display area.

16. A computing device as recited in claim 15, the receiving comprising receiving the input data in response to the user input being in the active display area.

17. A computing device as recited in claim 15, the area outside of the active display area comprising an extended sensor area surrounding and adjacent to the active display area.

18. A computing device as recited in claim 15, the computing device further comprising one or more sensors that sense the object touching the interactive display device, the input data being generated based on the one or more sensors.

19. A computing device as recited in claim 15, the interactive display device further comprising an active display layer as well as one or more sensors in an input sensor layer extending beyond the active display layer, and the input data being generated based on the one or more sensors.

20. A computing device as recited in claim 15, the computing device further comprising one or more sensors that sense the object touching the interactive display device, and the input data further describing timing information indicating when particular ones of the locations were sensed.