Sensor module and method for detecting and characterizing side inputs at devices

One variation of a system includes: a frame; a sensor module; and a controller. The frame includes: a base structure that locates a display defining a front face of a device; and a lateral frame structure extending along and adjacent an edge of the display and supported on a side of the base structure. The base structure and the lateral frame structure cooperate to define a channel arranged behind the display and extending longitudinally between the lateral frame structure and the side of the base structure. The sensor module is arranged in the channel and includes: a substrate; and a linear array of sensors arranged on the substrate and outputting sense signals representing local deflections of the lateral frame structure. The controller detects locations and force magnitudes of side inputs on the device, proximal the edge of the display, based on sense signals output by the linear array of sensors.

TECHNICAL FIELD

This invention relates generally to the field of touch sensors and more specifically to new and useful systems and methods for detecting and characterizing side inputs at devices in the field of touch sensors.

DESCRIPTION OF THE EMBODIMENTS

As shown inFIGS. 1, 11A, 11B, and 11C, a system100includes: a frame110; a sensor module120; and a controller150. The frame110includes: a base structure112configured to locate a display182that defines a front face of a mobile computing device; and a lateral frame structure114extending along and adjacent a first edge of the display182and supported on a first side of the base structure112. The base structure112and the lateral frame structure114cooperate to define a channel116: arranged behind the display182; and extending longitudinally between the lateral frame structure114and the first side of the base structure112. The sensor module120is arranged in the channel116and includes: a substrate121; and a linear array of sensors124arranged on the substrate121and configured to output sense signals representing local deflections of the lateral frame structure114. The controller150is configured to detect locations and force magnitudes of side inputs on the mobile computing device, proximal the first edge of the display182, based on sense signals output by the linear array of sensors124.

Generally, the system100can be integrated into a mobile computing device (e.g., a smartphone, a tablet, a laptop computer) to form a continuous pressure sensor along one or more sides of the mobile computing device and thus enable the mobile computing device (hereinafter the “device”) to detect both force magnitudes and locations of inputs along the side of the device170(hereinafter “side inputs”) over a range of force magnitudes and over a (nearly-) continuous range of location. In particular, the system100can include: a sensor module120arranged behind side of a device170; and a controller150that detects locations and force magnitudes of inputs on the side of the device170based on sense signals output by the sensor module120, dynamically links these side inputs to particular input types based on these input characteristics and/or virtual buttons188rendered on a display182of the device170adjacent the locations of these side inputs, and then triggers context-dependent (e.g., application-specific) command functions at the device170based on these input types. For example, the sensor module120can be integrated into a side of a device170(e.g., in place of mechanical buttons) in order to transform the perimeter of the device170into a force-sensitive input surface. The controller150(or other processor in the device170) can then dynamically reassign regions or segments of the side of the device170to different input types (e.g., volume control, camera shutter control) based on: a lock screen, home screen, or application open on the device170; an orientation of the device170; a last touch location on the side of the device170; and/or custom settings entered by the user.

2.1 Hardware Assembly and Configuration

More specifically and as shown inFIGS. 2A, 2B, and 2C, the sensor module120can include a set of force-sensitive elements—such as a set of drive electrodes and corresponding sense electrodes (hereinafter “drive and sense electrode pairs125”)—arranged on a strip of flexible substrate121of length approximating (e.g., within 80% of) the length of a side of the device170, arranged under a front display of the device170, located behind a structure defining this side of the device170(e.g., a curved section of the display182, a segment of a frame110of the device170). For example, the sensor module120can include: flexible substrate121a 250-microns in thickness, 7 millimeters in width, 150 millimeters in length, and populated with a single column of20drive and sense electrode pairs125; and a force-sensitive layer126laminated across the column of drive and sense electrode pairs125and exhibiting variations in contact resistance against the drive and sense electrode pairs125(or variations in local bulk resistance) responsive to local variations in applied force. A channel116can be machined, cast, or molded, etc. along and inset from a side of a frame110of the device170(e.g., along 90% of the length of the side of the frame110and inset 1.5 millimeters from the side of the frame110).

During assembly of the device170, this preassembled sensor module120and an elastic compression element128(e.g., a foam insert) can be inserted into the channel116. A set of shims160can then be installed between the sensor module120and the channel116: to compress the compression element128(which fills voids and consumes a manufacturing tolerance stack across the channel116); and to preload the force-sensitive layer126against the sensor module120. More specifically, the compression element128can: depress the sensor module120against an interior wall of the channel116; deform to fill voids between the sensor module120and the channel116; absorb inconsistencies and/or manufacturing defects within the channel116and on the sensor module120; exert a pre-load force (i.e., a compressive force) across the sensor module120to eliminate gaps between the force-sensitive layer126and the drive and sense electrode pairs125; and thus extend a lower end of the dynamic range of the sensor module120along its full length.

As shown inFIG. 1, a planar display can then be installed in the frame110to enclose the channel116such that an edge of the display182terminates proximal (e.g., within 0.5 millimeter of) the side of the frame110(i.e., over the lateral frame structure114between the channel116and the side of the device170). Accordingly, a section of the lateral frame structure114extending along the channel116can define a side of the device170and can deflect inwardly into the channel116—and thus compress the force-sensitive layer126and modify the contact resistance of the force-sensitive layer126against the column of drive and sense electrode pairs125—responsive to application of a force on the side of the device170, such as: a user depressing a thumb or forefinger against a region of the side of the device170assigned to a virtual volume control or virtual shutter control; or a user squeezing the sides of the device170(e.g., to silence an inbound phone call). More specifically, a drive and sense electrode pair can output a sense signal representing contact resistance with an adjacent region of the force-sensitive layer, which changes as a function of contact area of the force-sensitive layer against the drive and sense electrode pair, which changes as a function of applied force. For example, the sense signal output by the sense electrode can represent a sum of many parallel resistances across the local region of the force-sensitive layer in contact with the drive and sense electrode pair.

A controller150coupled to the sensor module120can thus: read sense signals (e.g., resistance values) from the column of drive and sense electrode pairs125; interpret force magnitudes carried into each of the drive and sense electrode pairs125based on these sense signals, interpret a force gradient along the side of the device170based on these force magnitudes, detect locations and force magnitudes of individual inputs along this side of the device170based on this force gradient, and/or trigger actions assigned to inputs of these force magnitudes and/or at these locations along the side of the device170.

Alternatively, a non-planar (i.e., curved) display can be installed over the frame110with a curved section of the display182extending over and enclosing a side of the frame110and the channel116. Accordingly, the curved section of the display182and the frame110can collectively deflect inwardly responsive to inputs along the side of the device170, thereby locally compressing the force-sensitive layer126, locally changing (e.g., decreasing) the contact resistance between the force-sensitive layer126and the column of drive and sense electrode pairs125, and modifying sense signals output by the drive and sense electrode pairs125. The controller150can then detect and interpret side inputs on the device170based on these sense signals.

Yet alternatively, a curved section of a non-planar display can cooperate with the frame110to define the channel116thus occupied by (or “stuffed with”) the sensor module120, as shown inFIGS. 9A and 9B. Accordingly, the curved section186of the display182deflect inwardly into the channel116responsive to inputs along the side of the device170, thereby locally compressing the force-sensitive layer126, locally changing (e.g., decreasing) the contact resistance between the force-sensitive layer126and the column of drive and sense electrode pairs125, and modifying sense signals output by the drive and sense electrode pairs125. The controller150can then detect and interpret side inputs on the device170based on these sense signals.

2.2 Side Input Detection

In particular, during operation, side inputs into the device170can inwardly deflect local regions of the side of the device170(e.g., the lateral frame structure114, a curved section186of the display182), which locally compresses the force-sensitive material, which changes (e.g., decreases) contact resistance across one or more adjacent pairs of drive and sense electrode pairs125. The controller150can thus detect these changes in resistance across these drive and sense electrode pairs125and interpret magnitudes of forces carried into the device170through these drive and sense electrode pairs125as a function of (e.g., proportional to) magnitudes of deviations of sense signals (e.g., magnitudes of changes in voltages or resistances)—read from these drive and sense electrode pairs125—from corresponding baseline values.

The controller150can also: interpolate force magnitudes between these drive and sense electrode pairs125; calculate a force gradient across the sensor module120; isolate locations (e.g., centers, centroids) of discrete side inputs; detect side inputs of force magnitudes that exceed threshold forces; interpret sizes (i.e., lengths) of side inputs; etc. based on magnitudes of forces detected at each drive and sense electrode pair125in the sensor module120.

2.3 Virtual Button Reallocation

Furthermore, the controller150can: dynamically associate pre-programmed command functions to discrete regions along the side of the device170; define size (E.g., length) and/or force magnitude thresholds for triggering these functions responsive to side inputs near these discrete regions; and then selectively trigger or execute these command functions based on side inputs interpreted from sense signals read from the sensor module120.

For example, the controller150can characterize a gesture represented by a side input, such as: by matching an instantaneous force gradient captured during a single sensor module120scan cycle to a stored force gradient template (e.g., squeezing the side of the device170to silence an inbound phone call); or by matching a sequence of force gradients captured during a sequence of scan cycles to a stored force gradient template (e.g., drawing a finger along the side of the device170to scroll down a document or webpage). The controller150can then execute an action linked to this matched gesture.

Similarly, the controller150can: dynamically remap locations and/or sensing areas on the side of the device170to different or additional command functions (e.g., basic commands associated with a lock screen, a home screen, or an application that is currently executing on the device170); and trigger the display182to render icons for these command functions adjacent the current locations and/or sensing areas on the side of the device170currently linked to these command functions, as shown inFIGS. 5 and 6. The controller150can thus dynamically reallocate particular command functions to different regions along the side of the device170in order to seamlessly support a variety of diverse, context-dependent functionalities.

Thus, the sensor module120and the controller150can: augment and/or replace functionalities of mechanical buttons—such as power-on, volume, scrolling, camera shutter, gaming, and/or video playback controls; and enable dynamic reallocation of regions of the side of the device170linked to these functions.

3. Device and Frame

In one implementation shown inFIG. 1, the device170(e.g., a mobile phone, a tablet, a smartwatch, a laptop computer) includes: a display182(e.g., a flat LCD display or touchscreen180, a curved OLED display or touchscreen180); a frame110(or a “midframe110”, a chassis) configured to support the display182and defining a channel116extending along a side (e.g., a left or right lateral side) of the device170adjacent and behind an edge of the display182; a rear cover coupled to the frame110opposite the display182; and a set of electronic components (e.g., a processor, a battery, a wireless communication module, memory, etc.) arranged inside of and supported on the frame110.

As described below, the frame110can include a machined, cast, forged, sintered, and/or molded aluminum, steel, or polymer structure. Furthermore, the perimeter of the frame110can be exposed about the perimeter of the display182and thus define external, tactile surfaces of the device170.

In one implementation, the frame110includes: a base structure112configured to locate the display182, which defines a front face of the device170; and a lateral frame structure114that extends along and adjacent a first edge of the display182, is supported on a first side of the base structure112, and cooperates with the base structure112to define a channel116arranged behind the display182and extending longitudinally between the lateral frame structure114and the first side of the base structure112.

For example, the frame110can include a 5-millimeter-thick, 150-millimeter-long unitary machined aluminum structure, including a machined aluminum slot: extending into the frame110perpendicular to a front planar face of the display182; extending longitudinally along a first lateral side of the frame110to form the channel116that is 140 millimeters in length, 4.5-millimeters in depth, and 1.5 millimeters wide; inset from the first lateral side of the frame110to form the lateral frame structure114that is 1 millimeter thick, 4.5 millimeters tall, and 140 millimeters long and supported off of the base structure112by a 0.5-millimeter-thick web (or “rib”) running along the base of the channel116. The sensor module120can then be inserted into this channel116.

Furthermore, in this example, because a rear edge of the lateral frame structure114(e.g., adjacent a rear cover panel174of the device170) is retained and supported by the web, the front edge of the lateral frame structure114—adjacent the display182—can preferentially deflect inwardly toward the base structure112of the frame110to transfer forces input on this side of the device170into the sensor module120, such as to compress a force-sensitive layer126against the drive and sense electrode pairs125in the sensor module120responsive to forces applied to this side of the device170. For example, the front edge of the lateral frame structure114—adjacent an edge of the display182—can be configured to locally deflect inwardly toward the first side of the base structure112by a distance between 0.0005 inch and 0.002 inch per pound of force applied to a local section of the side of the mobile computing device. Accordingly, the force-sensitive layer126can exhibit local changes in contact resistance inversely proportional to local inward deflection of the front edge of the lateral frame structure114, which the drive and sense electrode pairs125and the controller150can detect and interpret as locations and/or force magnitudes of side inputs on the device170. The thickness of the web can thus be set (or “tuned”) to achieve a target rate of deflection of the front edge of the lateral frame structure114per unit of force applied to the side of the device170in order to achieve a target sensitivity to side inputs on the device170. Additionally or alternatively, the web can be perforated, as described below, to form a series of bridges along the base of the channel116, which may reduce resistance to forces applied to the lateral frame structure114and thus increase sensitivity of the system100to side inputs on the device170.

4. Sensor Module

The sensor module120is arranged in the channel116and includes: a substrate121; and a linear array of sensors124arranged on the substrate121and configured to output sense signals representing local deflections of the lateral frame structure114.

In one implementation shown inFIG. 2A, the sensor module120includes a force-sensitive layer126that faces (e.g., is laminated across) the substrate121and that exhibits local changes in contact resistance responsive to local compression against the sensor module120. Each sensor in the linear array of sensors124in the sensor module120: can include a drive and sense electrode pair125facing a region of the force-sensitive layer126; and can output a sense signal (e.g., a voltage) representing contact resistance of the adjacent region of the force-sensitive layer126between the drive and sense electrode pair125. In particular, the set of drive and sense electrode pairs125can be fabricated across or installed on the substrate121(e.g., a rigid or flexible PCB). The force-sensitive layer126: can be arranged over the set of drive and sense electrode pairs125; can be bonded to the perimeter of the substrate121; and can include a material that exhibits variations in contact resistance against the drive and sense electrode pairs125(or variations in local bulk resistance) as a function of applied force (e.g., local compression).

In the example above in which the frame110defines a 140-millimeter-long channel116in a 150-millimeter-long device, the sensor module120can include a 138-millimeter-long substrate121populated with 24 drive and sense electrode pairs125and can be arranged in the channel116approximately perpendicular to the front planar face of the display182. A compression element128can also be inserted into the channel116adjacent the sensor module120: to fill gaps between the sensor module120and walls of the channel116; and to cooperate with the frame110to communicate forces incident on the side of the device170(e.g., on the lateral frame structure114) into local compression of the force-sensitive layer126against the sensor module120, which yields changes in sense signals output by sense electrode pairs near these forces. The controller150can then detect locations and/or force magnitudes of inputs on this side of the device170based on these sense signal changes.

4.1 Drive and Sense Electrode Pair Arrangement

In one implementation shown inFIG. 2B, the set of drive and sense electrode pairs125are arranged in single column extending along the length of substrate121. In one example, the sensor module120includes: 24 rows of 24 drive electrodes arranged in a single column and connected to a single common drive line; and 24 sense electrodes arranged in the single column, each connected to one of 24 sense lines. In this example, during a scan cycle, the controller150can selectively drive the single common drive line and serially read a sense signal from each of the 24 sense lines. In another example, the sensor module120includes: six clusters of four drive electrodes arranged in one row, wherein each cluster of drive electrodes is connected to one of six common drive lines; and six clusters of four sense electrodes arranged in the row, wherein each cluster of sense electrodes is connected to one of six common sense lines and includes one sense electrode paired with a drive electrode in each of the six cluster of drive electrodes. In this example, during a scan cycle, the controller150can: selectively drive the first common drive line and serially read each of the six common sense lines to capture sense signals from the first cluster sense electrodes; selectively drive the second common drive line and serially read each of the six common sense lines to capture sense signals from the second cluster sense electrodes; selectively drive the third common drive line and serially read each of the six common sense lines to capture sense signals from the third cluster sense electrodes; etc.

In one implementation shown inFIGS. 2A and 3, the force-sensitive layer126is bounded about a perimeter of the substrate121with an adhesive (e.g., an annular or “ring” adhesive layer). In this implementation, the adhesive can cover a region of the sensor module120and thus reduce sensitivity of the sensor module120to forces applied to corners of the device170such that the sensor module preferentially detects forces applied squarely to the side of the device. Accordingly, the sensor module may be less sensitive to falsely interpreting a hand holding the device170as an input into the side of the device.

In another implementation shown inFIG. 1, the force-sensitive layer126is wrapped around the substrate. In this implementation, the force-sensitive layer126also be bonded to the back side of the substrate121opposite the sensors124such that the force-sensitive layer faces and is exposed to the full height and width of the sensors124on the front side of the substrate110. Accordingly, in this implementation, the sensor module may exhibit sensitivity to both forces applied to corners of the device170and forces applied squarely to the side of the device.

4.3 Controller Integration

As shown inFIG. 2C, the controller150can be arranged remotely from the set of drive and sense electrode pairs125. For example, the substrate121can include: a (rectangular) sense section122configured to insert into the channel116in the frame110and to extend longitudinally along the side of the device170; and a “tail” section123extending laterally from the sense section122and defining a plug configured to insert into a data and power receptacle on a main board of the device170. In this example, the controller150can be mounted to the tail section123and can communicate locations and/or force magnitudes of detected side inputs into the device170(e.g., a processor on the main board of the device170via the plug such that the sensor module120and the controller150define a singular structure configure to install simply in the device170(i.e., by inserting the sense section122into the channel116, loading a compression element128and a set of shim160into the channel116, and then connecting the tail section123to a receptacle on a main board of the device170).

Therefore, in this variation, the sensor module120and the controller150can be fabricated and/or assembled on a single structure (e.g., a single, unitary flexible PCB) to form a self-contained side-input detection and interpretation subsystem that includes: a sense section122configured to install in the channel116and retained without adhesives; and tail section123configured to insert a receptacle within the device170to fully connect the sensor module120and the controller150to power supply and data input/output terminals within the device170.

5. Channel Configuration and Bridges

In one variation shown inFIGS. 11A, 11B, and 11C, the frame110further defines a series of bridges: extending across the channel116from the first side of the base structure112to the lateral frame structure114; longitudinally offset along the channel116; and configured to locate a rear edge of the lateral frame structure114on the base structure112. More specifically, rather than a continuous web extending from the base structure112of the frame110to the lateral frame structure114, the frame110can include discrete, intermittent “bridges” that support and locate the rear edge of the lateral frame structure114on the base structure112. In this variation, each sensor in the sensor module120: can be longitudinally centered between a pair of adjacent bridges—in this series of bridges—in the channel116; and can output a sense signal representing local deflection of the adjacent section of the lateral frame structure114between this pair of adjacent bridges.

These bridges can thus: enable a front edge of the lateral frame structure114—adjacent the display182—to preferentially deflect inwardly toward the base structure112responsive to side inputs applied to this side of the mobile computing device; and/or enable greater inward deflection of regions of the lateral frame structure114between these bridges per unit force applied to the side of the device170over these regions of the lateral frame structure114. More specifically, the bridges can exhibit greater yield to per unit force applied to the side of the device170such that greater proportions of forces applied to the side of the device170are carried into the sensor module120, which produces greater compression of the force-sensitive layer126and thus greater changes in local contact resistance of the force-sensitive layer126. Accordingly, the sensors can output sense signals exhibiting greater changes in amplitude per unit force applied to the side of the device170, thereby increasing sensitivity of the system100.

5.1 Example: Aluminum Frame with Exposed Side Faces

In one example implementation shown inFIG. 1, the frame110includes a 5-millimeter-thick aluminum structure with sides that are exposed when the display182and rear cover panel174are installed on the front and rear of the frame110, respectively. In this example implementation, the frame110is diecast, machined, and/or extruded, etc. to form a 1.5-millimeter-wide, 4-millimeter deep linear, rectangular channel116—inset by 1 millimeter from a front edge of a first side of the frame110. A row of elongated slots are then machined or punched through the base of the channel116(e.g., a 1-millimeter-thick web) at positions along the length of the channel116corresponding to sensing areas of the sensor module120to form a row of “bridges” extending across the base of the channel116to support the lateral frame structure114between these sensing areas.

In another example in which the first side of the frame110is 150-millimeters-long, the channel116can be 120 millimeters in length (i.e., 80% of the length of the frame110), including twenty 5-millimeter-long slots machined along the base of the channel116through to the rear face of the frame110at 6-millimeter pitch distances to form nineteen 1-millimeter-wide “bridges” at 6-millimeter pitch intervals along the base of the channel116. In this example, the sensor module120: can be approximately 120 millimeters (e.g., 118 millimeters) in length; can define a row of twenty sense areas—each containing one or a group of drive and sense electrode pairs125—at 6-millimeter pitch distances along its length; and can be arranged in the channel116such that regions of the sensor module120between adjacent sense areas face these bridges.

Thus, the row of bridges can resist deflection of the rear edge of this side of the frame110when a force is applied to this side of the frame110(e.g., when the device170is “squeezed”) by a user. However, unsupported segments of the side of the frame110between two adjacent bridges may deflect (i.e., bend) inwardly when squeezed by the user. A force applied to an unsupported segment of the side of the frame110may deflect this unsupported frame110segment inwardly toward the adjacent sensing area of the sensor module120, thereby: transferring (a portion of) this force into the sensor module120; compressing the force-sensitive material of the sensor module120; and reducing local bulk resistance of the force-sensitive material. The controller150can then: detect this reduction in local bulk resistance of the force-sensitive material in the form of a change in resistance across sense and drive electrodes in this sensing area of the sensor module120; and transform the magnitude of this change in resistance into a force magnitude of an input at the position of this sensing area along the first side171of the device170.

More specifically, these bridges can function to: consistently locate the rear edge of the first side of the frame110; maintain a consistent width of the back face of the frame110; and enable preferential inward elastic deflection of the front edge of the first side of the frame110and inward elastic deflection of unsupported segments of the first side of the frame110between bridges toward the sensor module120—thereby enabling the touch senor module and the controller150to detect and interpret a force magnitude of an input applied to the first side171of the device170.

Furthermore, the bridges—spanning the base of the channel116—can reduce sensitivity to inputs along the rear edge of the first side171of the device170and/or enable higher sensitivity to inputs along the front edge of the first side171of the device170. For example, the device170can render virtual icons along the edge of the display182adjacent the first edge of the frame110to indicate commands or actions (currently) associated with different regions of the first side171of the device170. Upon seeing these virtual icons rendered on the display182, a user may be inclined to preferentially “squeeze” or depress the first side171of the device170nearer the front edge of the device170to input a command associated with an adjacent virtual icon rendered on the display182. Thus, because the bridges are arranged along the rear edge of the first side171of the device170, the front edge of the first side of the frame110can exhibit a lower spring constant than the rear edge of the first side of the frame110such that the former deflects more under an applied force and such that more of this applied force is transferred into and detected by the sensor module120.

(Alternatively, to achieve preferential force detection along the rear edge of the first side of the frame110, the channel116can extend forward from the rear face of the frame110toward the display182, and the bridges can be formed along the front face of the frame110.)

Therefore, in this variation: the base structure112, the lateral frame structure114, and the series of bridges can define a unitary structure (e.g., metallic structure); and a base of the channel116—opposite the display182—can be perforated to form a series of bridges that support the lateral frame structure114off of the base structure112of the frame110.

In another example implementation, the frame110includes a 5-millimeter-thick stainless steel structure and a rectangular channel116: machined along the top face of the frame110; 1.5-millimeter-wide; 4.5-millimeter deep linear; and inset by 0.6 millimeter from the front edge of the first side of the frame110.

In one example in which the first side of the frame110is 150-millimeters-long, the channel116can be 120 millimeters in length, including fifteen 7.5-millimeter-long slots machined along the base of the channel116through to the back face of the frame110at 8-millimeter pitch distances to form fourteen 0.5-millimeter-wide “bridges” at 8-millimeter intervals along the base of the channel116. In this example, the sensor module120is approximately 120 millimeters in length, defines a row of twenty sense areas at 6-millimeter pitch distances along its length, and is installed in the channel116, as described further below.

In particular, by reducing the thickness of the unsupported segments of the first side of the frame110and reducing the width and thickness of the bridges, the stainless steel frame110can exhibit spring constants along the front edge of the first side of the frame110and along the unsupported segments of the first side of the frame110similar to the aluminum frame110described above.

Conversely, by increasing the thickness of the unsupported segments of the first side of the frame110and/or increasing the width and thickness of the bridges, a plastic or polymer frame110may exhibit spring constants along the front edge of the first side of the frame110and along the unsupported segments of first side of the frame110similar to the aluminum and stainless steel frames described above.

6. Sensor Module Assembly

In this variation and as described above, the sensor module120can include: a substrate121(e.g., a flexible PCB); a set of drive and sense electrodes125arranged across the substrate121(e.g., fabricated on one or more conductive layers of the flexible PCB); a layer of force-sensitive material arranged over the substrate121adjacent the set of drive and sense electrodes and exhibiting local changes in bulk resistance as a function of applied force (or pressure); and a compression element128(e.g., a foam slip) arranged across the force-sensitive material opposite the substrate121and configured to fill a void between the channel116and the sensor module120.

In one implementation, the sensor module120also includes a first tapered shim160bonded to the substrate121opposite the force-sensitive material, such as with a pressure-sensitive adhesive—such that a thick end of the first tapered shim160extends along a rear edge of the substrate121. In this implementation, the sensor module120is inserted into the channel116in the frame110with the rear edge of the substrate121and the thick end of the first tapered shim160located in the bottom of the channel116adjacent the rear face of the frame110. A second tapered shim160—similar in geometry to the first tapered shim160—is then inserted, thin-end first, into the channel116between the first tapered shim160and the adjacent inner wall of the channel116, thereby driving the sensor module120toward the opposite inner wall of the channel116and compressing the compression element128to fill voids and geometric inconsistencies along the channel116.

For example, for a 1.5-millimeter-wide channel116described above: the substrate121can define a thickness of 0.3 millimeters; the pressure-sensitive material layer can define a thickness of 0.3 millimeters; the compression element128can define a thickness of 0.4 millimeters; and the pressure-sensitive adhesive can define a thickness of 0.1 millimeters. Furthermore, the first and second tapered shims160can include: thin ends 0.2 millimeters in thickness; and thick ends 0.4 millimeters in thickness. The total uninstalled stack height of these elements is therefore approximately 1.7 millimeters. However, the total installed stack height of these elements—once installed in the channel116—is 1.5 millimeters, including compression of the compression element128from an original thickness of 0.4 millimeters to a nominal final thickness of 0.2 millimeters.

Alternatively, in a similar example shown inFIGS. 1 and 3, the sensor module120and the compression element128can be installed in the channel116, and a set of flat or tapered shims160(e.g., two 0.3-millimeter-thick shims160) can then be installed in the channel116(e.g., between a face of the channel116and the substrate121of the sensor module120) to compress the compression element128and to drive the force-sensitive layer126in contact with the substrate121.

A display182and rear cover panel174can then be bonded and/or sealed against a perimeter of the frame110—beyond these channels116and sensor modules120—such that these channels116and sensor modules120fall within the waterproof or water-resistant envelope formed by the frame110, the display182, and the rear cover panel174.

7. Multiple Sensor Modules Per Side of Device

In one variation, the system100includes: a front channel116formed along the front face of the frame110adjacent the first side of the frame110; a rear channel116formed along the rear face of the frame110adjacent the first side of the frame110and at a depth similar to the front channel116to form a web proximal a mid-plane of the frame110; a row of through-slots formed along the web to form a row of bridges between the front and rear channels116; a front sensor module120installed in the front channel116; and a rear sensor module120similarly installed in the rear channel116.

In this variation, a front edge of the lateral frame structure114may preferentially deflect inwardly toward the front sensor module120when a force is applied near the front edge of this side of the frame110, which is then preferentially detected by the front sensor module120. Similarly, a rear edge of the lateral frame structure114may preferentially deflect inwardly toward the rear sensor module120when a force is applied near the rear edge of this side of the frame110, which is then preferentially detected by the rear sensor module120. Therefore, in this variation, the controller150can detect and distinguish between forces applied along the front and rear edges of this side of the frame110and selectively execute actions according to such front or rear side inputs into the device170.

For example, the controller150can: detect inputs along both the front and rear edges of this side of the device170based on sense signals read from sensors in the front and rear sensor modules120; identify a rear side input at a particular location on this side of the device170if the force magnitude detected by a sensor in the rear sensor module120at this particular location is greater than the force magnitude detected by the adjacent sensor in the front sensor module120at this particular location; and vice versa. The controller150can then: read side inputs as a hand or fingers gripping the device170and thus ignore these side inputs; and interpret front side inputs as intentional inputs and thus trigger actions responsive to front side inputs. In this example, the controller150can thus enable the user to: hold the device170without triggering an action; and then trigger a particular action be depressing a section of the front edge of this side of the device170near a virtual button188—associated with this particular action—rendered on the display182.

8. Sensor Modules on Multiple Sides of Device

Additionally or alternatively, the device170can include channels116and sensor modules120arranged along additional sides of the frame110, such as: along the left and right sides of the device170; or on the left, right, and top sides of the device170, as shown inFIGS. 1 and 10.

In one implementation, the frame110further includes a second outer frame structure130(e.g., a second lateral frame structure114): extending along and adjacent a second edge of the display182(e.g., a top side of the device170); a second lateral side of the device170opposite the (first) channel116and the (first) sensor module120; supported on a second side of the base structure112of the frame110; and cooperating with the base structure112to define a second channel136arranged behind the display182and extending between the second outer frame structure130and the second side of the base structure112. In this implementation, the system100also includes a second sensor module140arranged in the second channel136and including: a second substrate141; and a second linear array of sensors124arranged on the second substrate141and configured to output sense signals representing local deflections of the second outer frame structure130.

In this implementation, the controller150can be further configured to detect locations and force magnitudes of side inputs on the mobile computing device—proximal the second edge of the display182—based on sense signals output by the second linear array of sensors124. More specifically, in this implementation, the controller150can sample sense signals from sensors in both sensor modules120and interpret locations and force magnitudes of inputs on both of these sides of the device170based on these sense signals.

Alternatively, in this implementation, the system100can include a second controller150coupled to the second sensor module140and executing methods and techniques described above and below to detect and interpret force magnitudes of inputs solely on the second side172of the device170based on sense signals read from sensors in the second sensor module140.

9. Device Assembly

Once the sensor module120is installed in the channel116and connected to a master board, the controller150, and/or another component inside the frame110(e.g., via a flexible PCB, as shown inFIGS. 2B and 9B), the display182can be installed on the front side of the frame110such that edges of the display182extend up to (or near) the perimeter of the frame110and enclose the channel116. For example, the perimeter of the display182can be bonded to and/or sealed against the perimeter of the frame110—that is, along the lateral frame structure114and outside of the channel116. In particular, the display182can be bonded to the frame110along the narrow (e.g., one-millimeter-wide) section of the frame110between the channel116and the front edge of the first side of the frame110. Furthermore, in this example, the adhesive or seal that bonds the perimeter of the display182to the frame110can exhibit compliance in shear in order to: absorb inward deflection of the lateral frame structure114when depressed by a user; and limit transfer of this deflection into the edge display, which may otherwise distort an image rendered by the display182.

A rear cover panel174can be similarly bonded to the frame110along the narrow (e.g., one-millimeter-wide) lateral frame structure114of the frame110and can enclose slots between bridges along the base of the channel116. Thus, the display182and the rear cover panel174can cooperate to enclose the channel116and the sensor module120, and the channel116and the sensor module120can fall within a waterproof or water-resistant envelope formed by the frame110, the display182, and the rear cover panel174.

10. Input Detection

Therefore, each sensor, in the linear array of sensors124in the sensor module120, can: face a section of the lateral frame structure114; and output a sense signal representing local deflection of this section of the lateral frame structure114. Accordingly, during a scan cycle, the controller150can: read a set of sense signals from the linear array of sensors124; interpret a set of forces applied to sections of the lateral frame structure114during the scan cycle based on the set of sense signals; interpolate a particular position of a side input—applied to the mobile computing device proximal the first edge of the display182during the scan cycle—based on the set of forces and known positions of these sensors along the channel116; estimate a total force magnitude of the side input based on a combination of the set of forces; and output the particular position and the force magnitude of the side input, such as to a processor or master controller150in the device170. The controller150can also: repeat this process for subsequent scan cycles, such as at a rate of 100 Hz, to detect locations and force magnitudes of side inputs on the device170during these subsequent scan cycles; implement input tracking techniques to track side inputs on the device170over multiple consecutive scan cycles; and/or detect changes in force magnitudes of individual side inputs; etc.

In one implementation, during operation, the controller150: reads a set of resistance values across each drive and sense electrode pair125in the sensor module120; transforms these resistance values into a set of force magnitudes, such as based on a stored force-resistance model, scaling function, or lookup table; interpolates between these force magnitudes based on known locations of these sensors in the channel116; stores these measured and interpolated forces magnitudes in a force gradient that represents the side of the device170; and detects a set of contiguous regions in the force gradient that exhibit force magnitudes greater than a threshold force. Then, for each of these regions in the force gradient, the controller150: calculates a total force magnitude of a side input in this region based on a combination (e.g., a sum) of force magnitudes represented in this region of the force gradient; calculates a centroid of this region of the force gradient; and returns (e.g., to a processor in the device170) a side input at a location of the centroid and of the total force magnitude.

10.1 Input Characterization

The controller150can also characterize a side input as: a finger (or an intended input) if the length of the corresponding region of the force gradient is less than a threshold finger length (e.g., 12 millimeters); a thumb if the length of the corresponding region of the force gradient is within a thumb length range (e.g., 12 to 20 millimeters); or a palm if the length of the corresponding region of the force gradient is greater than a threshold palm length (e.g., 12 to 20 millimeters). Additionally or alternatively, the controller150can characterize a side input as: a finger (or an intended input) if the peak applied force (or peak applied pressure) within a region of the force gradient associated with this side input exceeds a threshold peak finger force (e.g., 100 grams); a thumb if the peak applied force within a region of the force gradient associated with this side input falls within a thumb force range (e.g., between 25 and 100 grams); or a palm if the peak applied force within a region of the force gradient associated with this side input falls below a threshold peak palm force (e.g., less than 25 grams).

Additionally or alternatively, the controller150can isolate a singular side input—in a group of concurrent side inputs into the device170—most likely to represent an intention selection at the device170. For example, the controller150can identify a particular side input—within a group of concurrent side inputs—at an intentional selection input in response to the particular side input exhibiting greatest peak force or greatest pressure (i.e., total force magnitude divided by total area or length of the input) within the group of side inputs. The controller150can then implement methods and techniques described above and below to characterize the particular side input and to return characteristics of the particular side input (e.g., location and/or total force magnitude) to a processor or other subsystem100within the device170.

As shown inFIG. 2B, the sensor module120can include drive and sense electrode pairs125arranged in a small number of (e.g., one, two) columns and a large number of (e.g., 24, 32) rows. Accordingly, the sensor module120can exhibit low resolution to side inputs along the depth of the side of the device170and high(er) resolution along the length of the side of the device170.

In one implementation, the channel116and the linear array of sensors124extend longitudinally over lengths greater than 80% of the longitudinal length of the first side of the mobile computing device. In this example, the controller150can detect locations and force magnitudes of side inputs—within a row of discrete regions on the first side of the mobile computing device—based on sense signals output by the linear array of sensors124, wherein each discrete region in the row of discrete regions on the first side of the mobile computing device defines a longitudinal length less than 10% of the longitudinal length of the first side of the mobile computing device. For example, a first side171of the device170can define a length of 150 millimeters; the channel116can extend over a length of 140 millimeters along the first side171of the device170; and the sensor module120can define a length of 138 millimeters and include 32 drive and sense electrode pairs125at a pitch distance of 4.25 millimeters. Accordingly, the controller150can detect side inputs at 32 discrete sensible regions along the length of the side of the device170. The controller150can also interpolate forces between these 32 discrete sensible regions (e.g., at one position between adjacent sensible regions) in order to up-sample sense signals read from the sensor module120.

10.3 Input Tracking and Gesture Interpretation

The controller150can also repeat the foregoing process(es) during subsequent scan cycles and interpret particular types of side inputs and/or side input gestures based on side inputs detected over multiple scan cycles.

For example, the controller150can characterize a side input as an “intended selection” (or “button press”) in response to detecting: a large increase in force magnitude applied at a particular location on the side of the device170—adjacent a virtual button188rendered on the display182—over a first subset of scan cycles while force magnitudes of side input at other locations on the device170remain constant or increase slightly; immediately followed by a decrease in force magnitude applied to the particular location on the side of the device170or release of the side input from the particular location over a subsequent sequence of scan cycles. The controller150(or a processor in the device170) can then trigger an action linked to the virtual button188.

In a similar example, the controller150can: implement methods and techniques described above to detect locations and total force magnitudes of individual side inputs on sides of the device170; and convert these total forces to average pressures based on the total areas (or lengths) of the corresponding side input. In this example, the controller150can then characterize a side input as an “intended selection” in response to detecting: a large increase in pressure applied at a particular location on the side of the device170—adjacent a virtual button188rendered on the display182—over a first subset of scan cycles while pressures of side input at other locations on the device170remain constant or increase slightly; immediately followed by a decrease in pressure applied to the particular location on the side of the device170or release of the side input from the particular location over a subsequent sequence of scan cycles. The controller150(or a processor in the device170) can then trigger an action linked to the virtual button188.

In a similar example, the controller150can: characterize a side input as an “intended selection” in response to detecting: a large increase in peak applied force (or peak pressure, rather than total force or total pressure) within a particular region of a side input on the side of the device170over a first subset of scan cycles while peak applied forces within regions of other side inputs on the side of the device170remain constant or increase slightly; immediately followed by a decrease in peak applied force within the particular region over a subsequent sequence of scan cycles.

In another example, the controller150can characterize a group of concurrent side inputs as a “squeeze” gesture in response to detecting: an increase in force magnitude applied to a large contiguous area on a first side171of the device170(e.g., a thumb or palm input); comparable increases in force magnitudes applied to a group of (e.g., three, four) contiguous discrete areas on the opposing side of the device170(e.g., three or four fingers); followed by similar and concurrent decreases in force magnitudes of all side inputs in this group.

In yet another example, the sensor module120can characterize a side input as a “swipe” or “scroll” gesture in response to detecting: an increase in force magnitude applied to a first location on a side of the device170over a first sequence of scan cycles; followed by transition of the side input at a similar force magnitude to a second location on the side of the device170over a subsequent sequence of scan cycles. Accordingly, the controller150can output a swipe or scroll command at a rate corresponding to the transition rate of the side input from the first location toward the second location.

In one implementation, the controller150stores a set of baseline signal values representing contact resistance between the linear array of sensors124in the sensor module120and the force-sensitive layer126during absence of side inputs on the mobile computing device. Then, during a scan cycle, the controller150: reads a set of sense signals from the linear array of sensors124; calculates a set of corrected sense signals based on the set of sense signals and the set of baseline signal values (e.g., by subtracting corresponding baseline signal values from these sense signals); interprets a set of nominal forces applied to sections of the lateral frame structure114during the scan cycle based on the set of corrected sense signals; and estimates total force magnitudes of side inputs on the mobile computing device—proximal the edge of the display182during the scan cycle—based on a combination of the set of corrected forces.

For example, in this implementation, the controller150can record (or “tare”) baseline electrical (e.g., voltage or resistance) values read from sensors in the sensor module120when no force is applied to the sides of the device170during a setup period. Then, during an operating period, the controller150can: correct or “normalize” sense signals read from drive and sense electrode pairs125in the sensor module120by subtracting these stored baseline electrical values from sense signals read from corresponding drive and sense electrode pairs125; and convert these corrected sense signals to force values based on a stored force-resistance model, scaling function, or lookup table, etc.

Alternatively, in this implementation, the controller150can: record (or “tare”) baseline electrical (e.g., voltage or resistance) values read from sensors in the sensor module120when no force is applied to the sides of the device170during a setup period; convert these baseline electrical signals to baseline force values based on a stored force-resistance model, scaling function, or lookup table, etc.; and store these baseline force values. Then, during an operating period, the controller150can: read sense signals read from drive and sense electrode pairs125in the sensor module120; convert these uncorrected sense signals to uncorrected force values based on the stored force-resistance model, scaling function, or lookup table, etc.; and then subtract the baseline force values from the uncorrected force values to calculate corrected force values along the side of the device170.

The controller150(or a separate or master processor in the device170can also detect, interpret, and handle side inputs into the device170as a function of content rendered on the display182(e.g., locations of virtual buttons188rendered along the perimeter of the display182) and/or screens or applications currently executing on the device170.

For example, while the display182renders a lock screen and/or a home screen, the controller150can: read sense signals from the sensor module120; implement methods and techniques described above to detect groups of inputs on both sides of the device170and to interpret these inputs as a “squeeze” input; and then trigger the device170to transition to a “sleep” or “hibernate” mode responsive to this “squeeze” input. Similarly, while the display182is in the “sleep” or “hibernate” mode with the display182off, the controller150can: read sense signals from the sensor module120; implement methods and techniques described above to detect groups of inputs on both sides of the device170and to interpret these inputs as a “squeeze” input; and then trigger the device170to transition to wake and render a lock screen responsive to this “squeeze” input.

In another example, while a camera application is open on the device170, the controller150can: implement methods and techniques described above to detect a group of side inputs on the sides of the device170; and trigger a shutter function within the camera application in response to at least one of these side inputs spanning a total area or length less than a threshold selection dimension (e.g., a threshold finger area or length) and exhibiting a total force that exceeds a high threshold force (e.g., 165 grams) and then drops below a lower threshold force (e.g., 70 grams). Additionally or alternatively, in this example, the controller150can trigger a video capture or image burst function within the camera application in response to at least one of these side inputs spanning a total area or length less than the threshold selection dimension and exhibiting a total force that exceeds a high threshold force (e.g., 165 grams) for more than a threshold duration (e.g., one second).

In yet another example, while a social media application is executing on the device170, the controller150can: implement methods and techniques described above to detect a side input that exceeds a threshold peak force, force magnitude, or pressure; track this side input over multiple scan cycles; detect the side input—at an approximately consistent peak force, force magnitude, or pressure—transitioning downward along the side of the device170; interpret this side input as a “downward scroll” input; and then trigger the social media application to scroll downwardly through a social feed at a rate proportional to the downward scroll input. Additionally or alternatively, in this example, the controller150can: implement methods and techniques described above to detect a group of inputs on two opposing sides of the device170; interpret a squeeze (or “pinch”) gesture input in the device170in response to this group of input containing two opposing side inputs of similar sizes and similar force magnitudes exceeding a threshold force magnitude; and then trigger the social media application to scroll downwardly through a social feed at a rate responsive to this squeeze input and proportional to force magnitudes (e.g., the average or total force magnitudes) of these two opposing side inputs.

Therefore, the controller150(or other processor in the device170can map individual side inputs or groups of concurrent side inputs to different input types based on screens rendered or applications executing on the device170.

12. Dynamic Button Allocation

As shown inFIGS. 5 and 6, the device170can dynamically reassign regions of sides of the device170to different command functions, such as based on the current orientation of the device170, screens currently rendered on the device170, applications currently executing on the device170, and/or locations of side inputs detected at the device170during a current scan cycle. The device170can then render virtual buttons188—such as in the form of icons and/or text descriptions—of various command functions about the perimeter of the display182proximal regions of sides of the device170currently assigned to these command functions.

More specifically, based on the current orientation of the device170, screens currently rendered on the device170, applications currently executing on the device170, and/or locations of side inputs detected at the device170during a current scan cycle, the device170can dynamically: remap associations between regions along the sides of the device170and particular command functions; and update iconography rendered on the display182to reflect these new side input mappings.

In one example shown inFIG. 5, while the device170display is off, displaying a lock screen, or displaying a home screen, the controller150(or other processor in the device170) can: toggle the device170between sleep and locked-screen modes in response to brief side inputs (e.g., a “press” input exceeding a threshold force magnitude for less than two seconds) at a first region of the sensor module120(e.g., proximal an upper corner of the device170); render a virtual “power” button on the display182adjacent this first region of the sensor module120; increase or decrease an output volume of the device170in response to brief side inputs or “swipe” inputs within a second region of the sensor module120proximal a middle portion of the side of the device170; render virtual “volume increase” and “volume decrease” buttons on the display182adjacent this second region of the sensor module120; toggle audible notifications (e.g., inbound messages, alarms) in response to side inputs (e.g., a “squeeze” or “pinch” gesture) within a third region of the sensor module120proximal a lower portion of the side of the device170(e.g., lower half of the device170); and render a virtual “silence” button on the display182adjacent this third region of the sensor module120.

Later, when a call is inbound to the device170, the controller150(or the processor, etc.) can: remove the virtual “power,” volume increase,” and “volume decrease” buttons from the display182; remap the entire length—including the first, second, and third regions—of the sensor module120to detecting a “squeeze” input; render a virtual “squeeze to silence” indicator on the display182; and then selectively silence the inbound call in response to detecting a “squeeze” or “pinch” side input at any position along the length of this sensor module120.

At a later time, when the user opens a camera application at the device170and holds the device170in a portrait orientation, the controller150(or other processor in the device170can automatically: remap the first region of the sensor module120to a camera “shutter” control; trigger the camera shutter in response to detecting a side input in the first region of the sensor module120; remap the second region of the sensor module120to “zoom in” and “zoom out” controls; trigger the camera application to zoom a viewfinder in and out in response to detecting side inputs in the second region of the sensor module120; remap a first subsection of the third region of the sensor module120to a “video capture” control; and trigger the camera to record a video in response to detecting a side input in this first subsection of the third region of the sensor module120; and update the display182to render virtual buttons188to reflect these remapped controls. Furthermore, the controller150(or other processor in the device170can: assign a focus force threshold and a shutter force threshold—greater than the focus force threshold—to the first region of “shutter” control; trigger the camera shutter in response to detecting a side input of total force, peak force, or peak pressure exceeding the shutter force threshold in the first region of the sensor module120; and trigger the camera application to refocus the camera in response to detecting a side input of total force, peak force, or peak pressure between the shutter and focus force thresholds in the first region of the sensor module120.

Then, if the user rotates the device170to a landscape orientation while the camera application is open, the controller150(or other processor in the device170) can automatically: remap the first region of the sensor module120to “zoom in” and “zoom out” controls; maintain the “video capture” control mapped to the first subsection of the third region of the sensor module120; remap the camera “shutter” control to a second subsection of the third region of the sensor module120proximal an upper-right corner of the device170in the landscape orientation; and update the display182to render virtual buttons188to reflect these remapped controls.

12.2 Light Input Defines Virtual Button Location

Additionally and/or alternatively, the device170can dynamically remap command functions to different regions along the sensor module120based on locations of light (i.e., low-force, or “resting”) side inputs detected along the side of the device170.

In one implementation, the controller150(or other processor in the device170): detects a first input of a first force magnitude and at a first location on the first side of the mobile computing device at a first time based on a first set of sense signals read from the array of sensors124during a first scan cycle; and triggers the display182to render a first virtual button188adjacent the first location during a first period of time succeeding the first scan cycle in response to detecting the first input at the first location. The controller150then: detects a second input of a second force magnitude and proximal the first location on the first side of the mobile computing device during the first period of time based on a second set of sense signals read from the array of sensors124during a second scan cycle succeeding the first scan cycle; and triggers an action affiliated with the first virtual button188in response to a) detecting the second input proximal the first location and b) the second force magnitude exceeding the first force magnitude. Later, the controller150can: detect a third input at a third location on the second side of the mobile computing device at a third time based on a third set of sense signals read from the second array of sensors144during a third scan cycle succeeding the second scan cycle; and trigger the display182to render the first virtual button188adjacent the third location on the second side172of the device170during a third period of time succeeding the third scan cycle in response to detecting the third input at the third location on the second side172of the device170.

In one example, during a scan cycle, the controller150: detects a set of (e.g., three, six) side inputs on the side of the device170based on sense signals read from a first sensor module120on a first side171of the device170and a second sensor module140on a second side172of the device170; and identifies these side inputs as “resting” side inputs in response to their total force magnitudes, peak force magnitudes, or peak pressures exceeding a threshold force sensitive floor (e.g., 10 grams to filter and discard noise in the sensor module120) and falling below a side input force threshold (e.g., 165 grams). Alternatively, the controller150can identify these side inputs as “resting” side inputs in response to their total force magnitudes, peak force magnitudes, or peak pressures differing by less than a threshold difference (e.g., +/−8%). The controller150(or other process in the device170can also identify a subset of these side inputs that correspond to individual fingers, such as side inputs characterized by lengths less than a threshold length (e.g., 20 millimeters). Alternatively, the controller150can: identify three or more side inputs on first side171of the device170as fingers with the topmost of these side inputs corresponding to an index finger; identify a largest side input on the second, opposing side of the device170as a palm; and identify a second side input on the second side172of the device170as a thumb.

The controller150can then: retrieve a prioritized list of command functions associated with a screen currently rendered on the display182or an application currently executing on the device170; assign a first command function in the prioritized list to a first region of the first sensor module120adjacent a topmost side input identified as a finger; update the display182to render a first virtual button188for the first command function adjacent this first region of a first sensor module120; assign a second command function in the prioritized list to a second region of the first sensor module120adjacent a second side input identified as a finger; update the display182to render a second virtual button188for the second command function adjacent this second region of the first sensor module120; etc. The controller150can also: reassign a “screen lock” command function to a region of the second sensor module140adjacent side input identified as a thumb; and update the display182to render a virtual “screen lock” button adjacent this region of the second sensor module140.

The controller150(or other processor in the device170) can then execute a particular command function in response to detecting a side input—that exceeds a threshold force magnitude (e.g., 165 grams)—in a particular region of the first or second sensor modules140currently mapped to this particular command function. The controller150can also regularly (e.g., continuously, once per two-second interval) repeat the foregoing process to dynamically reassign command functions to locations along sides of the device170adjacent resting side inputs as a user naturally holds the device170in her hand, thereby enabling the user to immediately access primary or high-priority functions at the device170without moving her fingers along the device170or repositioning the device170in her hand.

Therefore, the controller150(or other processor in the device170can dynamically reassign virtual buttons188to different locations along a sensor module120and dynamically adjust force thresholds for responding to side inputs at these locations.

12.3 Device Orientation Defines Virtual Button Location

In another implementation, the controller150can: detect a current orientation of the device170based on outputs of an accelerometer on the device170; rotate a mapping between particular command functions and regions of the sensor module120(s) by 180° when the device170is inverted; and/or rotate a mapping between particular command functions and particular locations by 90° (for a device170with sensor modules120on all four sides) when the device170is transitioned between portrait and landscape orientations.

In a similar implementation in which the device170includes two sensor modules120on its left and right sides, the controller150can assign a first set of virtual buttons188to a lower region of the right sensor module120, a second set of virtual buttons188to an upper region of the right sensor module120, a third set of virtual buttons188to an upper region of the left sensor module120, and a fourth set of virtual buttons188to a lower region of the left sensor module120when the device170is held in the portrait orientation. When the device170is transitioned clockwise from the portrait orientation into the landscape orientation, the controller150can dynamically reassign the first set of virtual buttons188to the lower region of the left sensor module120, the second set of virtual buttons188to the lower region of the right sensor module120, the third set of virtual buttons188to the upper region of the right sensor module120, and the fourth set of virtual buttons188to a upper region of the left sensor module120. Similarly, when the device170is transitioned counter-clockwise from the portrait orientation into the landscape orientation, the controller150can dynamically reassign the first set of virtual buttons188to the upper region of the right sensor module120, the second set of virtual buttons188to the upper region of the left sensor module120, the third set of virtual buttons188to the lower region of the left sensor module120, and the fourth set of virtual buttons188to a lower region of the right sensor module120such that the virtual buttons188remain in approximately the same quadrants of the device170relative to gravity or a ground plane regardless of orientation of the device170.

In a similar implementation, the controller150can implement methods and techniques described above to detect: a palm and/or a thumb on a first side171of the device170based on a first set of sense signals read from a first sensor module120on this first side171of the device170; and a set of fingers on a second side172of the device170based on a second set of sense signals read from a second sensor module140on this second side172of the device170. The device170can then: detect a handedness of a hand holding the device170based on positions of the palm, thumb, and/or fingers on sides of the device170; and selectively reverse (e.g., mirrors) a mapping between command functions and regions of these sensor modules120based on the handedness of the hand such that a user's thumb and index finger, etc. can always reach the same virtual buttons188(given a particular screen rendered on the display182or application executing on the device170regardless of whether the user is holding the device170with her left hand or right hand.

In one variation shown inFIG. 4, the lateral frame structure114of the frame110defines a bore164(e.g., a round or square hole) extending laterally between the first side of the mobile computing device and the channel116; and the system100further includes a physical button element162arranged in the bore164, accessible from the first side of the mobile computing device, and configured to selectively compress a particular region of the force-sensitive layer126adjacent a particular sensor in the sensor module120. In this variation, the wherein the controller150can therefore: implement methods and techniques described above to detect locations and force magnitudes of side inputs on the mobile computing device—proximal the first edge of the display182and offset from the physical button element162—based on sense signals output by sensors in the linear array of sensors124other than the particular sensor; and detect force magnitudes of inputs on the physical button element162based on sense signals output by the particular sensor.

Generally, in this variation, the sensor module120: can define a singular, continuous substrate121and singular, continuous force-sensitive layer126arranged in the channel116along a side of the device170; can output sense signals representing inward deflection of the lateral frame structure114responsive to inputs along the side of the device170; and can also output sense signals representing location compression of the force-sensitive layer126responsive to depression of a physical button passing laterally through the lateral frame structure114. For example, the sensor module120can be sealed (e.g., waterproofed) against the channel116and can detect inputs along the first side171of the device170—from both deflection of the lateral frame structure114and depression of the physical button—without additional discrete buttons or seals around these discrete buttons.

14. Sensor Module and Touchscreen Fusion

In one variation in which the device170includes a touchscreen180, the controller150(or other processor in the device170) can: read sense signals from the touchscreen180and interpret high-resolution lateral and longitudinal locations on inputs on the touchscreen180during a scan cycle based on the sense signals (or access a touch image output by a second controller150in the device170based on sense signals read from the touchscreen180); read sense signals from the sensor module120arranged along a first side171of the device170and interpret total force magnitudes (or peak force magnitudes, peak pressures) and low-resolution locations of side inputs along the side of the device170during the scan cycle based on sense signals read from the sensor module120; and identify a touch input detected by the touchscreen180as corresponding to a side input detected by the sensor module120if the locations of these inputs are within a threshold distance (e.g., if a centroid of the touch input is within 3 millimeters of the edge of the touchscreen180on the first side171of the device170). Then upon identifying the touch and side inputs as the same input, the controller150can: fuse the high-resolution position of the touch input and the total force magnitude (or peak force magnitude, peak pressure) of the side input into a high-resolution side input; and output this side input (e.g., to another processor in the device170) during the scan cycle.

More specifically, the touchscreen180can include a relatively high density of drive and sense electrode pairs125(e.g., one sensor or drive channel116per millimeter of length), and the sensor module120can include a relatively low density of drive and sense electrode pairs125(e.g., one sensor or drive channel116per 4.5 millimeters of length). Therefore, the touchscreen180can exhibit relatively high spatial resolution, and the sensor module120can exhibit relatively low spatial resolution. Thus, in this variation, the controller150(or other processor in the device170can link a touch input detected at the high-resolution touchscreen180and a side input detected at the force-sensitive sensor module120during a scan cycle if: the lateral (or “x”) position of (the centroid of center of) the touch input falls along the edge of the screen adjacent the sensor module120(e.g., within a lateral threshold distance of 3 millimeters from the edge of the touchscreen180); and the longitudinal (or “y_touch”) position of the touch input falls within a threshold longitudinal distance of the longitudinal (or “y_side”) position of the side input (e.g., within a longitudinal threshold distance of the pitch distance between sensors in the sensor module120, or 4.5 millimeters). Then, upon linking these touch and side inputs, the controller150can fuse the high-resolution longitudinal position of the touch input detected by the touchscreen180and the total force magnitude (or peak force magnitude, peak pressure) of the side input detected by the sensor module120into a side input of high(er) spatial resolution.

For example, the touchscreen180can include: the display182; and a touch sensor arranged across the display182and configured to output sense signals representing locations of touch inputs over the display182. In this example, the controller150can: read a first set of sense signals from the touch sensor during a scan cycle; detect a first lateral location and a first longitudinal location of a first touch input over the display182during the scan cycle based on the first set of sense signals; read a second set of sense signals from the array of sensors124in the sensor module120during the scan cycle; interpret a first force magnitude of a side input in a first region of a first side of the mobile computing device based on the second set of sense signals; and, in response to the first lateral location of the first touch input falling within a threshold distance of the first region of a first side of the mobile computing device, output a representation of the first side input of the first force magnitude and at the first longitudinal location on the first side of the mobile computing device during the scan cycle.

15. Variation: Curved Display with Exposed Frame

In one variation shown inFIG. 7, the display182includes: a planar display section184that defines the front face of the mobile computing device; and a non-planar (e.g., curved) display section that extends around a first side of the mobile computing device and defines the first edge of the display182. In this variation, the lateral frame structure114of the device170can extend along and behind the non-planar display section186, and the non-planar display section186can extend over and enclose the sensor module120in the channel116. For example, the lateral frame structure114can: define a display182seat extending along, bonded to, and/or sealed against the first edge of the display182; and extend past the first edge of the display182to define the first side171of the device170. Accordingly, the seat of the lateral frame structure114can form a thin (e.g., 0.025″) gap along the first edge of the display182, and the lateral frame structure114can deflect inwardly to close this gap and locally compress the force-sensitive layer126against sensors in the sensor module120responsive to forces applied along the first side171of the device170. Therefore, in this variation, the lateral frame structure114can deflect inwardly to locally compress the force-sensitive layer126with minimal or no deflection of the first edge of the display182.

In one example shown inFIG. 7, the frame110includes: a first curved (or “radiused”) side; a channel116and bridges inset from and extending parallel to the first curved side; a front ridge extending along the front of the frame110between the channel116and the first curved side; and a rear ridge extending along the rear of the frame110between the channel116and the first curved side. As described above, a sensor module120can be loaded into this channel116. In this example, the device170includes: a display182(and front cover panel) with a curved “waterfall” edge extending over the front of the frame110and the first curved side of the frame110and terminating at the front ridge; and a (rigid) rear cover panel174with a curved “waterfall” edge extending over the rear of the frame110and the first curved side of the frame110and terminating at the rear ridge. In particular, the edges of the display182(and/or front cover panel) and the rear cover panel174can be bonded to the frame110adjacent the front and rear ridges, respectively, (e.g., with a flexible waterproof adhesive) with a center section of the first curved side of the frame110remaining exposed. Thus, the free edges of the display182(and/or front cover panel) and the rear cover panel174adjacent the channel116can deflect responsive to an applied force on the first side171of the device170and transfer a portion of this force into the curved side of the frame110, which also deflects and transfers a portion of this force into an adjacent segment of the sensor module120. Furthermore, the display182(and/or front cover panel) and rear cover panel174can be bonded and/or sealed against the perimeter of the frame110—beyond the channel116and the sensor module120—such that the channel116and the sensor module120fall within the waterproof or water-resistant envelope formed by the frame110, the display182, and the rear cover panel174.

16. Variation: Curved Display with Concealed Frame

In a similar variation shown inFIG. 8, the channel116can extend forward from a rear of the frame110toward the display182; and the non-planar display section186can extend around the frame110to conceal the lateral frame structure114and can define the first side171of the device170bonded along and/or sealed against the later frame structure. In this variation, the rear cover panel174can: similarly extend around the frame110to conceal the lateral frame structure114; abut the first edge of the display182; and enclose the sensor module120in the channel116. Therefore, in this variation, the first edge of the display182can deflect inwardly to communicate the force of a side input into the lateral frame structure114, which then deflects inwardly to locally compress the force-sensitive layer126.

In one example shown inFIG. 8, the device170includes: a frame110with a first curved (or “radiused”) side; a display182(and a front cover panel) with a curved “waterfall” edge extending over a front of the frame110and the first curved side of the frame110; and a (rigid) rear cover panel174that extends across the rear of the frame110and up to the perimeter of the display182to enclose and fully obscure the frame110. As described above, the frame110can also include a channel116and bridges along the first curved side of the frame110, and a sensor module120can be loaded into this channel116. In this example, the rear edge of the display182(and/or front cover panel) can be bonded to the first curved side of the panel (e.g., with a flexible waterproof adhesive) adjacent the channel116and sensor module120. Thus, the free edge of the display182(and/or front cover panel) adjacent the channel116can deflect responsive to an applied force on the first side171of the device170and transfer a portion of this force into the curved side of the frame110, which also deflects and transfers a portion of this force into an adjacent segment of the sensor module120.

17. Variation: Curved Display Defining Channel

In another variation in which the display182includes a non-planar display section186that wraps around an edge of the device170, the non-planar display section186and the frame110can cooperate to define the channel116and the sensor module120can be arranged (e.g., laminated) behind the non-planar display section186, as shown inFIGS. 9A and 9B.

In one implementation shown inFIGS. 9B and 10: the frame110defines a seat extending along its first edge and configured to receive a support base129(e.g., a “stiffening element”); and the support base129is contoured (e.g., molded, machined) to locate the sensor module120parallel to a plane that tangent to a line—centered over the sensor module120—extending along the non-planar display. During assembly, the sensor module120—including the force-sensitive layer126laminated across the substrate121—is arranged across and/or bonded to a support base129, which is then loaded onto the seat. A compression element128is installed over the sensor module120opposite the support base129, and the display182is then installed onto the frame110to enclose the sensor module120and compress the compression element128between the interior face of the non-planar display section186and the sensor module120, which is rigidly supported on the frame110via the support base129. In this implementation, the frame110can also define a lip: extending along the first edge of the display182(i.e., along the edge of the non-planar display section186); and bonded and/or sealed to the first edge of the display182. For example, the lip can bonded to and/or sealed against the first edge of the display182with an adhesive or sealant exhibiting a low modulus of elasticity and that compresses and/or shears to enable the first edge of the display182to locally deflect inwardly toward the sensor module120and to thus compress the force-sensitive layer126responsive to side inputs along the first edge of the display182.

In one variation shown inFIG. 12, rather than a force-sensitive layer126and sensors configured to detect contact resistance across adjacent regions of the force-sensitive layer126, the sensor module120includes an array of drive and sense electrode pairs125arranged in a mutual capacitance configuration and configured to capacitively to a capacitance element along the adjacent side of the device170. Accordingly, in this variation, the controller150is configured to: read capacitance values (e.g., charge time, discharge time, voltage, resonant frequency) from the array of drive and sense electrode pairs125; and convert these capacitance values into force magnitudes of side inputs adjacent these drive and sense electrode pairs125.

More specifically, in this variation, a side input applied to the side of the device170adjacent a particular drive and sense electrode pair125in the sensor module120can cause inward deflection of the side of the device170, which brings the adjacent region of the capacitance element closer to this particular drive and sense electrode pair125and changes the capacitance value (e.g., increases charge time, decreases discharge time, decreases voltage) read from the particular drive and sense electrode pair125. The controller150can then read this capacitance value, calculate a difference between this capacitance value and a baseline capacitance value (e.g., recorded when no side input is present on the device170), and transform this capacitance value into a force magnitude of the side input proximal the particular drive and sense electrode pair125. The controller150can also: execute this process in series or in parallel for each other drive and sense electrode pair125in the sensor module120to calculate a force magnitude applied to the side of the device170during a scan cycle; interpolate force magnitudes between these drive and sense electrode pairs125; assemble these measured and/or interpolated force magnitudes into a force gradient; and detect locations and total force magnitudes, peak forces, and/or peak pressures of side inputs along the device170during this scan cycle, as described above.

In one implementation: the display182includes a non-planar display section186that wraps around the side of the frame110adjacent the sensor module120to form all or a portion of a side of the device170; and the capacitance element includes a conductive trace integrated into and extending near an edge of this non-planar display section186such that a force applied to the side of the device170inwardly deflects a local region of the edge of the non-planar display section186, which brings a local section of the conductive trace closer to an adjacent drive and sense electrode pair125and thus effects the capacitance of this drive and sense electrode pair125.

In this implementation, because the non-planar display section186is configured to deflect responsive to side inputs into the device170, because images rendered on the non-planar display section186may distort as the display182deflects, and/or because the non-planar display section186may be sensitive to fatigue and failure as a function of strain, the non-planar display section186(and the front edge of the lateral frame structure114) can be configured to locally deflect inwardly toward the base structure112of the frame110by a small distance per unit force applied to the side of the device170, such as by a distance less than 0.0005 inch per pound of force applied to a local section of the side of the device170. More specifically, because the non-planar display section186may be sensitive to local deflection: the lateral frame110section can support the edge of the non-planar display section186and/or the display182can include a rigid (e.g., glass) cover layer configured to support the non-planar display section186against inward deflection; and the drive and sense electrode pairs125can be tuned to exhibit high sensitivity to small deflections in the adjacent edge of the non-planar display section186, thereby enabling the controller150to detect and interpret side inputs along the non-planar display section186despite small deflections of non-planar display section186responsive to these side inputs.

In a similar implementation shown inFIG. 12in which the lateral frame structure114is non-metallic, the system100includes a compressive element (e.g., a foam strip) arranged between the sensor module120and the side of the device170, such as: between the sensor module120and the lateral frame structure114for the device170in which the lateral frame structure114defines the side of the device170; or between the sensor module120and the non-planar display section186for the device170in which the display182wraps around the side of the device170. In this example, the capacitance element can include a conductive foil (e.g., an aluminum foil) arranged between the compressive element and the side of the device170such that a force applied to this side of the device170locally inwardly deflects the lateral frame structure114and/or the non-planar display section186, which locally compresses the compression element128, brings a local section of the conductive foil closer to an adjacent drive and sense electrode pair125, and thus effects the capacitance of this drive and sense electrode pair125.

In another implementation, the frame110includes the lateral frame structure114, which: extends along and adjacent a first edge of the display182; is supported on a first side of the base structure112of the frame110; cooperates with the base structure112to define a channel116arranged behind the display182and extending longitudinally between the lateral frame structure114and the first side of the base structure112; and is configured to locally deflect inwardly toward the base structure112responsive to forces applied to the side of the mobile computing device adjacent an edge of the display182. In this implementation, the sensor module120is arranged within the channel116along the base structure112and offset from an inner face of the lateral frame structure114(e.g., by 0.5 millimeter). Furthermore, in this implementation, the frame110—and therefore the lateral frame structure114—can include a metallic or conductive material, such as: cast, forged, sintered, or billet aluminum or steel; or co-molded polymer and conductive particulate. Therefore, each sensor (e.g., each drive and sense electrode pair125) in the linear array of sensors124can: capacitively couple to an adjacent section of the lateral frame structure114; and output a sense signal representing a distance to this adjacent section of the lateral frame structure114—and therefore representing inward deflection of the adjacent section of the lateral frame structure114toward the sensor. More specifically, in this implementation, each sensor in the linear array of sensors124can: exhibit capacitive coupling to an adjacent section of the lateral frame structure114proportional to inward deflection of the adjacent section of the lateral frame110; and output a sense signal representing capacitive coupling to the adjacent section of the lateral frame structure114.

In this variation, the controller150can store a set of baseline capacitance values representing nominal distances between the linear array of sensors124and adjacent sections of the lateral frame structure114. Then, during a scan cycle, the controller150can: read a set of sense signals from the linear array of sensors124; calculate a set of corrected sense signals based on the set of sense signals and the set of baseline capacitance values; interpret a set of nominal forces applied to sections of the lateral frame structure114during the scan cycle based on the set of corrected sense signals; and estimate a total force magnitude of a side input on the mobile computing device, proximal the first edge of the display182during the scan cycle, based on a combination of the set of corrected forces.

Furthermore, in this variation, rather than drive and sense electrode pairs125arranged in a mutual capacitance configuration on one side of the substrate110, the sensor module120can: include an array of individual sense electrodes arranged in a self-capacitance configuration across the first side of the substrate110; and a common ground electrode or individual ground electrodes arranged along the second side of the substrate opposite these sense electrodes. Accordingly, the controller150can implement similar methods and techniques to: detect changes in positions of local regions of the side of the device170relative to these sense electrodes based on capacitance values read from these sense electrodes; and then interpret force magnitudes and locations of side inputs on the device170based on these positional changes.