From 528c882e97fea16d56e22e19b76fbf5e45895967 Mon Sep 17 00:00:00 2001 From: Earnestly Date: Wed, 4 Jul 2018 21:05:30 +0100 Subject: add initial uinputd.8 manual --- server/uinputd.8 | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 server/uinputd.8 diff --git a/server/uinputd.8 b/server/uinputd.8 new file mode 100644 index 0000000..f88ef87 --- /dev/null +++ b/server/uinputd.8 @@ -0,0 +1,85 @@ +.TH UINPUTD 8 2018-07-04 Linux +.SH NAME +uinputd +.SH SYNOPSIS +.B uinputd +.SH DESCRIPTION +.B uinputd +exposes uinput over a pipe allowing clients such as +.BR linux-uinput (1) +to present a local device and have uinput emulate it. +.P +While it is not much use on the same machine, when combined with tools like +.BR socat (1) +or +.BR tcpserver (1) +and +.BR netcat (1) +it can allow for network transparent device emulation from the remote client to +the host. +.SH NOTES +Due to how +.B uinputd +is implemented, the clients may not be compatible with different kind of hosts. +.SH EXAMPLE +.SS Using tcpserver (ucspi-tcp) and netcat +On the the host +.B uinputd +can be launched with +.BR tcpserver (1) +when incomming TCP connections on port 5000 are received. +.P +.RS +.EX +# tcpserver 0.0.0.0 5000 uinputd +.EE +.RE +.P +Then on the client +.BR linux-uinput (1) +can be used to pass a local device to the remote's +.I address +on port 5000. +.P +.RS +.EX +# linux-uinput /dev/input/event4 | nc $address 5000 +.EE +.RE +.SS Using socat +Much like the the above example using +.BR tcpserver (1) +and +.BR tcpclient (1), +the host runs a +.BR socat (1) +command which forks off a new +.B uinputd +server when receiving connections. +.P +.RS +.EX +# socat tcp-listen:5000,reuseaddr,fork exec:uinputd +.EE +.RE +.P +Likewise for the client +.P +.RS +.EX +# linux-uinput /dev/input/event4 | socat - tcp:$address:5000 +.EE +.RE +.SH SOURCE +.UR https://git.cloudef.pw/uinputd.git +.UE +.SH SEE ALSO +.BR linux-uinput (1), +.BR socat (1), +.BR nc (1) +.P +.UR https://cr.yp.to/ucspi-tcp.html +.UE +.P +.UR https://www.kernel.org/doc/html/latest/input/uinput.html +.UE -- cgit v1.2.3