1digraph seats 2{ 3 rankdir="BT"; 4 node [ 5 shape="box"; 6 ] 7 8 kernel [label="Kernel"]; 9 10 event0 [URL="\ref libinput_event"]; 11 event1 [URL="\ref libinput_event"]; 12 event2 [URL="\ref libinput_event"]; 13 event3 [URL="\ref libinput_event"]; 14 15 pseat0 [label="phys seat0"; URL="\ref libinput_seat_get_physical_name"]; 16 pseat1 [label="phys seat1"; URL="\ref libinput_seat_get_physical_name"]; 17 18 lseatA [label="logical seat A"; URL="\ref libinput_seat_get_logical_name"]; 19 lseatB [label="logical seat B"; URL="\ref libinput_seat_get_logical_name"]; 20 lseatC [label="logical seat C"; URL="\ref libinput_seat_get_logical_name"]; 21 22 ctx1 [label="libinput context 1"; URL="\ref libinput"]; 23 ctx2 [label="libinput context 2"; URL="\ref libinput"]; 24 25 dev1 [label="device 'Foo'"]; 26 dev2 [label="device 'Bar'"]; 27 dev3 [label="device 'Spam'"]; 28 dev4 [label="device 'Egg'"]; 29 30 kernel -> event0 31 kernel -> event1 32 kernel -> event2 33 kernel -> event3 34 35 event0 -> pseat0 36 event1 -> pseat0 37 event2 -> pseat0 38 event3 -> pseat1 39 40 pseat0 -> ctx1 41 pseat1 -> ctx2 42 43 ctx1 -> lseatA 44 ctx1 -> lseatB 45 ctx2 -> lseatC 46 47 lseatA -> dev1 48 lseatA -> dev2 49 lseatB -> dev3 50 lseatC -> dev4 51} 52