mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2025-12-26 16:50:06 +01:00
README: add two diagrams to outline the stack
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
fbead87edb
commit
9883735c1c
4 changed files with 59 additions and 0 deletions
21
README.txt
21
README.txt
|
|
@ -16,6 +16,27 @@ libinput originates from
|
|||
[weston](http://cgit.freedesktop.org/wayland/weston/), the Wayland reference
|
||||
compositor.
|
||||
|
||||
Architecture
|
||||
------------
|
||||
|
||||
libinput is not used directly by applications, rather it is used by the
|
||||
xf86-input-libinput X.Org driver or wayland compositors. The typical
|
||||
software stack for a system running Wayland is:
|
||||
|
||||
@dotfile libinput-stack-wayland.gv
|
||||
|
||||
Where the Wayland compositor may be Weston, mutter, KWin, etc. Note that
|
||||
Wayland encourages the use of toolkits, so the Wayland client (your
|
||||
application) does not usually talk directly to the compositor but rather
|
||||
employs a toolkit (e.g. GTK) to do so.
|
||||
|
||||
The simplified software stack for a system running X.Org is:
|
||||
|
||||
@dotfile libinput-stack-xorg.gv
|
||||
|
||||
Again, on a modern system the application does not usually talk directly to
|
||||
the X server using Xlib but rather employs a toolkit to do so.
|
||||
|
||||
Source code
|
||||
-----------
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@ header_files = \
|
|||
diagram_files = \
|
||||
$(srcdir)/dot/seats-sketch.gv \
|
||||
$(srcdir)/dot/seats-sketch-libinput.gv \
|
||||
$(srcdir)/dot/libinput-stack-wayland.gv \
|
||||
$(srcdir)/dot/libinput-stack-xorg.gv \
|
||||
$(srcdir)/svg/software-buttons.svg \
|
||||
$(srcdir)/svg/clickfinger.svg \
|
||||
$(srcdir)/svg/button-scrolling.svg \
|
||||
|
|
|
|||
17
doc/dot/libinput-stack-wayland.gv
Normal file
17
doc/dot/libinput-stack-wayland.gv
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
digraph stack
|
||||
{
|
||||
rankdir="LR";
|
||||
node [
|
||||
shape="box";
|
||||
]
|
||||
|
||||
kernel [label="Kernel"];
|
||||
|
||||
libinput;
|
||||
compositor [label="Wayland Compositor"];
|
||||
client [label="Wayland Client"];
|
||||
|
||||
kernel -> libinput
|
||||
libinput -> compositor
|
||||
compositor -> client
|
||||
}
|
||||
19
doc/dot/libinput-stack-xorg.gv
Normal file
19
doc/dot/libinput-stack-xorg.gv
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
digraph stack
|
||||
{
|
||||
rankdir="LR";
|
||||
node [
|
||||
shape="box";
|
||||
]
|
||||
|
||||
kernel [label="Kernel"];
|
||||
|
||||
libinput;
|
||||
xf86libinput [label="xf86-input-libinput"];
|
||||
xserver [label="X Server"];
|
||||
client [label="X11 client"];
|
||||
|
||||
kernel -> libinput
|
||||
libinput -> xf86libinput
|
||||
xf86libinput -> xserver
|
||||
xserver -> client
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue