Commit graph

61 commits

Author SHA1 Message Date
0ebca5a84c Improve evlist and rename it evinfo (#12)
Reviewed-on: #12
2025-07-28 17:45:51 +00:00
3196d4ea22 Add support for combining 2 axes into one virtual axis. (#11)
Reviewed-on: #11
2025-07-28 17:45:16 +00:00
7b520af24a Use a context for closing channels. (#10)
Reviewed-on: #10
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-07-28 17:44:40 +00:00
4c04a9215d Add license notice. 2025-07-18 20:52:46 -04:00
c355c94b5f Add gamepad mapping example. 2025-07-18 20:43:32 -04:00
751604c60a Update documentation. 2025-07-18 20:38:48 -04: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
5b9dfe0967 Support multiple configuration profiles. (#8)
Adds a `--config` command-line option to specify a config directory.

Reviewed-on: #8
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-07-18 18:28:11 +00:00
238faa9082 Fix button indexing. 2025-07-18 12:52:08 -04:00
46a28fda7a Add tests for EventBuffer (#7)
Reviewed-on: #7
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-07-18 16:42:22 +00: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
e1940006d8 Support live re-loading of rules. (#2)
Reviewed-on: #2
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-07-15 23:38:53 +00:00
4ebcbb4dc9 Update documentation. 2025-07-15 16:32:02 -04: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
08fc828b46 Refactor mapping rules. 2025-07-06 15:46:48 -04:00
b9d02e6482 More refactoring, start implementing proportional axis... 2025-07-05 18:18:25 -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
102e0808f8 Documentation on getting keycodes. 2025-07-05 11:27:34 -04:00
7ef62cbdc7 Rename mapping rules for consistent prefix. 2025-07-04 23:47:25 -04:00
80bfdfde90 Implement by-device output map for timers. 2025-07-04 23:44:28 -04:00
3b75fd30e4 Use testify, write a couple more tests, and start a major refactor. 2025-07-04 23:40:34 -04:00
649fb5e377 An single test. 2025-07-04 20:28:38 -04:00
1f6c2517c0 Fix inverted buttons. 2025-07-04 19:11:39 -04:00
288a07eb73 Make modeless operation work more cleanly / remove implicit "main" mode. 2025-07-04 12:57:01 -04:00
Anna Rose
acba227843 Merge pull request 'Refactor rule target functions into methods.' (#1) from refactor-oo into main
Reviewed-on: annabunches/joyful#1
2025-07-04 16:51:34 +00:00
2e501db084 Documentation updates. 2025-07-04 12:50:46 -04:00
db848db810 Fix up refactored rule targets. 2025-07-04 12:34:39 -04:00
c14ec074d1 WIP converting some functions into methods. 2025-07-04 10:14:04 -04:00
f6162d0f7b Refactoring. 2025-07-04 09:40:35 -04:00
f773897509 Bugfixes. 2025-07-04 01:17:05 -04:00
4c76ad4f49 Start implementing timer logic for proportional axis checking. 2025-07-04 00:30:05 -04:00
bf1bb868e5 Start implementing a channel for timer-based events. 2025-07-03 18:11:37 -04:00
f12d119116 Formatting. 2025-07-03 17:10:56 -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
4ff4757abc Some example updates. 2025-07-03 10:45:29 -04:00
5a2e9f354b Add some documentation. 2025-07-02 20:53:02 -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