Lines Matching +full:event +full:- +full:name
1 .. _input-event-codes:
4 Input event codes
12 A single hardware event generates multiple input events. Each input event
13 contains the new value of a single data item. A special event type, EV_SYN, is
15 the same moment in time. In the following, the term "event" refers to a single
16 input event encompassing a type, code, and value.
19 of event codes have changed. However, the state is maintained within the Linux
22 event code values using the EVIOCG* ioctls defined in linux/input.h. The event
24 class/input/event*/device/capabilities/, and the properties of a device are
25 provided in class/input/event*/device/properties.
27 Event types
30 Event types are groupings of codes under a logical input construct. Each
36 - Used as markers to separate events. Events may be separated in time or in
41 - Used to describe state changes of keyboards, buttons, or other key-like
46 - Used to describe relative axis value changes, e.g. moving the mouse 5 units
51 - Used to describe absolute axis value changes, e.g. describing the
56 - Used to describe miscellaneous input data that do not fit into other types.
60 - Used to describe binary state input switches.
64 - Used to turn LEDs on devices on and off.
68 - Used to output sound to devices.
72 - Used for autorepeating devices.
76 - Used to send force feedback commands to an input device.
80 - A special type for power button and switch input.
84 - Used to receive force feedback device status.
86 Event codes
89 Event codes define the precise type of event.
92 ------
94 EV_SYN event values are undefined. Their usage is defined only by when they are
95 sent in the evdev event stream.
99 - Used to synchronize and separate events into packets of input data changes
106 - TBD
110 - Used to synchronize and separate touch events. See the
111 multi-touch-protocol.txt document for more information.
115 - Used to indicate buffer overrun in the evdev client's event queue.
117 event and query the device (using EVIOCG* ioctls) to obtain its
121 ------
123 EV_KEY events take the form KEY_<name> or BTN_<name>. For example, KEY_A is used
124 to represent the 'A' key on a keyboard. When a key is depressed, an event with
125 the key's code is emitted with value 1. When the key is released, an event is
127 events have a value of 2. In general, KEY_<name> is used for keyboard keys, and
128 BTN_<name> is used for other types of momentary switch events.
132 * BTN_TOOL_<name>:
134 - These codes are used in conjunction with input trackpads, tablets, and
136 When an event occurs and a tool is used, the corresponding BTN_TOOL_<name>
138 with the input device, the BTN_TOOL_<name> code should be reset to 0. All
139 trackpads, tablets, and touchscreens should use at least one BTN_TOOL_<name>
141 touchscreens should export only one BTN_TOOL_<name> at a time. To not break
143 but first emitting the old BTN_TOOL_<name> at 0, then emit one SYN_REPORT
144 and then set the new BTN_TOOL_<name> at 1.
153 certain value. BTN_TOUCH may be combined with BTN_TOOL_<name> codes. For
169 - These codes denote one, two, three, and four finger interaction on a
173 Note that all BTN_TOOL_<name> codes and the BTN_TOUCH code are orthogonal in
174 purpose. A trackpad event generated by finger touches should generate events
175 for one code from each group. At most only one of these BTN_TOOL_<name>
182 be used to emit these codes. Please see multi-touch-protocol.txt for details.
185 ------
196 - These codes are used for vertical and horizontal scroll wheels,
198 physical size of which varies by device. For high-resolution wheels
199 this may be an approximation based on the high-resolution scroll events,
200 see REL_WHEEL_HI_RES. These event codes are legacy codes and
206 - High-resolution scroll wheel data. The accumulated value 120 represents
207 movement by one detent. For devices that do not provide high-resolution
209 high-resolution scrolling, the value may be a fraction of 120.
211 If a vertical scroll wheel supports high-resolution scrolling, this code
213 and REL_HWHEEL may be an approximation based on the high-resolution
214 scroll events. There is no guarantee that the high-resolution data
216 event.
219 ------
228 - Used to describe the distance of a tool from an interaction surface. This
229 event should only be emitted while the tool is hovering, meaning in close
233 - BTN_TOOL_<name> should be set to 1 when the tool comes into detectable
235 BTN_TOOL_<name> signals the type of tool that is currently detected by the
240 - Used to describe the state of a multi-value profile switch. An event is
244 * ABS_MT_<name>:
246 - Used to describe multitouch input events. Please see
247 multi-touch-protocol.txt for details.
251 - For touch devices, many devices converted contact size into pressure.
259 pressure data is in arbitrary units. If the resolution is non-zero, the
265 -----
279 ------
288 - Used to report the number of microseconds since the last reset. This event
292 A reset to zero can happen, in which case the time since the last event is
297 ------
303 ------
308 ------
314 -----
320 ------
322 EV_PWR events are a special type of event used specifically for power
329 i.e., the event types. In the case of two devices emitting the same event
334 --------------------------------------
338 transformations, such as scaling, flipping and rotating). Non-direct input
339 devices require non-trivial transformation, such as absolute to relative
341 drawing tablets; non-direct devices: touchpads, mice.
344 on the screen and thus requires use of an on-screen pointer to trace user's
345 movements. Typical pointer devices: touchpads, tablets, mice; non-pointer
350 traditional way, using emitted event types.
353 --------------------
360 version field under the name integrated button. For backwards
364 ------------------
380 -----------------------
394 ------------------------
401 regular directional axes and accelerometer axes on the same event node.
406 The guidelines below ensure proper single-touch and multi-finger functionality.
407 For multi-touch functionality, see the multi-touch-protocol.rst document for
411 ----
419 ------------
424 contact. BTN_TOOL_<name> events should be reported where possible.
429 ---------
436 on the trackpad. Where multi-finger support is available, BTN_TOOL_<name> should
442 -------
444 BTN_TOOL_<name> events must be reported when a stylus or other tool is active on