Commit Graph

47 Commits

Author SHA1 Message Date
Vftdan 58dc2cc84a Reverse "router" node predicate handling order to compensate for the replication at the past end
Make the behaviour inline with other tee-like nodes: order replicas
ascending along output connectors
2024-08-18 18:03:46 +02:00
Vftdan 7a0e351b3a Add "assign" node type 2024-08-18 17:59:31 +02:00
Vftdan 60a2cb7408 Optionally grabbing evdev device 2024-08-18 17:31:45 +02:00
Vftdan 97e45aa8c6 Minor error formatting fix 2024-08-18 17:20:06 +02:00
Vftdan adff4388a6 Add "uinput" node type 2024-08-18 17:19:37 +02:00
Vftdan e2ea8fed1e Add "documentation" field to node specification
Use it as node type help message
2024-08-18 15:26:54 +02:00
Vftdan 8b55223b9d Small fixes
- Fix parseable string of MODOP_TOGGLE
 - Actually set the configured namespace in nodes/evdev
 - Ensure non-negative payload in nodes/getchar
2024-08-18 15:23:49 +02:00
Vftdan 01bf0a9608 Implement command-line arguments 2024-08-18 14:45:53 +02:00
Vftdan 5969a1df8e Expose module registry 2024-08-18 14:44:39 +02:00
Vftdan 68a189dba1 Automatically call module registry cleanup on exit 2024-08-18 14:43:19 +02:00
Vftdan f76eaa53f2 Add "modify_predicate" node type
Change "enabled" and "inverted" predicate flags when received events
satisfy other predicates
2024-08-18 13:32:20 +02:00
Vftdan 4922b7f304 Add "modifiers" node type 2024-08-17 15:46:48 +02:00
Vftdan 9ac5a0b957 Check failed modifier resize 2024-08-17 15:45:10 +02:00
Vftdan 5048728022 Modifier operation enumeration 2024-08-17 15:17:49 +02:00
Vftdan f67a8842cc Modifier event predicate 2024-08-17 15:04:20 +02:00
Vftdan 8e6795a051 Single modifier type 2024-08-17 14:47:53 +02:00
Vftdan 4f71351796 Fix ModifierSet buffer overrun 2024-08-17 14:47:22 +02:00
Vftdan 20a97dbba7 Input index event predicate 2024-08-17 14:28:38 +02:00
Vftdan a46131716e Add "router" node type 2024-08-17 11:35:36 +02:00
Vftdan 2676b5acdf Wrap constant and predicate registries into a single environment type 2024-08-17 11:02:26 +02:00
Vftdan 011772a24a Loading event predicates from config 2024-08-16 22:48:09 +02:00
Vftdan 23a0fa002f Compiling event_predicate 2024-08-16 22:46:11 +02:00
Vftdan 39ea42018f Fix event_predicate
- Leaking handle lists when deleting aggregate predicates
 - Wrong dynamic array growth condition
 - Handle invalid predicate type field
2024-08-16 22:43:37 +02:00
Vftdan 1704817009 Added definition checks and additional key codes according to evtest 2024-08-16 14:23:09 +02:00
Vftdan cbadc3d85d Pre-populate constants with linux event types and codes 2024-08-16 13:16:01 +02:00
Vftdan 85282bed0e Add "enums" config section 2024-08-16 11:58:19 +02:00
Vftdan 174d57666b Allow passing fallback value for constant resolution 2024-08-16 11:56:04 +02:00
Vftdan 820480cc8a Check for missing "constants" config section 2024-08-16 11:55:10 +02:00
Vftdan 5946bf2bcd Allow constant references as channel indices 2024-08-16 11:00:31 +02:00
Vftdan 50a6f1a716 Config section for integer constants 2024-08-16 10:12:20 +02:00
Vftdan 0ae4617870 Fix typos in config loading code 2024-08-16 10:08:38 +02:00
Vftdan 2208131d68 Rename event filters to predicates 2024-08-16 01:52:25 +02:00
Vftdan 9f876162e5 Add "tee" node type 2024-08-15 22:12:23 +02:00
Vftdan deea29898a Fix linked list bug in event_replicate() 2024-08-15 22:10:55 +02:00
Vftdan c2a723098f Add global event list destructor 2024-08-15 21:26:21 +02:00
Vftdan 5875575d0b Add FullConfig destructor 2024-08-15 21:25:18 +02:00
Vftdan 245563ec8b Make the program unaware in compile time of the node types
Using "constructor" attribute
2024-08-15 20:57:17 +02:00
Vftdan 71e04c7f2d Implement hash table and use it for node lookup 2024-08-15 17:35:51 +02:00
Vftdan f126a60412 Add a check for seemingly unreachable condition found by scan-build
The logic of finding the event that happend just before the created one
2024-08-15 17:06:20 +02:00
Vftdan 63dabd6fcd Typesafe wrapper around calloc 2024-08-15 16:53:02 +02:00
Vftdan a0825d1d58 Implemented configuration using libconfig 2024-08-14 22:23:21 +02:00
Vftdan a776a10d34 One pkg-config dependency per line 2024-08-14 16:27:59 +02:00
Vftdan a02c3bacd2 Implement event filter type 2024-08-14 16:26:54 +02:00
Vftdan 8f49752bab Split event code value into major and minor components 2024-08-14 14:53:17 +02:00
Vftdan 65769a7442 Added libevdev node 2024-08-14 14:47:12 +02:00
Vftdan d3a3217e88 Add newtypes for absolute and relative time 2024-08-14 13:47:55 +02:00
Vftdan d0bcd6b20c Initial commit 2024-08-13 23:33:52 +02:00