1HID-REPLAY(1)                                                    HID-REPLAY(1)
2
3
4

NAME

6       hid-replay - HID Input device replay through uhid.
7

SYNOPSIS

9       hid-replay [OPTIONS] [FILENAME]
10

OPTIONS

12       -i, --interactive
13           interactive mode: This is the default mode. The device is created
14           and the program wait for the user to hit enter. Once the enter key
15           is pressed the whole events sequence in FILENAME is played in real
16           time. Once it is done, the program loops back to the wait of the
17           user keypress on the enter key.
18
19               Hit *Ctrl-C* to stop the replay.
20
21       -1, --one
22           one shot mode: the device is created and then the events are
23           replayed once in real time. The process exists at the end of the
24           replay.
25
26       -s, --sleep X: sleep X seconds once the device is created before next
27       step. Useful in conjunction with --one.
28

DESCRIPTION

30       hid-replay requires the module uhid to be loaded (present in kernels
31       3.6+).
32
33       If this kernel module is loaded, hid-replay allows the user to create
34       virtual HID devices as if they were physically plugged to the system.
35       Then, the user has the possibility to replay the previously recorded
36       HID events that are therefore handled by the right HID kernel module.
37
38       hid-replay needs to be able to write to /dev/uhid; in most cases this
39       means it must be run as root.
40
41       hid-recorder and hid-replay are used to debug kernel issues with HID
42       input devices.
43

INPUT FILE

45       The input file of hid-replay has the following syntax:
46
47       ·   # comments
48
49       ·   D: tell which device we are currently working with
50
51       ·   R: size dump_of_report_descriptor_in_hexadecimal
52
53       ·   N: common_name_of_the_device
54
55       ·   P: physical_path
56
57       ·   I: bus vendor_id product_id
58
59       ·   E: timestamp size report_in_hexadecimal
60
61       Any other starting characters are just ignored.
62

CAUTION

64       hid-replay is a very low level events injector. To have the virtual
65       device handled by the right HID kernel module, hid-replay fakes that
66       the device is on the original bus (USB, I2C or BT). Thus, if the kernel
67       module in use has to write back to the device the kernel may oops if
68       the module is trying to direclty talk to the physical layer.
69
70       Be sure to use this program with friendly HID modules that rely only on
71       the generic hid callbacks.
72

EXIT CODE

74       hid-replay returns EXIT_FAILURE on error.
75

SEE ALSO

77       hid-recorder(1)
78
80           Copyright 2012, Benjamin Tissoires.
81           Copyright 2012, Red Hat, Inc.
82

AUTHOR

84           Benjamin Tissoires <benjamin.tissoires@redhat.com>
85
86
87
88                                  01/29/2020                     HID-REPLAY(1)
Impressum