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>
149 certain value. BTN_TOUCH may be combined with BTN_TOOL_<name> codes. For
165 - These codes denote one, two, three, and four finger interaction on a
169 Note that all BTN_TOOL_<name> codes and the BTN_TOUCH code are orthogonal in
170 purpose. A trackpad event generated by finger touches should generate events
171 for one code from each group. At most only one of these BTN_TOOL_<name>
178 be used to emit these codes. Please see multi-touch-protocol.txt for details.
181 ------
192 - These codes are used for vertical and horizontal scroll wheels,
194 physical size of which varies by device. For high-resolution wheels
195 this may be an approximation based on the high-resolution scroll events,
196 see REL_WHEEL_HI_RES. These event codes are legacy codes and
202 - High-resolution scroll wheel data. The accumulated value 120 represents
203 movement by one detent. For devices that do not provide high-resolution
205 high-resolution scrolling, the value may be a fraction of 120.
207 If a vertical scroll wheel supports high-resolution scrolling, this code
209 and REL_HWHEEL may be an approximation based on the high-resolution
210 scroll events. There is no guarantee that the high-resolution data
212 event.
215 ------
224 - Used to describe the distance of a tool from an interaction surface. This
225 event should only be emitted while the tool is hovering, meaning in close
229 - BTN_TOOL_<name> should be set to 1 when the tool comes into detectable
231 BTN_TOOL_<name> signals the type of tool that is currently detected by the
234 * ABS_MT_<name>:
236 - Used to describe multitouch input events. Please see
237 multi-touch-protocol.txt for details.
241 - For touch devices, many devices converted contact size into pressure.
249 pressure data is in arbitrary units. If the resolution is non-zero, the
255 -----
269 ------
278 - Used to report the number of microseconds since the last reset. This event
282 A reset to zero can happen, in which case the time since the last event is
287 ------
293 ------
298 ------
304 -----
310 ------
312 EV_PWR events are a special type of event used specifically for power
319 i.e., the event types. In the case of two devices emitting the same event
324 --------------------------------------
328 transformations, such as scaling, flipping and rotating). Non-direct input
329 devices require non-trivial transformation, such as absolute to relative
331 drawing tablets; non-direct devices: touchpads, mice.
334 on the screen and thus requires use of an on-screen pointer to trace user's
335 movements. Typical pointer devices: touchpads, tablets, mice; non-pointer
340 traditional way, using emitted event types.
343 --------------------
350 version field under the name integrated button. For backwards
354 ------------------
370 -----------------------
384 ------------------------
391 regular directional axes and accelerometer axes on the same event node.
396 The guidelines below ensure proper single-touch and multi-finger functionality.
397 For multi-touch functionality, see the multi-touch-protocol.rst document for
401 ----
409 ------------
414 contact. BTN_TOOL_<name> events should be reported where possible.
419 ---------
426 on the trackpad. Where multi-finger support is available, BTN_TOOL_<name> should
432 -------
434 BTN_TOOL_<name> events must be reported when a stylus or other tool is active on