The present disclosure relates to electronic devices including but not limited to portable electronic devices having touch-sensitive displays and their control.
Electronic devices, including portable electronic devices, have gained widespread use and may provide a variety of functions including, for example, telephonic, electronic messaging and other personal information manager (PIM) application functions. Portable electronic devices include several types of devices including mobile stations such as simple cellular telephones, smart telephones, wireless PDAs, and laptop computers with wireless 802.11 or Bluetooth capabilities.
Portable electronic devices such as PDAs or smart telephones are generally intended for handheld use and ease of portability. Smaller devices are generally desirable for portability. A touch-sensitive display, also known as a touchscreen display, is particularly useful on handheld devices, which are small and have limited space for user input and output. The information displayed on the touch-sensitive displays may be modified depending on the functions and operations being performed.
Improvements in devices with touch-sensitive displays are desirable.
The following describes an electronic device and method of controlling the electronic device. The method includes detecting a first touch and a second touch on a touch-sensitive display, determining a first force value and a second force value, for example, based on a force balance and based on a torque balance in a first coordinate axis, determining a third force value based on a torque balance in a second coordinate axis, and pairing coordinate values of the first touch and the second touch based on the first force value, the second force value, and the third force value.
For simplicity and clarity of illustration, reference numerals may be repeated among the figures to indicate corresponding or analogous elements. Numerous specific details are set forth to provide a thorough understanding of the embodiments described herein. The embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, and components have not been described in detail so as not to obscure the embodiments described herein. The description is not to be considered as limited to the scope of the embodiments described herein.
The disclosure generally relates to an electronic device, which in the embodiments described herein is a portable electronic device. Examples of portable electronic devices include mobile, or handheld, wireless communication devices such as pagers, cellular phones, cellular smart-phones, wireless organizers, personal digital assistants, wirelessly enabled notebook computers, and the like. The portable electronic device may also be a portable electronic device without wireless communication capabilities such as a handheld electronic game device, digital photograph album, digital camera, or other device.
A block diagram of an example of a portable electronic device 100 is shown in
The processor 102 interacts with other devices, such as a Random Access Memory (RAM) 108, memory 110, a display 112 with a touch-sensitive overlay 114 operably coupled to an electronic controller 116 that together comprise a touch-sensitive display 118, one or more actuators 120, a plurality of force sensors 122, an auxiliary input/output (I/O) subsystem 124, a data port 126, a speaker 128, a microphone 130, short-range communications 132 and other device subsystems 134. User-interaction with a graphical user interface is performed through the touch-sensitive overlay 114. The processor 102 interacts with the touch-sensitive overlay 114 via the electronic controller 116. Information, such as text, characters, symbols, images, icons, and other items that may be displayed or rendered on a portable electronic device, is displayed on the touch-sensitive display 118 via the processor 102. The processor 102 may also interact with an accelerometer 136 that may be utilized to detect direction of gravitational forces or gravity-induced reaction forces.
To identify a subscriber for network access, the portable electronic device 100 uses a Subscriber Identity Module or a Removable User Identity Module (SIM/RUIM) card 138 for communication with a network, such as the wireless network 150. Alternatively, user identification information may be programmed into the memory 110.
The portable electronic device 100 also includes an operating system 146 and software programs or components 148 that are executed by the processor 102 and are typically stored in a persistent, updatable store such as the memory 110. Additional applications or programs may be loaded onto the portable electronic device 100 through the wireless network 150, the auxiliary I/O subsystem 124, the data port 126, the short-range communications subsystem 132, or any other suitable subsystem 134.
A received signal such as a text message, an e-mail message, or web page download is processed by the communication subsystem 104 and input to the processor 102. The processor 102 processes the received signal for output to the display 112 and/or to the auxiliary I/O subsystem 124. A subscriber may generate data items, for example e-mail messages, which may be transmitted over the wireless network 150 through the communication subsystem 104. For voice communications, the overall operation of the portable electronic device 100 is similar. The speaker 128 outputs audible information converted from electrical signals, and the microphone 130 converts audible information into electrical signals for processing.
The touch-sensitive display 118 may be any suitable touch-sensitive display, such as a capacitive, resistive, infrared, or surface acoustic wave (SAW) touch-sensitive display, as known in the art. A capacitive touch-sensitive display includes the display 112 and a capacitive touch-sensitive overlay 114. The overlay 114 may be an assembly of multiple layers in a stack including, for example, a substrate, LCD display 112, a ground shield layer, a barrier layer, one or more capacitive touch sensor layers separated by a substrate or other barrier, and a cover. The capacitive touch sensor layers may be any suitable material, such as patterned indium tin oxide (ITO).
One or more touches, also known as touch contacts or touch events, may be detected by the touch-sensitive display 118 and processed by the controller 116, for example, to determine a location of a touch. Touch location data may include a single point of contact, such as a point at or near a center of the area of contact, or the entire area of contact for further processing. The location of a touch detected on the touch-sensitive display 118 may include x and y components, e.g., horizontal and vertical with respect to one's view of the touch-sensitive display 118, respectively. For example, the x component may be determined by a signal generated from one touch sensor layer, and the y component may be determined by a signal generated from another touch sensor layer. A signal is provided to the controller 116 in response to detection of a suitable object, such as a finger, thumb, or other items, for example, a stylus, pen, or other pointer, depending on the nature of the touch-sensitive display 118. More than one simultaneous location of contact may occur and be detected.
The actuator 120 may comprise one or more piezoelectric (piezo) actuators that provide tactile feedback. A front view of an example of a portable electronic device 100 is shown in
A functional block diagram of components of the portable electronic device 100 is shown in
The piezo actuators 120 are coupled to a piezo driver 404 that communicates with the controller 402. The controller 402 is also in communication with the main processor 102 of the portable electronic device 100 and may receive and provide signals to the main processor 102. The piezo driver 404 may optionally be embodied in drive circuitry between the controller 402 and the actuators 120. The controller 402 controls the piezo driver 404 that controls the voltage/current to the piezo devices 302 and thus controls the charge/voltage and the force imparted by the piezo actuators 120 on the touch-sensitive display 118. Each of the piezo devices 302 may be controlled substantially equally and concurrently. Optionally, the piezo devices 302 may be controlled separately. Collapse and release of a dome switch may be simulated. Other switches, actuators, keys, and so forth may be simulated, or a non-simulated tactile feedback may be provided.
When two touches begin simultaneously or near simultaneously or when two touches move relative to the touch-sensitive display 118 while touch contact is maintained with the touch-sensitive display 118, the x and y coordinate values for each touch are received. The x and y coordinate values may, however, be mismatched such that the x coordinate value for one touch is incorrectly paired with the y coordinate value of the other touch and the x coordinate value of the other touch is incorrectly paired with the with the y coordinate value of the one touch. This incorrect pairing is also known as ghost touches. An example of two touches 204, 206 and corresponding ghost touches 208, 210 is shown in
A flowchart illustrating a method of controlling a portable electronic device is shown in
Two touches on the touch-sensitive display 118 are detected 502 and coordinate values of locations of the touches are determined. Measured force values are obtained 504. The processor 102 detects two touch locations based on coordinate values received from the controller 116. The detected touch locations may be incorrect, however, as the x and y coordinate values may be mismatched. The force values at the detected locations are determined 506 utilizing a force balance equation, referred to as “force balance,” and a torque balance equation, referred to as “torque balance,” along one of two coordinate axes. Another force value at the one of the two locations is determined 508 utilizing a force balance and a torque balance along the other of the two coordinate axes. The difference between the two force values at the one of the two locations is determined 510 and the difference between the force value at the one of the two locations determined at 508 and the force value at the other of the two locations determined at 506, is determined 510. Based on a comparison of the differences at 512, coordinate value pairings are determined by determining whether or not to exchange, for example, x-coordinate values for the detected locations. When, for example, the difference between the two force values at the one of the two locations is greater than the difference between the force value at the one of the two locations and the force value at the other of the two locations, the x-coordinate values for the two locations are exchanged 514. When the difference between the two force values at the one of the two locations is less than the difference between the force value at the other of the two locations and the force value at the other of the two locations, the x-coordinate values are not exchanged. Alternatively, the y-coordinate values may be exchanged.
An example of the method of controlling a portable electronic device in accordance with the present embodiment is described with reference to
When the touches are accompanied by a measurable force or forces imparted on the touch-sensitive display 118, four measured force values are obtained from signals from each of the force sensors 122 in this example. The force value of each touch is determined at the processor 102 based on the force values determined at each of the force sensors 122 and based on the touch locations for the first and second touches. The force value of each touch is determined from a force balance based on the measured force values and a torque balance utilizing the measured force values by the force sensors 122 and distances, along at least one coordinate axis, of each of the first and second touches from the force sensors 122. In the example illustrated in
When the difference between the x coordinate values is greater than the difference between the y coordinate values of the two touches, the force value of the second touch FT2 is determined utilizing a torque balance along the x-coordinate axis combined with a force balance:
F
T2=((F2+F4)×(XT−X1)−(F1+F3)×X1)/(X2−X1)
where:
The force value of the first touch is determined based on FT2 and the force balance:
F
T1
=F
1
+F
2
+F
3
+F
4
−F
T2
When the difference in y-coordinate values for the two touches is greater than a threshold value, the force value FT2 is also calculated utilizing a torque balance along the y-coordinate axis combined with a force balance:
F
T2=((F3+F4)×(YT−Y1)−(F1+F2)×Y1)/(Y2−Y1)
where:
The difference between the force value FT2 determined utilizing the torque balance along the y coordinate axis and the force value FT2 determined utilizing the torque balance along the x coordinate axis, is determined. The difference between the force value FT2 determined utilizing the torque balance along the y-coordinate axis and the force value FT1 determined utilizing the torque balance along the x coordinate axis, is determined. When the difference between the two values of FT2 is greater than the difference between the force value FT2 determined utilizing the torque balance along the y-coordinate axis and the force value FT1 determined utilizing the torque balance along the x-coordinate axis, by a threshold value, the x coordinate value determined for the first touch is exchanged with the x coordinate value determined for the second touch. The value determined for FT1 is exchanged with the value determined for FT2. The threshold value is utilized to determine when the difference between the two values of FT2 is significantly greater than the difference between the force value FT2 determined utilizing the torque balance along the y-coordinate axis and the force value FT1 determined utilizing the torque balance along the x-coordinate axis to reduce the chance of exchanging x coordinate values as a result of differences caused by inaccuracies, referred to as noise.
When the value of the x coordinate values are exchanged, the force value of the second touch, as initially determined utilizing a torque balance along the x coordinate, is also exchanged with the force value of the first touch such that FT2 and FT1 are exchanged. After the x coordinates are exchanged, exchanging FT2 and FT1 has the same effect as determining the force value of the first touch utilizing a torque balance along the x-coordinate axis combined with a force balance:
F
T1=((F2+F4)×(XT−X2)−(F1+F3)×X2)/(X1−X2)
When the difference between the x coordinate values is not greater than the difference between the y coordinate values of the two touches, the force value of the second touch FT2 is determined utilizing a torque balance along the y-coordinate axis combined with a force balance:
F
T2=((F3+F4)×(YT−Y1)−(F1+F2)×Y1)/(Y2−Y1)
where:
F
T1
=F
1
+F
2
+F
3
+F
4
−F
T2
When the difference in x coordinate values for the two touches is greater than a threshold value, the force value FT2 is also calculated utilizing a torque balance along the x-coordinate axis combined with a force balance:
F
T2=((F2+F4)×(XT−X1)−(F1+F3)×X1)/(X2−X1)
where:
The difference between the force value FT2 determined utilizing the torque balance along the x-coordinate axis and the force value FT2 determined utilizing the torque balance along the y-coordinate axis is determined. The difference between the force value FT2 determined utilizing the torque balance along the x coordinate axis and the force value FT1 determined utilizing the torque balance along the y coordinate axis, is determined. When the difference between the two value values of FT2 is greater than the difference between the force value FT2 determined utilizing the torque balance along the x-coordinate axis and the force value FT1 determined utilizing the torque balance along the y-coordinate axis, by a threshold value, the x coordinate value determined for the first touch is exchanged with the x coordinate value determined for the second touch. The threshold value is utilized to determine when the difference between the two value values of FT2 is significantly greater than the difference between the force value FT2 determined utilizing the torque balance along the x-coordinate axis and the force value FT1 determined utilizing the torque balance along the y-coordinate axis to reduce the chance of exchanging x coordinate values as a result of differences caused by noise.
The measured force values F1, F2, F3, F4 are utilized to determine the force values related to the forces imparted by the touches on the touch-sensitive display 118. In another example, the measured force values may be adjusted based on the orientation of the portable electronic device 20. The orientation is determined based on signals from the accelerometer 136 and the measured force values F1, F2, F3, F4 may be adjusted to compensate for the mass of the touch-sensitive display 118 and the force of gravity.
The electronic device includes force sensors and a touch-sensitive display. Touches on the touch-sensitive display are detected and the location of each of the touches on the touch-sensitive display is determined. Incorrect pairings of x and y coordinate values from multiple touches may be determined utilizing data from the force sensors and the touch-sensitive display. An input at the portable electronic device may be determined based on the location of touches and force values.
A method includes detecting a first touch at a first location and a second touch at a second location on a touch-sensitive display, determining a first force value and a second force value based on measured force values at force sensors, force sensor locations, and the first and second locations, determining a third force value based on the measured force values at force sensors, the force sensor locations, and the first and second locations, and pairing coordinate values of the first touch and the second touch based on the first force value, the second force value, and the third force value. A portable electronic device includes a touch-sensitive display, a plurality of force sensors arranged and constructed to obtain measured force values on the touch-sensitive display.
A processor is coupled to the force sensors and to the touch-sensitive display to detect a first touch at a first location and a second touch at a second location on the touch-sensitive display, determine a first force value and a second force value based on the measured force values, force sensor locations, and the first and second locations, determine a third force value based on the measured force values, the force sensor locations, and the first and second locations, and pair coordinate values of the first touch and the second touch based on the first force value, the second force value, and the third force value.
The present disclosure may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the disclosure is, therefore, indicated by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.