58dc2cc84a
Reverse "router" node predicate handling order to compensate for the replication at the past end
7a0e351b3a
Add "assign" node type
60a2cb7408
Optionally grabbing evdev device
97e45aa8c6
Minor error formatting fix
adff4388a6
Add "uinput" node type
e2ea8fed1e
Add "documentation" field to node specification
8b55223b9d
Small fixes
01bf0a9608
Implement command-line arguments
5969a1df8e
Expose module registry
68a189dba1
Automatically call module registry cleanup on exit
4922b7f304
Add "modifiers" node type
9ac5a0b957
Check failed modifier resize
5048728022
Modifier operation enumeration
f67a8842cc
Modifier event predicate
8e6795a051
Single modifier type
a46131716e
Add "router" node type
2676b5acdf
Wrap constant and predicate registries into a single environment type
011772a24a
Loading event predicates from config
23a0fa002f
Compiling event_predicate
39ea42018f
Fix event_predicate
85282bed0e
Add "enums" config section
174d57666b
Allow passing fallback value for constant resolution
820480cc8a
Check for missing "constants" config section
5946bf2bcd
Allow constant references as channel indices
50a6f1a716
Config section for integer constants
0ae4617870
Fix typos in config loading code
2208131d68
Rename event filters to predicates
9f876162e5
Add "tee" node type
deea29898a
Fix linked list bug in event_replicate()
c2a723098f
Add global event list destructor
5875575d0b
Add FullConfig destructor
f126a60412
Add a check for seemingly unreachable condition found by scan-build
63dabd6fcd
Typesafe wrapper around calloc
a0825d1d58
Implemented configuration using libconfig
a776a10d34
One pkg-config dependency per line
a02c3bacd2
Implement event filter type
8f49752bab
Split event code value into major and minor components