enums = { namespaces: ["stdin", "clickpad"]; }; predicates = { is_evdev = { type = "code_ns"; min = "namespaces.clickpad"; max = "namespaces.clickpad"; }; key_event = { type = "and"; args = ( "is_evdev", { type = "code_major"; min = "event_type.KEY"; max = "event_type.KEY"; } ); }; }; nodes = { stdin = { type = "getchar"; options = { namespace = "namespaces.stdin"; }; }; print = { type = "print"; options = {}; }; clickpad = { type = "evdev"; options = { file = "/dev/input/event7"; namespace = "namespaces.clickpad"; }; }; select_key_events = { type = "router"; options = { predicates = ["key_event"]; }; }; }; channels = ({ from: ("stdin", 0); to: ("select_key_events", 0); }, { from: ("clickpad", 0); to: ("select_key_events", 1); }, { from: ("select_key_events", 0); to: ("print", 0); }); // vim: ft=libconfig