From: Peter Hutterer Date: Wed, 27 May 2015 23:33:07 +0000 (+1000) Subject: README: add two diagrams to outline the stack X-Git-Tag: 0.16.0~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9883735c1ce77a6b2061a39ded4cc3b94e019a73;p=platform%2Fupstream%2Flibinput.git README: add two diagrams to outline the stack Signed-off-by: Peter Hutterer --- diff --git a/README.txt b/README.txt index 3c7a5d5..07e8fa3 100644 --- a/README.txt +++ b/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 ----------- diff --git a/doc/Makefile.am b/doc/Makefile.am index ed2f72f..181fe2e 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -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 \ diff --git a/doc/dot/libinput-stack-wayland.gv b/doc/dot/libinput-stack-wayland.gv new file mode 100644 index 0000000..20b334e --- /dev/null +++ b/doc/dot/libinput-stack-wayland.gv @@ -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 +} diff --git a/doc/dot/libinput-stack-xorg.gv b/doc/dot/libinput-stack-xorg.gv new file mode 100644 index 0000000..e50f241 --- /dev/null +++ b/doc/dot/libinput-stack-xorg.gv @@ -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 +}