Commit Graph

52 Commits

Author SHA1 Message Date
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
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