Commit Graph

61 Commits

Author SHA1 Message Date
Vftdan 399f0b278e Report config syntax errors 2024-08-19 21:13:38 +02:00
Vftdan 0967e9eb85 Prevent sparse output connector list from causing disowned events 2024-08-19 21:12:12 +02:00
Vftdan 91ec8ef423 Don't switch to future events from channel event handler 2024-08-19 21:09:24 +02:00
Vftdan 95354cbf95 Handle allocator failure in EventNode constructor 2024-08-19 21:05:16 +02:00
Vftdan 7e4e56d8e2 Also wrap reallocarray into a type-safe macro 2024-08-19 20:59:56 +02:00
Vftdan 2d5dc40c19 Add "scale" node type 2024-08-19 12:00:30 +02:00
Vftdan 7cdbcaf25e Check for config->options == NULL 2024-08-19 11:21:51 +02:00
Vftdan f19732d364 Movement support in quadtap-both-click.cfg 2024-08-19 11:03:42 +02:00
Vftdan 12af4b35c7 Add "differentiate" node type
Can be used to transform absolute movement to relative movement
2024-08-19 11:01:19 +02:00
Vftdan eaa64f5b4c Support for input properties in uinput 2024-08-19 10:56:25 +02:00
Vftdan 4c654cd621 Check that there are no positional arguments 2024-08-18 20:23:57 +02:00
Vftdan 244bb719b1 Safer string concatenation 2024-08-18 19:59:03 +02:00
Vftdan 97b90cd1af Basic quadtap -> left_click + right_click config 2024-08-18 18:53:10 +02:00
Vftdan 1c9cdf80a0 Add "true" and "false" to constants 2024-08-18 18:52:08 +02:00
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