329058b4b5
Support specifying physical devices via device file instead of device name. ( #15 )
...
Fixes https://codeberg.org/annabunches/joyful/issues/2
Reviewed-on: #15
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-08-05 20:02:45 +00:00
838449000c
Support keyboard buttons and add presets. ( #14 )
...
Reviewed-on: #14
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-08-04 19:55:56 +00:00
9652df9366
Add device locking with a flag to disable for testing.
2025-08-01 13:49:03 -04:00
3196d4ea22
Add support for combining 2 axes into one virtual axis. ( #11 )
...
Reviewed-on: #11
2025-07-28 17:45:16 +00:00
35bedfa58c
Remove debug statements.
2025-07-18 19:12:19 -04:00
97a1acd228
Add more deadzone specification options. ( #9 )
...
Reviewed-on: #9
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-07-18 23:10:12 +00:00
238faa9082
Fix button indexing.
2025-07-18 12:52:08 -04:00
3ffccf4c08
Add tests for parseCode ( #6 )
...
Reviewed-on: #6
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-07-17 23:06:28 +00:00
6ef0cbd07c
Allow all buttons and axes on virtual devices to be specified by either number or an explicit list. ( #5 )
...
Reviewed-on: #5
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-07-17 20:04:21 +00:00
712dcdbc07
Add more tests ( #4 )
...
This also refactors some of the code parsing logic.
Reviewed-on: #4
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-07-17 17:02:30 +00:00
a05dc9126d
Add support for multiple keycode formats. ( #3 )
...
Additionally:
- Increases maximum supported buttons per output device to 74.
- Updates documentation.
Reviewed-on: #3
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-07-16 23:27:29 +00:00
e617a6eda6
Implement axis targets, axis -> button and axis -> relative axis mappings. ( #1 )
...
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-07-15 19:55:19 +00:00
ff38db6596
Big Refactor ( #2 )
...
Refactor Everything.
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-07-08 03:26:24 +00:00
a0949e719f
Start rulemapping refactor to be more explicit about typing intentions.
2025-07-06 17:22:05 -04:00
cefd6a22b8
Improve rule generation error logging.
2025-07-05 12:01:02 -04:00
be0a1cf24c
Refactor rule generating code and check modes more thoroughly.
2025-07-05 11:56:48 -04:00
7ef62cbdc7
Rename mapping rules for consistent prefix.
2025-07-04 23:47:25 -04:00
288a07eb73
Make modeless operation work more cleanly / remove implicit "main" mode.
2025-07-04 12:57:01 -04:00
db848db810
Fix up refactored rule targets.
2025-07-04 12:34:39 -04:00
034d2a8718
Add ability to change modes via rules.
2025-07-03 17:10:46 -04:00
8fafe3d27c
Debugging rule processing.
2025-07-03 13:47:54 -04:00
cc37904fad
Initial implementation of modes, though they're not quite working.
2025-07-03 12:19:57 -04:00
15b9fa6ac0
Refactor and add some documentation (it'll be true soon enough)
2025-07-03 11:03:57 -04:00
f5283f33ca
Add latched rules.
2025-07-02 20:05:36 -04:00
a078dcb193
Read events from multiple devices.
2025-07-02 17:01:17 -04:00
a5b59bf39e
Fix combo rules and add some example config.
2025-07-02 14:53:52 -04:00
428749a519
Build rules from config.
2025-07-02 13:54:41 -04:00
50474f9fb2
Add an 'evlist' command to help get the exact strings for device names.
2025-07-01 23:30:24 -04:00
a18275f53b
Remove obsolete comment.
2025-07-01 23:08:47 -04:00
970b3ded6e
Implement rule matching for a couple of basic rule types.
2025-07-01 17:49:23 -04:00
5b3b70da14
Implement config file parsing for physical devices.
2025-07-01 13:23:21 -04:00
faa51bdda2
Implement basic config file parsing and create virtual devices from config file.
2025-07-01 11:27:14 -04:00
eeebb6d0b1
Small fixes for config parsing, and start plumbing it into our main program.
2025-06-28 22:30:59 -04:00
02c8642ead
Initial config parsing code.
2025-06-28 19:41:23 -04:00