Control exposure
First Claim
Patent Images
1. A method comprising:
- receiving inputs detected using one or more magnetometers, cameras, or microphones;
determining one or more applications of a plurality of applications that are a target of the inputs, the determining comprising performing a handshake with the applications to determine which of the applications are available to receive events or subscribed to the events;
converting, by a computing device, the inputs into graphical user interface controls provided by a natural user interface input module for use in a graphical user interface of the one or more applications; and
exposing the graphical user interface controls to the one or more applications as events via an application programming interface.
2 Assignments
0 Petitions
Accused Products
Abstract
Control exposure techniques are described. In one or more implementations, a determination is made by a computing device as to which of a plurality of controls correspond to one or more inputs detected using one or more magnetometers, cameras, or microphones. A result of the determination is exposed by the computing device to one or more applications that are executed by the computing device.
12 Citations
14 Claims
-
1. A method comprising:
-
receiving inputs detected using one or more magnetometers, cameras, or microphones; determining one or more applications of a plurality of applications that are a target of the inputs, the determining comprising performing a handshake with the applications to determine which of the applications are available to receive events or subscribed to the events; converting, by a computing device, the inputs into graphical user interface controls provided by a natural user interface input module for use in a graphical user interface of the one or more applications; and exposing the graphical user interface controls to the one or more applications as events via an application programming interface. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system implemented by a computing device, the system comprising:
-
applications that are executable on hardware of the computing device; and a module that is implemented at least partially using the hardware of the computing device, the module configured to; receive one or more inputs that describe a user interaction that is detected without using touch; determine one or more applications of the applications that are a target of the one or more inputs by performing a handshake with the applications to determine which of the applications are available to receive events or subscribed to the events; determine which of a plurality of graphical user interface controls provided by the module for use in a graphical user interface of the determined one or more applications is a target of the one or more inputs; convert the one or more inputs into one or more events that are consumable by the determined one or more applications; and expose the events to the determined one or more applications, each event identifying a respective graphical user interface control that corresponds to the input and an operation to be performed by the determined one or more applications using the respective graphical user interface control. - View Dependent Claims (7, 8, 9, 10, 11)
-
- 12. One or more computer-readable storage media comprising instructions stored thereon that, responsive to execution by a computing device, causes the computing device to implement an operating system configured to expose one or more events via an application programming interface for one or more graphical user interface controls identified by the operating system from inputs received from one or more cameras of the computing device, the controls being provided by a natural user interface input module for use in a graphical user interface of one or more applications, each event identifying a respective graphical user interface control that corresponds to the input and an operation to be performed by the one or more applications using the respective graphical user interface control the one or more events exposed to one or more applications determined to be a target of the one or more inputs by performing a handshake with the applications to determine which of the applications are available to receive events or subscribed to the events.
Specification