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,
196 ------
205 - Used to describe the distance of a tool from an interaction surface. This
207 proximity of the device and while the value of the BTN_TOUCH code is 0. If
208 the input device may be used freely in three dimensions, consider ABS_Z
210 - BTN_TOOL_<name> should be set to 1 when the tool comes into detectable
217 - Used to describe multitouch input events. Please see
218 multi-touch-protocol.txt for details.
221 -----
230 Upon resume, if the switch state is the same as before suspend, then the input
235 ------
237 EV_MSC events are used for input and output events that do not fall under other
244 - Used to report the number of microseconds since the last reset. This event
245 should be coded as an uint32 value, which is allowed to wrap around with
253 ------
255 EV_LED events are used for input and output to set and query the state of
259 ------
264 ------
270 -----
276 ------
284 Normally, userspace sets up an input device based on the data it emits,
290 --------------------------------------
294 transformations, such as scaling, flipping and rotating). Non-direct input
295 devices require non-trivial transformation, such as absolute to relative
296 transformation for touchpads. Typical direct input devices: touchscreens,
297 drawing tablets; non-direct devices: touchpads, mice.
300 on the screen and thus requires use of an on-screen pointer to trace user's
301 movements. Typical pointer devices: touchpads, tablets, mice; non-pointer
309 --------------------
320 ------------------
325 touchpads, the semi-mt property should be set.
336 -----------------------
350 ------------------------
362 The guidelines below ensure proper single-touch and multi-finger functionality.
363 For multi-touch functionality, see the multi-touch-protocol.txt document for
367 ----
375 ------------
385 ---------
392 on the trackpad. Where multi-finger support is available, BTN_TOOL_<name> should
398 -------