Lines Matching +full:event +full:- +full:touch
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
52 coordinates of a touch on a touchscreen.
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 ------
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
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>
144 BTN_TOUCH is used for touch contact. While an input tool is determined to be
148 touchpad may set the value to 1 only when the touch pressure rises above a
156 Note: Historically a touch device with BTN_TOOL_FINGER and BTN_TOUCH was
165 - These codes denote one, two, three, and four finger interaction on a
170 purpose. A trackpad event generated by finger touches should generate events
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 ------
218 may emit coordinates for a touch location.
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
236 - Used to describe multitouch input events. Please see
237 multi-touch-protocol.txt for details.
240 -----
254 ------
263 - Used to report the number of microseconds since the last reset. This event
267 A reset to zero can happen, in which case the time since the last event is
272 ------
278 ------
283 ------
289 -----
295 ------
297 EV_PWR events are a special type of event used specifically for power
304 i.e., the event types. In the case of two devices emitting the same event
309 --------------------------------------
313 transformations, such as scaling, flipping and rotating). Non-direct input
314 devices require non-trivial transformation, such as absolute to relative
316 drawing tablets; non-direct devices: touchpads, mice.
319 on the screen and thus requires use of an on-screen pointer to trace user's
320 movements. Typical pointer devices: touchpads, tablets, mice; non-pointer
325 traditional way, using emitted event types.
328 --------------------
339 ------------------
344 touchpads, the semi-mt property should be set.
355 -----------------------
369 ------------------------
376 regular directional axes and accelerometer axes on the same event node.
381 The guidelines below ensure proper single-touch and multi-finger functionality.
382 For multi-touch functionality, see the multi-touch-protocol.txt document for
386 ----
394 ------------
396 ABS_{X,Y} must be reported with the location of the touch. BTN_TOUCH must be
397 used to report when a touch is active on the screen.
398 BTN_{MOUSE,LEFT,MIDDLE,RIGHT} must not be reported as the result of touch
404 ---------
409 Trackpads that provide absolute touch position must report ABS_{X,Y} for the
410 location of the touch. BTN_TOUCH should be used to report when a touch is active
411 on the trackpad. Where multi-finger support is available, BTN_TOOL_<name> should
417 -------