Devices today (e.g., computing devices) typically support a variety of different input techniques. For instance, a particular device may receive input from a user via a keyboard, a mouse, voice input, touch input (e.g., to a touchscreen), and so forth. One particularly intuitive input technique enables a user to utilize a handheld input device (e.g., a pen, a stylus, and so forth) to provide freehand input to a touch-sensing functionality such as a touchscreen, which is interpreted as digital ink. The freehand input may be converted to a corresponding visual representation on a display, such as for taking notes, for creating and editing an electronic document, and so forth. Current handheld input devices are limited in their ability to sense more subtle user manipulations and thus have difficulty in simulating an actual drawing experience.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Techniques for a handheld input apparatus are described. Generally, a handheld input apparatus can be used to provide input to various types of devices. According to various embodiments, a described handheld input apparatus includes a strain sensor for determining different load forces on a tip of the apparatus. According to various embodiments, a described handheld input apparatus includes components for determining an angular and/or rotational orientation of the apparatus relative to an input surface. Based on the different determined forces and/or orientation information, input characteristics of a handheld input apparatus can be controlled.
The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different instances in the description and the figures may indicate similar or identical items.
Overview
Techniques for a handheld input apparatus are described. Generally, a handheld input apparatus can be used to provide input to various types of computing devices. For instance, a handheld input apparatus can be implemented as a pen that can be used to apply digital ink to an input surface such as a touchscreen. Generally, digital ink refers to freehand input to a contact-sensing functionality such as a touchscreen and/or digitizer screen, which is interpreted as digital ink.
According to various implementations, a handheld input apparatus is described that includes a strain sensor for determining different load forces on a tip of the apparatus. For instance, when a user applies the tip to an input surface, measurements from the strain sensor are used to determine an amount of force applied by the user and a direction of force applied by the user. Based on the different determined force and directional information, input characteristics of the handheld input apparatus can be controlled. For instance, characteristics of digital ink can be determined based on force and direction information, such as line width, shading, texture, and so forth.
According to various implementations, a handheld input apparatus includes components for determining an angular and/or rotational orientation of the apparatus relative to an input surface. For instance, when a user manipulates the handheld input apparatus to apply digital ink to an input surface, an angular and/or rotational orientation of the apparatus relative to the input surface is determined. Generally, the orientation of the handheld input apparatus can be used to determine different input characteristics, such as line width, shading, texture, and so forth. In at least some implementations, orientation information can be combined with force and directional information to provide diverse input scenarios.
In the following discussion, an example environment is first described that is operable to employ techniques described herein. Next, a section entitled “Example Pen and Strain sensor” describes some example attributes of a handheld input apparatus in accordance with one or more embodiments. Following this, a section entitled “Example Procedures” describes some example methods for a handheld input apparatus in accordance with one or more embodiments. Finally, a section entitled “Example System and Device” describes an example system and device that are operable to employ techniques discussed herein in accordance with one or more embodiments.
Example Environment
The client device 102 includes a variety of different functionalities that enable various activities and tasks to be performed. For instance, the client device 102 includes an operating system 104, applications 106, and a communication module 108. Generally, the operating system 104 is representative of functionality for abstracting various system components of the client device 102, such as hardware, kernel-level modules and services, and so forth. The operating system 104, for instance, can abstract various components (e.g., hardware, software, and firmware) of the client device 102 to the applications 106 to enable interaction between the components and the applications 106.
The applications 106 represent functionalities for performing different tasks via the client device 102. Examples of the applications 106 include a word processing application, a spreadsheet application, a web browser, a gaming application, and so forth. The applications 106 may be installed locally on the client device 102 to be executed via a local runtime environment, and/or may represent portals to remote functionality, such as cloud-based services, web apps, and so forth. Thus, the applications 106 may take a variety of forms, such as locally-executed code, portals to remotely hosted services, and so forth.
The communication module 108 is representative of functionality for enabling the client device 102 to communicate over wired and/or wireless connections. For instance, the communication module 108 represents hardware and logic for communication via a variety of different wired and/or wireless technologies and protocols.
The client device 102 further includes a display device 110, input components 112 including a digitizer 114 and touch input devices 116, and a touch device module 118. The display device 110 generally represents functionality for visual output for the client device 102. Additionally, the display device 110 represents functionality for receiving various types of input, such as touch input, pen input, and so forth. The input components 112 generally represent different functionalities for receiving input to the client device 102. Examples of the input components 112 include gesture-sensitive sensors and devices (e.g., such as touch-based sensors and movement-tracking sensors (e.g., camera-based)), a mouse, a keyboard, a stylus, a touch pad, accelerometers, a microphone with accompanying voice recognition software, and so forth. The input components 112 may be separate or integral with the displays 110, with integral examples including gesture-sensitive displays with integrated touch-sensitive or motion-sensitive sensors. The digitizer 114 represents functionality for converting various types of input to the display device 110 and the touch input devices 116 into digital data that can be used by the client device 102 in various ways, such as for generating digital ink.
According to various implementations, the touch device module 118 represents functionality for configuring various settings of the touch input devices 116 and/or for enabling interactions between the touch input devices 116 and other components of the client device 102.
The environment 100 further includes a pen 120, which is representative of an instance of the touch input devices 116 for providing input to the display device 110. Generally, the pen 120 is in a form factor of a traditional pen but includes functionality for interacting with the display device 110 and other functionality of the client device 102. In at least some implementations, the pen 120 is an active pen that includes electronic components for interacting with the client device 102. The pen 120, for instance, includes a battery that can provide power to internal components of the pen 120. In some configurations, the pen may be referred to as a stylus.
Generally, the pen 120 is representative of an input device that can provide input that can be differentiated from other types of input by the client device 102. For instance, the digitizer 114 is configured to differentiate between input provided via the pen 120 and input provided by a different input mechanism such as a user's finger. As further described below, the pen 120 includes various internal components that enable techniques for a handheld input apparatus described herein. While various features are discussed herein with reference to the pen 120, it is to be appreciated that implementations discussed herein may be utilized with any suitable handheld input apparatus in accordance with the claimed embodiments.
Having described an example environment in which the techniques described herein may operate, consider now a discussion of an example implementation scenario in accordance with one or more embodiments.
Example Pen and Strain Sensor
The pen 120 further includes internal components 208, which are representative of components that enable various functionalities of the pen 120. For instance, the internal components 208 include electronic components 210, which include a power supply 212, one or more processors 214, data storage 216, communication components 218, and a pen module 220. Generally, the power supply 212 represents a power source for various components of the pen 120. Examples of the power supply 212 include one or more batteries, an inductive coil, a wired power circuit configured to receive power from a wire, and so forth.
The processors 214 represent functionality for performing different data processing tasks for the pen 120, and the data storage 216 represents functionality for storing data for the pen 120. Examples of the processors 214 and the data storage 216 are discussed below with reference to the system 1400.
The communication components 218 are representative of functionality for enabling data communication between the pen 120 and other devices, such as the client device 102. In at least some implementations, the communication components 218 are configured to transmit and receive wireless signals using any suitable wireless protocol, such as Bluetooth, radio-frequency identifier (RFID), and so forth. For instance, the communication components 218 can exchange (send and receive) wireless signals with the client device 102, such as for configuring different operational settings of the pen 120 and/or the client device 102.
The pen module 220 is representative of functionality for performing different logic-based tasks for the pen 120, such as receiving strain measurements, calculating relative load forces based on strain, determining angular and/or rotational orientation of the pen 120, and so forth. As further detailed below, the internal components 208 generally include various electronic and structural components for enabling techniques for a handheld input apparatus described herein.
Further, when the pen 120 is assembled the nose 206 is fastened to a lip 310 on the pen body 200 via any suitable attachment means. For instance, an outer surface of the lip 310 and an inner surface of the nose 206 may be threaded such that the nose 206 can be screwed onto the lip 310. Alternatively or additionally, the nose 206 may be fastened onto the lip 310 via a suitable adhesive and/or joining technique. As further discussed below, the tip 202 is inserted into a portion of the strain sensor 302.
Notice that the spokes 404a-404c have a “waist” at and/or near the center of each spoke. For instance, with reference to the spoke 404a, a side 408a and a side 408b are crescent-shaped, e.g., parabolic and/or semi-parabolic in shape. A center width 410 of the spoke 404a, for example, is thinner than an upper width 412a and a lower width 412b. Generally, this tapered contour of the spoke plate 400 enables an increase in accuracy and sensitivity for strain force measurements in comparison to legacy designs. For instance, the tapered contour focuses strain force on a particular spoke within the center of the spoke (e.g., along the center width 410) to enable more accurate and sensitive strain force measurements to be captured.
Proceeding to the lower portion of the scenario 500, the lip 504 is positioned within the aperture 402 to enable the spoke plate 400 to be attached to the shaft 502. The spoke plate 400 can be attached to the shaft 502 using any suitable attachment technique, such as an adhesive, welding, compression fitting, and so forth.
Notice that the shaft 502 is hollow and includes a slot 506 that runs longitudinally along a portion of the body of the shaft 502 from an end of the shaft 502 opposite the spoke plate 400. In at least some implementations, the shaft 502 is pinched around the slot 506 such that an inner circumference of the shaft 502 around the slot 506 is smaller than an inner circumference of the shaft 502 in the region between the end of the slot 506 and the spoke plate 400. In at least some implementations, this enables the tip 202 to be positioned within the shaft 502 such that the portion of the shaft 502 around the slot 506 applies pressure (e.g., “pinches”) the tip 202 to hold the tip 202 within the shaft 502.
The flexible circuit 600 includes a strain element 602a, a strain element 602b, and a strain element 602c each bonded to a respective spoke 404a-404c. Generally, the strain elements 602a-602c each represent different elements for characterizing changes in surface characteristics of the respective spokes 404a-404c. For instance, when a user presses the tip 202 of the pen 120 against an input surface (e.g., the display 110), force is transferred from the tip 202 along the shaft 502 to the spoke plate 400, which causes a change in a surface profile of one or more of the spokes 404a-404c. One or more of the spokes 404a-404c, for example, will bend and/or twist in various ways in response to pressure applied to the tip 202 and transferred to the spoke plate 400. This change in surface profile of particular spoke 404a-404c causes a corresponding deformation of a respective strain element 602a-602c, which causes a corresponding change in an electrical property of the respective strain element 602a-602c. For instance, deformation of a strain element 602a-602c causes a change in electrical resistance of the strain element. This change in electrical resistance can be interpreted by electronic components of the pen 120 and/or the client device 102 as strain force being applied to the tip 202.
The strain elements 602a-602c may be implemented in various ways, such as a metallic grid applied to a flexible non-conductive substrate of the flexible circuit 600, a flexible silicon strain element, a nanoparticle-based strain sensor, and so forth. Further, the strain elements 602a-602c may be attached to the respective spokes 404a-404c using any suitable means of attachment, such as an adhesive, thermal bonding, lamination, and so forth.
While the strain elements 602a-602c are depicted in this example as being separate elements that are attached to the spokes 404a-404c, it is to be appreciated that in at least some implementations, the strain elements 602a-602c may be integrated into the spokes 404a-404c. For instance, the spokes 404a-404c can be manufactured with strain elements 602a-602c integrated into the body of the spokes 404a-404c, such as embedded in the material used to form the spoke plate 400.
The flexible circuit 600 further includes tabs 604a-604c at the tip of each strain element 602a-602c and an electrical connection 606. When the strain sensor 302 is assembled into the pen body 200 of the pen 120, for instance, each of the tabs 604a-604c is bent over a top edge of a respective spoke 404a-404c. In at least some implementations, the tabs 604a-604c serve to physically and/or electrically insulate the respective spokes 404a-404c, and thus the strain sensor 302, from the body 200 of the pen 120.
The electrical connection 606 represents conductive pathways between the strain elements 602a-602c to other electrical components of the pen 120. For instance, electrical current from the power supply 212 of the pen 120 is fed to the strain elements 602a-602c with a return path back to different logic and processing components of the pen 120 through the electrical connection 606. Further, each strain element 602a-602c includes a separate power lead and return path within the flexible circuit 600. According to various implementations, this enables changes in an electrical property in each of the strain elements 602a-602c to be separately detected and utilized to characterize strain force on the individual spokes 404a-404c, and thus enables both an amount of force and a direction of force applied to the tip 202 against an adjacent input surface to be detected and characterized.
Although not expressly illustrated here, the flexible circuit 600 also includes a tip feed connection for providing electrical current to the tip 202. For instance, the surface of the flexible circuit 600 opposite one or more of the strain elements 602a-602c includes a conductive portion that is bonded to the spoke plate 400, such as via a conductive adhesive. Accordingly, the conductive portion is used to feed power to the spoke plate 400, which conducts the power to the shaft 502 and the tip 202 situated within the shaft 502. Accordingly, the tip 202 is powered and can be detected by an input surface such as the display 110.
Also shown in
Although not illustrated in this view, the tabs 604a, 604c may also be bent over their respective spokes 404a, 404c to make contact with the cone 304 and provide a conductive pathway between the cone 304 and other components of the pen 120. For instance, one of the tabs 604a-604c may represent an electrical feed path to the cone 304, while another of the tabs 604a-604c may represent an electrical return path from the cone 304 to one or more of the electronic components 208.
The cross section 800 also shows the cone contact 700b in physical contact with the half cone 308b and attached to one or more of the electronic components 208. As discussed above, the cone contact 700b provides a conductive pathway between the half cone 308b and one or more of the electronic components 208. Although not illustrated in this view, the cone contact 700a similarly provides a conductive pathway between the half cone 308a and one or more of the electronic components 208. As further discussed below, electrical interaction between the cone 304, the half cones 308a, 308b, and an adjacent input surface enable an orientation of the pen 120 to be determined relative to the input surface.
The cross section 800 further illustrates that the shaft 502 protrudes through an aperture 802 in the nose 206 and that there is a small gap 804 between the peripheral surface of the shaft 502 and the surface of the aperture 802. According to various implementations, the gap 804 enables the shaft 502 to flex relative to the nose 206 when a user presses the tip 202 against an input surface. This flexing of the shaft 502 promotes the transmission of force from the tip 202 to the spokes 404a-404c and thus to the strain elements 602a-602c such that strain force sensed by the strain elements 602a-602c can be used to characterize force applied to the tip 202.
Also shown in
Further, radial load on the tip 202 causes the shaft to flex relative to a lateral axis 906 of the pen 120. This flexing along the lateral axis 906 causes individual spokes 404a-404c to flex, such as to bend and/or twist. Thus, radial load on the tip 202 can be characterized by considering strain measurements for individual strain elements 602a-602c. Radial load, for instance, can be obtained by determining a difference between strain measurements at the different strain elements 602a-602c.
According to various implementations, force applied to the tip 202 can be characterized as a combination of the axial load and the radial load. For instance, the axial load indicates how much force is being applied along the longitudinal axis 904 into the plane of the input surface 902, and the radial load indicates a direction of force being applied to the tip 202 along (in the direction of) the plane of the input surface 902.
Continuing with the scenario 1000, a distance 1002 of the half cone 308b from the input surface 902 can be determined by determining a strength of an electrical property of the half cone 308b (e.g., voltage and/or frequency modulation) detected at the input surface 902. Further, a distance 1004 of the cone 304 from the input surface 902 can be determined by determining a strength of an electrical property of the cone 304 (e.g., voltage and/or frequency modulation) detected at the input surface 1002. As mentioned above, the cone 304 and the half cone 308b have differing electrical properties (e.g., voltages and/or frequencies), thus enabling the distances of the cone 304 and the half cone 308b to be differentiated from each other.
Accordingly, an approximate angle of the pen 120 relative to the input surface 902 can be determined based on the difference between the distance 1004 and the distance 1002. For instance, a large difference between the distance 1004 and the distance 1002 indicates that the pen 120 is at a steep angle relative to the input surface 902, e.g., is closer to a 90° angle relative to the plane of the input surface 902. However, a small difference between the distance 1004 and the distance 1002 indicates that the pen 120 is at a shallow angle relative to the input surface 902, e.g., is closer to being parallel to the plane of the input surface 1002.
In at least some implementations, the different distances can be determined by a functionality associated with the input surface 902, such as the touch device module 118 of the client device 102. Alternatively or additionally, the different distances can be determined by logic and processing functionality that resides on the pen 120. As yet another example implementation, the different distances can be determined by interaction between the touch device module 118 and logic and processing functionality of the pen 120.
According to various implementations, the angle of the pen 120 relative to the input surface 902 can be used to determine an input property of input received from the pen 120. For instance, a steep angle of the pen 120, and thus the tip 202, can be used to draw a thin line on the input surface 902. However, a shallower angle of the pen 120 can be used to draw a thicker line on the input surface. Thus, the ability to detect an angle of the pen 120 relative to the input surface 902 enables a user to change the way the pen 120 applies input to the input surface 902 by varying the angle of the pen 120 relative to the input surface 902.
Generally, detecting proximity of the half cones 308a, 308b to the input surface 902 can be performed in various ways, such as by the touch device module 118, by the pen 120, and/or by interaction between the touch device module 118 and the pen 120.
In the upper portion of the scenario 1100, the half cone 308a is detected in proximity to the input surface 902. For instance, a particular electrical property of the half cone 308a is detected in proximity to the input surface 902.
Proceeding to the lower portion of the scenario 1100, the pen 120 is rotated such that both half cone 308a and the half cone 308b are detected in proximity to the input surface 902. The different electrical properties of the half cones 308a, 308b, for instance, are detected in proximity to the input surface 902. Thus, it is determined that the rotational orientation of the pen 120 has changed.
In at least some implementations, different rotation orientations of the pen 120 can be associated with different input modes. For instance, in the upper portion of the scenario 1100 the rotational orientation of the pen 120 may be such that input from the tip 202 to the input surface 902 produces a thin line of ink. However, in the lower portion of the scenario 1100 the rotational orientation of the pen 120 may be such that input from the tip 202 to the input surface 902 produces a thick line of ink. As some further examples, changing rational orientation of the pen 120 can cause a change in other input characteristics, such as a change in input color, a change in input texture, a change in font size, and so forth. Thus, different input modes and characteristics can be associated with different rotational orientations of the pen 120.
Thus, implementations discussed herein enable for accurate force measurements for a handheld apparatus to be captured in multiple dimensions relative to the apparatus. Further, implementations discussed herein enable different angular and rotational orientations of a handheld apparatus relative to an adjacent surface to be determined. Force measurements and orientation information can be used and/or combined to provide diverse input scenarios for a handheld input apparatus.
Having discussed aspects of an example pen and strain sensor, consider now some example procedures in accordance with one or more implementations.
Example Procedures
The following discussion describes some example procedures in accordance with one or more embodiments. The example procedures may be employed in the environment 100 of
Step 1200 receives a respective strain measurement for each spoke of multiple spokes of a handheld input apparatus. For instance, strain measurements from each of the strain elements 602a-602c are captured in response to detecting the tip 202 in contact with an input surface.
Step 1202 ascertains an axial load on a tip of the handheld apparatus by adding the strain measurements. The strain measurement values, for example, are added together to determine a cumulative axial load on the tip 202.
Step 1204 ascertains a radial load on the tip based on a difference between a strain measurement for a first spoke of the multiple spokes and a strain measurement for a second spoke of the multiple spokes. The strain measurement for the first spoke, for instance, is subtracted from the strain measurement for the second spoke to obtain a load difference value. An absolute value of the load difference value is used to determine the radial load. While this example is discussed with reference to a difference between strain on two spokes, it is to be appreciated that implementations discussed herein can be utilized to determine a difference between strain measurements on multiple (more than two) spokes.
Step 1206 determines an input mode for the handheld input apparatus based on one or more of the axial load or the radial load. For instance, the axial load and/or the radial load can be used to determine an attribute of digital ink applied by the handheld input apparatus, such as line width, line shading, line texture, and so forth.
Step 1300 determines an orientation of a handheld input apparatus relative to an adjacent input surface. The orientation, for instance, includes one or more of an angular orientation or a rotational orientation. Example ways of determining angular and rotational orientation are described above.
Step 1302 modifies an input mode of the handheld input apparatus based on the orientation. For example, angular orientation and/or rotational orientation can be used to determine an attribute of digital ink applied by the handheld input apparatus, such as line width, line shading, line texture, and so forth. In at least some implementations, load information as determined above can be combined with orientation information to control different input characteristics of the handheld input apparatus.
Having described some example procedures for a handheld input apparatus, consider now a discussion of an example system and device in accordance with one or more embodiments.
Example System and Device
The example computing device 1402 as illustrated includes a processing system 1404, one or more computer-readable media 1406, and one or more Input/Output (I/O) Interfaces 1408 that are communicatively coupled, one to another. Although not shown, the computing device 1402 may further include a system bus or other data and command transfer system that couples the various components, one to another. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures. A variety of other examples are also contemplated, such as control and data lines.
The processing system 1404 is representative of functionality to perform one or more operations using hardware. Accordingly, the processing system 1404 is illustrated as including hardware element 1410 that may be configured as processors, functional blocks, and so forth. This may include implementation in hardware as an application specific integrated circuit or other logic device formed using one or more semiconductors. The hardware elements 1410 are not limited by the materials from which they are formed or the processing mechanisms employed therein. For example, processors may be comprised of semiconductor(s) and/or transistors (e.g., electronic integrated circuits (ICs)). In such a context, processor-executable instructions may be electronically-executable instructions.
The computer-readable media 1406 is illustrated as including memory/storage 1412. The memory/storage 1412 represents memory/storage capacity associated with one or more computer-readable media. The memory/storage 1412 may include volatile media (such as random access memory (RAM)) and/or nonvolatile media (such as read only memory (ROM), Flash memory, optical disks, magnetic disks, and so forth). The memory/storage 1412 may include fixed media (e.g., RAM, ROM, a fixed hard drive, and so on) as well as removable media (e.g., Flash memory, a removable hard drive, an optical disc, and so forth). The computer-readable media 1406 may be configured in a variety of other ways as further described below.
Input/output interface(s) 1408 are representative of functionality to allow a user to enter commands and information to computing device 1402, and also allow information to be presented to the user and/or other components or devices using various input/output devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone (e.g., for voice recognition and/or spoken input), a scanner, touch functionality (e.g., capacitive or other sensors that are configured to detect physical touch), a camera (e.g., which may employ visible or non-visible wavelengths such as infrared frequencies to detect movement that does not involve touch as gestures), and so forth. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, tactile-response device, and so forth. Thus, the computing device 1402 may be configured in a variety of ways as further described below to support user interaction.
Various techniques may be described herein in the general context of software, hardware elements, or program modules. Generally, such modules include routines, programs, objects, elements, components, data structures, and so forth that perform particular tasks or implement particular abstract data types. The terms “module,” “functionality,” “entity,” and “component” as used herein generally represent software, firmware, hardware, or a combination thereof. The features of the techniques described herein are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors.
An implementation of the described modules and techniques may be stored on or transmitted across some form of computer-readable media. The computer-readable media may include a variety of media that may be accessed by the computing device 1402. By way of example, and not limitation, computer-readable media may include “computer-readable storage media” and “computer-readable signal media.”
“Computer-readable storage media” may refer to media and/or devices that enable persistent storage of information in contrast to mere signal transmission, carrier waves, or signals per se. Computer-readable storage media do not include signals per se. The computer-readable storage media includes hardware such as volatile and non-volatile, removable and non-removable media and/or storage devices implemented in a method or technology suitable for storage of information such as computer readable instructions, data structures, program modules, logic elements/circuits, or other data. Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, hard disks, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other storage device, tangible media, or article of manufacture suitable to store the desired information and which may be accessed by a computer.
“Computer-readable signal media” may refer to a signal-bearing medium that is configured to transmit instructions to the hardware of the computing device 1402, such as via a network. Signal media typically may embody computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as carrier waves, data signals, or other transport mechanism. Signal media also include any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.
As previously described, hardware elements 1410 and computer-readable media 1406 are representative of instructions, modules, programmable device logic and/or fixed device logic implemented in a hardware form that may be employed in some embodiments to implement at least some aspects of the techniques described herein. Hardware elements may include components of an integrated circuit or on-chip system, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), and other implementations in silicon or other hardware devices. In this context, a hardware element may operate as a processing device that performs program tasks defined by instructions, modules, and/or logic embodied by the hardware element as well as a hardware device utilized to store instructions for execution, e.g., the computer-readable storage media described previously.
Combinations of the foregoing may also be employed to implement various techniques and modules described herein. Accordingly, software, hardware, or program modules and other program modules may be implemented as one or more instructions and/or logic embodied on some form of computer-readable storage media and/or by one or more hardware elements 1410. The computing device 1402 may be configured to implement particular instructions and/or functions corresponding to the software and/or hardware modules. Accordingly, implementation of modules that are executable by the computing device 1402 as software may be achieved at least partially in hardware, e.g., through use of computer-readable storage media and/or hardware elements 1410 of the processing system. The instructions and/or functions may be executable/operable by one or more articles of manufacture (for example, one or more computing devices 1402 and/or processing systems 1404) to implement techniques, modules, and examples described herein.
As further illustrated in
In the example system 1400, multiple devices are interconnected through a central computing device. The central computing device may be local to the multiple devices or may be located remotely from the multiple devices. In one embodiment, the central computing device may be a cloud of one or more server computers that are connected to the multiple devices through a network, the Internet, or other data communication link.
In one embodiment, this interconnection architecture enables functionality to be delivered across multiple devices to provide a common and seamless experience to a user of the multiple devices. Each of the multiple devices may have different physical requirements and capabilities, and the central computing device uses a platform to enable the delivery of an experience to the device that is both tailored to the device and yet common to all devices. In one embodiment, a class of target devices is created and experiences are tailored to the generic class of devices. A class of devices may be defined by physical features, types of usage, or other common characteristics of the devices.
In various implementations, the computing device 1402 may assume a variety of different configurations, such as for computer 1414, mobile 1416, and television 1418 uses. Each of these configurations includes devices that may have generally different constructs and capabilities, and thus the computing device 1402 may be configured according to one or more of the different device classes. For instance, the computing device 1402 may be implemented as the computer 1414 class of a device that includes a personal computer, desktop computer, a multi-screen computer, laptop computer, netbook, and so on.
The computing device 1402 may also be implemented as the mobile 1416 class of device that includes mobile devices, such as a mobile phone, portable music player, portable gaming device, a tablet computer, a wearable device, a multi-screen computer, and so on. The computing device 1402 may also be implemented as the television 1418 class of device that includes devices having or connected to generally larger screens in casual viewing environments. These devices include televisions, set-top boxes, gaming consoles, and so on.
The techniques described herein may be supported by these various configurations of the computing device 1402 and are not limited to the specific examples of the techniques described herein. For example, functionalities discussed with reference to the client device 102 and/or touch device module 118 may be implemented all or in part through use of a distributed system, such as over a “cloud” 1420 via a platform 1422 as described below.
The cloud 1420 includes and/or is representative of a platform 1422 for resources 1424. The platform 1422 abstracts underlying functionality of hardware (e.g., servers) and software resources of the cloud 1420. The resources 1424 may include applications and/or data that can be utilized while computer processing is executed on servers that are remote from the computing device 1402. Resources 1424 can also include services provided over the Internet and/or through a subscriber network, such as a cellular or Wi-Fi network.
The platform 1422 may abstract resources and functions to connect the computing device 1402 with other computing devices. The platform 1422 may also serve to abstract scaling of resources to provide a corresponding level of scale to encountered demand for the resources 1424 that are implemented via the platform 1422. Accordingly, in an interconnected device embodiment, implementation of functionality described herein may be distributed throughout the system 1400. For example, the functionality may be implemented in part on the computing device 1402 as well as via the platform 1422 that abstracts the functionality of the cloud 1420.
Discussed herein are a number of methods that may be implemented to perform techniques discussed herein. Aspects of the methods may be implemented in hardware, firmware, or software, or a combination thereof. The methods are shown as a set of steps that specify operations performed by one or more devices and are not necessarily limited to the orders shown for performing the operations by the respective blocks. Further, an operation shown with respect to a particular method may be combined and/or interchanged with an operation of a different method in accordance with one or more implementations. Aspects of the methods can be implemented via interaction between various entities discussed above with reference to the environment 100. Implementations discussed herein include:
A handheld input apparatus including: a body portion; a spoke plate fastened within the body and having multiple spokes that extend radially from a center of the spoke plate toward an interior surface of the body; a shaft positioned in the center of the spoke plate and extending longitudinally from the spoke plate toward a nose portion of the body; a tip fastened partially within the shaft and extending through the nose such that pressing the tip against an input surface causes the shaft to press against the spoke plate to cause one or more spokes of the multiple spokes to flex; and a flexible circuit including multiple strain sensor elements that are each attached to a different individual spoke of the multiple spokes, each strain sensor element being positioned to measure strain on a respective spoke such that input provided by the tip to the input surface varies according to different strain measurements detected via the strain sensor elements.
The handheld input apparatus of example 1, wherein the shaft is fastened within an aperture in the center of the spoke plate.
The handheld input apparatus of one or more of examples 1 or 2, wherein the shaft includes a slot that extends longitudinally along the shaft from an end of the shaft adjacent the nose, the slot enabling a portion of the shaft to pinch the tip and hold the tip within the shaft.
The handheld input apparatus of one or more of examples 1-3, wherein the shaft partially extends through an aperture in the nose.
The handheld input apparatus of one or more of examples 1-4, wherein the shaft partially extends through an aperture in the nose, and wherein a circumference of the aperture is such that a gap exists between a surface of the aperture and a peripheral surface of the shaft that extends through the aperture.
The handheld input apparatus of one or more of examples 1-5, wherein the flexible circuit includes one or more tabs that extend from one or more of the strain sensor elements and that bend over a top edge of one or more of the spokes to physically separate the top edge from the interior surface of the body.
The handheld input apparatus of one or more of examples 1-6, wherein the flexible circuit includes one or more tabs that extend from one or more of the strain sensor elements and that bend over a top edge of one or more of the spokes to provide a conductive pathway to one or more components of the handheld input apparatus.
The handheld input apparatus of one or more of examples 1-7, wherein one or more sides of the spokes are parabolic or semi-parabolic in shape.
The handheld input apparatus of one or more of examples 1-8, further including a contact that extends from a first side of the spoke plate through a gap between two of the spokes past a second side of the spoke plate and that provides a conductive pathway for one or more components of the handheld input apparatus.
The handheld input apparatus of one or more of examples 1-9, further including: a conductive cone positioned within the body around the shaft; a first conductive half cone positioned within the body along the shaft at a different position than the conductive cone; a second conductive half cone positioned within the body along the shaft opposite the first conductive half cone; and circuitry configured to apply a first voltage to the conductive cone, a second voltage to the first conductive half cone, and a third voltage to the second conductive half cone, wherein the first voltage, the second voltage, and the third voltage are different from one another such that an angle of the handheld input apparatus relative to an adjacent input surface is determinable by detecting the first voltage and one or more of the second voltage or the third voltage at the input surface.
The handheld input apparatus of one or more of examples 1-10, further including: a first conductive half cone positioned within the body along the shaft; a second conductive half cone positioned within the body along the shaft opposite the first conductive half cone; and circuitry configured to apply a first voltage to the first conductive half cone and a second voltage to the second conductive half cone, wherein the first voltage and the second voltage are different from one another such that a rotational orientation of the handheld input apparatus relative to an adjacent input surface is determinable by detecting one or more of the first voltage or the second voltage at the input surface.
The handheld input apparatus of one or more of examples 1-11, further including: a first conductive member and a second conductive member positioned at different positions along the shaft; and a first electrical feed configured to apply a first voltage to the first conductive member and a second electrical feed configured to apply a second voltage to the second conductive member such that the first voltage and the second voltage are detectable at an adjacent input surface to determine a first distance representing a distance between the first conductive member and the input surface, and to determine a second distance representing a distance between the second conductive member and the input surface, a difference between the first distance and the second distance being usable to determine an angle of the body relative to the input surface.
A handheld input apparatus including: a body portion; a shaft attached positioned within the body and extending longitudinally toward a nose portion of the body; a tip fastened partially within the shaft and extending at least partially through the nose; a first conductive member and a second conductive member positioned at different positions along the shaft; and a first electrical feed configured to apply a first voltage to the first conductive member and a second electrical feed configured to apply a second voltage to the second conductive member such that the first voltage and the second voltage are detectable at an adjacent input surface to determine a first distance representing a distance between the first conductive member and the input surface, and to determine a second distance representing a distance between the second conductive member and the input surface, a difference between the first distance and the second distance being usable to determine an angle of the body relative to the input surface.
The handheld input apparatus as described in example 13, further including: a spoke plate fastened within the body and having multiple spokes that extend radially from a center of the spoke plate toward an interior surface of the body, the shaft being positioned in the center of the spoke plate and extending longitudinally from the spoke plate toward the nose; and a flexible circuit including multiple strain sensor elements that are each attached to a different individual spoke of the multiple spokes, each strain sensor element being positioned to measure strain on a respective spoke such that input provided by the tip to the input surface varies according to different strain measurements detected via the strain sensor elements.
The handheld input apparatus as described in one or more of examples 13 or 14, further including: a spoke plate fastened within the body and having multiple spokes that extend radially from a center of the spoke plate toward an interior surface of the body, wherein the shaft is positioned in the center of the spoke plate and extends longitudinally from the spoke plate and protrudes at least partially through an aperture in the nose, and wherein a circumference of the aperture is such that a gap exists between a surface of the aperture and a peripheral surface of the shaft that extends through the aperture; and a flexible circuit including multiple strain sensor elements that are each attached to a different individual spoke of the multiple spokes, each strain sensor element being positioned to measure strain on a respective spoke such that input provided by the tip to the input surface varies according to different strain measurements detected via the strain sensor elements.
The handheld input apparatus as described in one or more of examples 13-15, further including: a spoke plate fastened within the body and having multiple spokes that extend radially from a center of the spoke plate toward an interior surface of the body, the shaft being positioned in the center of the spoke plate and extending longitudinally from the spoke plate toward the nose; and a flexible circuit including multiple strain sensor elements that are each attached to a different individual spoke of the multiple spokes, each strain sensor element being positioned to measure strain on a respective spoke such that input provided by the tip to the input surface varies according to different strain measurements detected via the strain sensor elements, wherein the flexible circuit includes one or more tabs that extend from one or more of the strain sensor elements and that bend over a top edge of one or more of the spokes to physically separate the top edge from the interior surface of the body.
The handheld input apparatus as described in one or more of examples 13-16, further including: a third conductive member positioned along the shaft opposite the second conductive member; and a third electrical feed configured to apply a third voltage to the third conductive member, wherein the second voltage and the third voltage are different from one another such that a rotational orientation of the handheld input apparatus relative to the adjacent input surface is determinable by detecting one or more of the second voltage or the third voltage at the input surface.
A computer-implemented method, including: receiving a respective strain measurement for each spoke of multiple spokes of a handheld input apparatus; ascertaining an axial load on a tip of the handheld apparatus by adding the strain measurements; ascertaining a radial load on the tip based on a difference between a strain measurement for a first spoke of the multiple spokes and a strain measurement for a second spoke of the multiple spokes; and determining an input mode for the handheld input apparatus based on one or more of the axial load or the radial load.
A computer-implemented method as described in example 18, wherein said determining includes determining an attribute of digital ink applied by the handheld input apparatus based on the one or more of the axial load or the radial load.
A computer-implemented method as described in one or more of examples 18 or 19, further including: determining an orientation of the handheld input apparatus relative to an adjacent input surface, the orientation including one or more of an angular orientation or a rotational orientation; and modifying the input mode based on the orientation.
Techniques for a handheld input apparatus are described. Although embodiments are described in language specific to structural features and/or methodological acts, it is to be understood that the embodiments defined in the appended claims are not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claimed embodiments.
This application is a continuation of and claims priority to U.S. patent application Ser. No. 14/886,940, entitled “Handheld Input Apparatus” and filed Oct. 19, 2015, the disclosure of which is incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
3915015 | Crane et al. | Oct 1975 | A |
4078226 | EerNisse et al. | Mar 1978 | A |
RE29765 | Crane | Sep 1978 | E |
4550316 | Whetstone et al. | Oct 1985 | A |
4896543 | Gullman | Jan 1990 | A |
5111004 | Gullman | May 1992 | A |
5295307 | Archer | Mar 1994 | A |
RE35016 | Gullman et al. | Aug 1995 | E |
5505005 | McMurty et al. | Apr 1996 | A |
5523775 | Capps | Jun 1996 | A |
5672929 | Gutsell et al. | Sep 1997 | A |
5981883 | Shriver | Nov 1999 | A |
6396232 | Haanpaa et al. | May 2002 | B2 |
6439791 | Takeuchi et al. | Aug 2002 | B1 |
6678966 | Koga | Jan 2004 | B1 |
6718647 | Trull et al. | Apr 2004 | B2 |
6981768 | Saksa et al. | Jan 2006 | B2 |
7124514 | McMurtry et al. | Oct 2006 | B2 |
7196688 | Schena | Mar 2007 | B2 |
7265750 | Rosenberg | Sep 2007 | B2 |
7603789 | Hellier et al. | Oct 2009 | B2 |
7689379 | Fuge et al. | Mar 2010 | B2 |
8913042 | Mercea | Dec 2014 | B2 |
9528824 | Bos et al. | Dec 2016 | B2 |
9851818 | Clements et al. | Dec 2017 | B2 |
20050283990 | McMurtry | Dec 2005 | A1 |
20110004437 | Wooldridge et al. | Jan 2011 | A1 |
20110282624 | Hsieh | Nov 2011 | A1 |
20120127088 | Pance et al. | May 2012 | A1 |
20130100074 | Chang | Apr 2013 | A1 |
20140253521 | Hicks | Sep 2014 | A1 |
20140267192 | Matsuura | Sep 2014 | A1 |
20150054783 | Curtis | Feb 2015 | A1 |
20150138128 | Herrick et al. | May 2015 | A1 |
20150212578 | Lor et al. | Jul 2015 | A1 |
20170108928 | Clements et al. | Apr 2017 | A1 |
20170108950 | Clements et al. | Apr 2017 | A1 |
20170115753 | Mao | Apr 2017 | A1 |
Number | Date | Country |
---|---|---|
0836151 | Apr 1998 | EP |
WO-1990007097 | Jun 1990 | WO |
WO-1992014987 | Sep 1992 | WO |
WO-1994001834 | Jan 1994 | WO |
WO-2014102779 | Jul 2014 | WO |
WO-2014127383 | Aug 2014 | WO |
Entry |
---|
“Corrected Notice of Allowance”, U.S. Appl. No. 14/886,940, dated Nov. 21, 2017, 3 pages. |
“International Search Report and Written Opinion”, Application No. PCT/US2016/056536, dated Jan. 3, 2017, 15 pages. |
“International Search Report and Written Opinion”, Application No. PCT/US2016/055381, dated Feb. 1, 2017, 16 pages. |
“Notice of Allowance”, U.S. Appl. No. 14/886,940, dated Aug. 1, 2017, 9 pages. |
“Notice of Allowance”,U.S. Appl. No. 14/887,167, dated Sep. 28, 2017, 18 pages. |
“Second Written Opinion”, Application No. PCT/US2016/056536, dated Aug. 29, 2017, 9 pages. |
Arasan,“Haptic Stylus with Inertial and Vibro-Tactile Feedback”, In IEEE Conference on World Haptics, Apr. 14, 2013, pp. 425-430. |
Reynaerts,“Design of an Advanced Computer Writing Tool”, In Proceedings of Sixth International Symposium on Micro Machine and Human Science, Oct. 4, 1995, pp. 229-234. |
“International Preliminary Report on Patentability”, Application No. PCT/US2016/055381, dated Apr. 24, 2018, 10 pages. |
Number | Date | Country | |
---|---|---|---|
20180101249 A1 | Apr 2018 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14886940 | Oct 2015 | US |
Child | 15837716 | US |