Lines Matching +full:input +full:- +full:value

1 .. _input-event-codes:
4 Input event codes
8 The input protocol uses a map of types and codes to express input device values
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
14 used to separate input events into packets of input data changes occurring at
16 input event encompassing a type, code, and value.
18 The input protocol is a stateful protocol. Events are emitted only when values
20 input subsystem; drivers do not need to maintain the state and may attempt to
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.
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.
92 ------
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.
121 ------
125 the key's code is emitted with value 1. When the key is released, an event is
126 emitted with value 0. Some hardware send events when a key is repeated. These
127 events have a value of 2. In general, KEY_<name> is used for keyboard keys, and
134 - These codes are used in conjunction with input trackpads, tablets, and
137 code should be set to a value of 1. When the tool is no longer interacting
138 with the input device, the BTN_TOOL_<name> code should be reset to 0. All
148 BTN_TOUCH is used for touch contact. While an input tool is determined to be
149 within meaningful physical contact, the value of this property must be set
152 touchpad may set the value to 1 only when the touch pressure rises above a
153 certain value. BTN_TOUCH may be combined with BTN_TOOL_<name> codes. For
165 EVIOCGPROP, defined in linux/input.h, will be used to convey the device type.
169 - These codes denote one, two, three, and four finger interaction on a
172 BTN_TOOL_DOUBLETAP should be set to value 1 for the duration of the motion.
176 codes should have a value of 1 during any synchronization frame.
179 a value of 1 in the same synchronization frame. This usage is deprecated.
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,
197 respectively. The value is the number of detents moved on the wheel, the
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,
206 - High-resolution scroll wheel data. The accumulated value 120 represents
207 movement by one detent. For devices that do not provide high-resolution
208 scrolling, the value is always a multiple of 120. For devices with
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
219 ------
228 - Used to describe the distance of a tool from an interaction surface. This
230 proximity of the device and while the value of the BTN_TOUCH code is 0. If
231 the input device may be used freely in three dimensions, consider ABS_Z
233 - BTN_TOOL_<name> should be set to 1 when the tool comes into detectable
240 - Used to describe the state of a multi-value profile switch. An event is
242 selected profile value.
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
260 pressure data is in units/gram. For example, a value of 10 with a
261 resolution of 1 represents 10 gram, a value of 10 with a resolution of
265 -----
274 Upon resume, if the switch state is the same as before suspend, then the input
279 ------
281 EV_MSC events are used for input and output events that do not fall under other
288 - Used to report the number of microseconds since the last reset. This event
289 should be coded as an uint32 value, which is allowed to wrap around with
297 ------
299 EV_LED events are used for input and output to set and query the state of
303 ------
308 ------
314 -----
320 ------
328 Normally, userspace sets up an input device based on the data it emits,
334 --------------------------------------
338 transformations, such as scaling, flipping and rotating). Non-direct input
339 devices require non-trivial transformation, such as absolute to relative
340 transformation for touchpads. Typical direct input devices: touchscreens,
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
353 --------------------
364 ------------------
380 -----------------------
394 ------------------------
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 ------------
429 ---------
436 on the trackpad. Where multi-finger support is available, BTN_TOOL_<name> should
442 -------