Commit graph

75 commits

Author SHA1 Message Date
8d2b15a7c8 Move initialization code closer to the appropriate structs. (#17)
Reviewed-on: #17
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-08-12 00:57:11 +00:00
d9babf5dc0 Improve config yaml schema (#16)
Leverages custom unmarshaling to be more declarative for our config specification.

Reviewed-on: #16
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-08-09 16:33:46 +00:00
1a7b288083 Convenience ignore for rust experimentation. 2025-08-08 11:58:25 -04:00
7a9a2ba9e2 Update feature list. 2025-08-05 16:07:29 -04:00
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
890c19f1dc Attempt to clarify some documentation. 2025-08-04 16:11:53 -04: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
61fe5208e6 On second thought, makefile turns out to be a poor fit for golang. 2025-08-01 15:15:25 -04:00
3bbffa9325 Add test command to makefile. 2025-08-01 14:05:58 -04:00
9652df9366 Add device locking with a flag to disable for testing. 2025-08-01 13:49:03 -04:00
7f104f054a Add makefile and update install documentation. 2025-08-01 13:37:06 -04:00
9d262977f9 Add text-to-speech support. (#13)
Reviewed-on: #13
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-07-29 19:59:54 +00:00
3e4367f5e7 Update feature list. 2025-07-29 10:31:11 -04:00
c7d5b7a9fa Format console output. 2025-07-28 13:46:54 -04:00
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