Commit graph

90 commits

Author SHA1 Message Date
4c0d5eae90 Update changelog for release. 2026-09-12 11:11:32 -04:00
b084eb7735 Changelog updates. 2026-09-12 10:44:46 -04:00
b5e4b22a2c Add file extension on changelog (to be closer to Common Changelog) 2026-09-12 10:36:16 -04:00
4ca37a6894 Add attribution. 2026-09-12 10:33:31 -04:00
b80c5e3032 Formatting and changelog updates. (#14)
Reviewed-on: https://codeberg.org/annabunches/joyful/pulls/14
2026-09-12 16:29:51 +02:00
eviLu
7e4d4f3c20 Add support for setting vendor/device IDs (#10)
Sets vendor and product IDs, defaults to the prior default values.
This is needed for some games to be able to correctly identify the virtual devices since not all games support device indexes.

Reviewed-on: https://codeberg.org/annabunches/joyful/pulls/10
2026-09-12 16:22:43 +02:00
77ee020b2a Add hold option to axis-to-button (#13)
Reviewed-on: https://codeberg.org/annabunches/joyful/pulls/13
2026-09-12 16:09:10 +02:00
annabunches
add27f17e2 Merge pull request 'Check if TTS is disabled before adding messages' (#8) from Tsudico/joyful:no-tts-fix into main
Reviewed-on: https://codeberg.org/annabunches/joyful/pulls/8
Reviewed-by: annabunches <annabunches@noreply.codeberg.org>
2025-12-13 02:25:32 +01:00
annabunches
31114d27f6 Merge pull request 'Fix typo in ruletypes.yml' (#7) from Tsudico/joyful:ruletypes_typo into main
Reviewed-on: https://codeberg.org/annabunches/joyful/pulls/7
Reviewed-by: annabunches <annabunches@noreply.codeberg.org>
2025-12-13 02:24:04 +01:00
S.W.
3881803c8d
Check if TTS is disabled before adding messages 2025-10-07 15:35:32 -05:00
S.W.
18e2a82c6d
Fix typo in ruletypes.yml 2025-10-03 16:48:51 -05:00
5e005478f1 Basic hat support. (#20)
Reviewed-on: #20
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-09-15 17:55:55 +00:00
62befa045a Remove debug statements. 2025-09-14 20:37:49 -04:00
2650159a81 Better deadzones (#19)
Reviewed-on: #19
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-09-14 23:11:56 +00:00
8a903e0703 Make enum values typed strings (#18)
This also moves validation into the parsing process and refactors a bunch of code related to the config.

Reviewed-on: #18
Co-authored-by: Anna Rose Wiggins <annabunches@gmail.com>
Co-committed-by: Anna Rose Wiggins <annabunches@gmail.com>
2025-09-05 21:17:55 +00:00
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