summaryrefslogtreecommitdiff
path: root/evtest.txt
blob: 5fd15b046ec76db0a656ea5eb522f63e0a983a03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
EVTEST(1)
=========

NAME
----

     evtest - Input device event monitor and query tool

SYNOPSIS
--------
     evtest [--grab] /dev/input/eventX

     evtest --query /dev/input/eventX <type> <value>

DESCRIPTION
-----------
The first invocation type displayed above ("capture mode") causes evtest to
display information about the specified input device, including all the events
supported by the device. It then monitors the device and displays all the
events layer events generated.

If the --grab flag is given in capture mode, evtest keeps an EVIOCGRAB on the
device. While this grab is active, other processes will not receive events
from the kernel devices. The grab is released again when evtest quits.

In the second invocation type ("query mode"), evtest performs a one-shot query
of the state of a specific key *value* of an event *type*.

*type* is one of: *EV_KEY*, *EV_SW*, *EV_SND*, *EV_LED* (or the numerical value)

*value* can be either a decimal representation (e.g. 44), hex
(e.g. 0x2c), or the constant name (e.g. KEY_Z) of the key/switch/sound/LED
being queried.

If the state bit is set (key pressed, switch on, ...), evtest exits with
code 10. If the state bit is unset (key depressed, switch off, ...), evtest
exits with code 0. No other output is generated.

evtest needs to be able to read from the device; in most cases this means it
must be run as root.

evtest is commonly used to debug issues with input devices in X.Org. The
output of evtest shows the information presented by the kernel; based on
this information it can be determined whether a bug may be a kernel or an
X.Org issue.

DIAGNOSTICS
-----------
If evtest does not show any events even though the device is being used, the
device may be grabbed by a process (EVIOCGRAB).  This is usually the case
when debugging a synaptics device from within X. VT switching to a TTY or
shutting down the X server terminates this grab and synaptics devices can be
debugged.

The following command shows the processes with an open file descriptor on
the device:

   fuser -v /dev/input/eventX

EXIT CODE
---------
evtest returns 1 on error.

When used to query state, evtest returns 0 if the state bit is unset and
10 if the state bit is set.

SEE ALSO
--------
inputattach(1)

AUTHOR
------
evtest was written by Vojtech Pavlik <vojtech@suse.cz>.

This manual page was written by Stephen Kitt <steve@sk2.org>, based on that
present in the lineakd package, for the Debian GNU/Linux system (but may be
used by others).