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
144 BTN_TOUCH is used for touch contact. While an input tool is determined to be
145 within meaningful physical contact, the value of this property must be set
148 touchpad may set the value to 1 only when the touch pressure rises above a
149 certain value. BTN_TOUCH may be combined with BTN_TOOL_<name> codes. For
161 EVIOCGPROP, defined in linux/input.h, will be used to convey the device type.
165 - These codes denote one, two, three, and four finger interaction on a
168 BTN_TOOL_DOUBLETAP should be set to value 1 for the duration of the motion.
172 codes should have a value of 1 during any synchronization frame.
175 a value of 1 in the same synchronization frame. This usage is deprecated.
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,
193 respectively. The value is the number of detents moved on the wheel, the
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,
202 - High-resolution scroll wheel data. The accumulated value 120 represents
203 movement by one detent. For devices that do not provide high-resolution
204 scrolling, the value is always a multiple of 120. For devices with
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
215 ------
224 - Used to describe the distance of a tool from an interaction surface. This
226 proximity of the device and while the value of the BTN_TOUCH code is 0. If
227 the input device may be used freely in three dimensions, consider ABS_Z
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 -----
249 Upon resume, if the switch state is the same as before suspend, then the input
254 ------
256 EV_MSC events are used for input and output events that do not fall under other
263 - Used to report the number of microseconds since the last reset. This event
264 should be coded as an uint32 value, which is allowed to wrap around with
272 ------
274 EV_LED events are used for input and output to set and query the state of
278 ------
283 ------
289 -----
295 ------
303 Normally, userspace sets up an input device based on the data it emits,
309 --------------------------------------
313 transformations, such as scaling, flipping and rotating). Non-direct input
314 devices require non-trivial transformation, such as absolute to relative
315 transformation for touchpads. Typical direct input devices: touchscreens,
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
328 --------------------
339 ------------------
344 touchpads, the semi-mt property should be set.
355 -----------------------
369 ------------------------
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 ------------
404 ---------
411 on the trackpad. Where multi-finger support is available, BTN_TOOL_<name> should
417 -------