1460738222-5acc1362-db8a-4d88-ae6b-e408258d5f19

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. A method as described in claim 1, wherein the one or more cameras are configured to perform depth sensing.
3. A method as described in claim 1, wherein the inputs are recognizable by the computing device as gestures configured to initiate an operation that corresponds to the graphical user interface controls.
4. A method as described in claim 1, wherein the exposing is performed through execution of an operating system by the computing device.
5. A method as described in claim 1, wherein the handshake is performed between an operating system that performs the determining and the exposing and the one or more applications, the handshake usable by the operating system to determine how and what to send to the one or more applications.
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.
7. A system as described in claim 6, wherein the module is implemented as part of an operating system of the computing device.
8. A system as described in claim 6, wherein the one or more events are associated with a particular control.
9. A system as described in claim 6, wherein the one or more inputs are detected without using touch by one or more cameras.
10. A system as described in claim 6, wherein the one or more inputs are detected without using touch by one or more microphones.
11. A system as described in claim 6, wherein the module is further configurable to output the one or more inputs to the one or more applications as a raw stream.
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.
13. One or more computer-readable storage media as described in claim 12, wherein the inputs describe one or more gestures made by a user that are detected using the one or more cameras without involving touch.
14. One or more computer-readable storage media as described in claim 12, wherein at least one said application is not configured to process the inputs to identify the one or more controls.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

What is claimed is:

1. A disk drive, comprising:
a disk-shaped storage medium supported for rotation;
a moving member supporting a readwrite head for reading recorded data from the disk-shaped storage medium and writing data to the disk-shaped storage medium, and moving the head between a readwrite position where the head is able to read data from and write data to the disk-shaped storage medium and a home position where the head is separated from the disk-shaped storage medium; and
a latching mechanism for securely holding the moving member in place when the head is located at the home position, and of remaining separate from the moving member when the head is located at the readwrite position.
2. The disk drive of claim 1, wherein the latching mechanism is an inertial latching mechanism that operates in response to an external shock.
3. The disk drive of claim 1, wherein the moving member is supported for turning about an axis of turning, and has one end supporting a head slider that holds the head and another end for being latched by the latching mechanism.
4. The disk drive of claim 1, wherein the moving member is held in place by the latching mechanism when the head is located at the home position, and is formed in a shape such that the latching mechanism is unable to latch the moving member when the head is located at the readwrite position.
5. The disk drive of claim 1, wherein the latching mechanism has a latching arm that moves in a predetermined allowable moving range in response to an external shock; and
the latching arm latches the moving member in the allowable moving range when the head is located at the home position, and remains separate from the moving member in the allowable moving range when the head is located at the readwrite position.
6. A disk drive, comprising:
a disk-shaped storage medium supported for rotation;
a head slider holding a readwrite head for reading recorded data from the disk-shaped storage medium and writing data to the disk-shaped storage medium;
a moving member supporting the head slider and placing the head slider at a readwrite position on the disk-shaped storage medium, and retracting the head slider from the readwrite position on the disk-shaped storage medium; and
a latching mechanism capable for latching the moving member in place when the head slider is retracted from a readwrite position on the disk-shaped storage medium to a home position, and remaining separate from the moving member when the head slider is located at the readwrite position on the disk-shaped storage medium.
7. The disk drive of claim 6, wherein the latching mechanism is an inertial latching mechanism that operates in response to an external shock.
8. The disk drive of claim 6, further comprising a ramp for holding the retracted head slider, wherein the latching mechanism latches the moving member in a state where the head slider is held by the ramp.
9. A disk drive, comprising:
a disk-shaped storage medium supported for rotation;
a readwrite head for reading recorded data from the disk-shaped storage medium and writing data to the disk-shaped storage medium;
an arm supported for turning on a shaft, having a part extending on one side of the shaft and supporting the readwrite head, and another part extending on another side of the shaft and having a driving mechanism to move the readwrite head between a readwrite position where the readwrite head reads recorded data from and writes data to the disk-shaped storage medium, and a home position where the readwrite head is separated from the disk-shaped storage medium; and
a latching mechanism capable of securely latching the arm at the home position; and wherein
the arm has a lever that is separated from the latching mechanism in a moving range of the latching mechanism when the readwrite head is located at the readwrite position.
10. The disk drive of claim 9, wherein the latching mechanism is an inertial latching mechanism that operates in response to an external shock.
11. The disk drive of claim 9, wherein the latching mechanism has a latching arm that moves in a predetermined allowable moving range in response to an external shock, and the latching arm latches the lever in the allowable moving range when the head slider is located at the home position, and remains separate from the lever when the head slider is located at the readwrite position.
12. The disk drive of claim 9, wherein the lever is formed in a shape such that the lever is outside an allowable moving range for the latching mechanism when the readwrite head is located at the readwrite position.
13. The disk drive of claim 9, wherein the lever has a recessed part for avoiding interference between the lever and the latching mechanism.
14. The disk drive of claim 9, further comprising a ramp for holding the head slider at the home position, wherein the latching mechanism latches the moving member in a state where the head slider is held by the ramp.