From e4246dd62ed55ff307838bdb99f56b18168f37bb Mon Sep 17 00:00:00 2001 From: Anna Rose Wiggins Date: Mon, 4 Aug 2025 15:27:25 -0400 Subject: [PATCH] Update documentation. --- docs/readme.md | 1 + readme.md | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/readme.md b/docs/readme.md index 50dd0fe..4dfe497 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -22,6 +22,7 @@ Each entry in `devices` must have a couple of parameters: A couple of additional notes on virtual devices: +* Users are encouraged to use the `preset` options whenever possible. They have the highest probability of working the way you expect. If you need to output to multiple types of device, the best approach is to create multiple virtual devices. * For all 3 of the above options, there is a priority order. If you specify a `preset`, it will be used ignoring any other settings. An explicit list will override the corresponding `num_` parameter. * Some environments/applications are prescriptive about what combinations make sense; for example, they will only register mouse events if the device *only* supports mouse-like events. The `presets` attempt to take this into account. If you are defining capabilities manually and attempt to mix and match button codes, you may also run into this problem. diff --git a/readme.md b/readme.md index 164e2ac..937bf13 100644 --- a/readme.md +++ b/readme.md @@ -18,6 +18,7 @@ Joyful is ideal for Linux gamers who enjoy space and flight sims and miss the fe * "Combined" axis mapping: map two physical axes to one virtual axis. * Axis -> button mapping with optional "proportional" repeat speed (i.e. repeat faster as the axis is engaged further) * Axis -> Relative Axis mapping, for converting a joystick axis to mouse movement and scrollwheel events. +* Define keyboard, mouse, and gamepad outputs in addition to joysticks. * Configure per-rule configurable deadzones for axes, with multiple ways to specify deadzones. * Define multiple modes with per-mode behavior. * Text-to-speech engine that announces the current mode when it changes. @@ -26,10 +27,9 @@ Joyful is ideal for Linux gamers who enjoy space and flight sims and miss the fe * Macros - have a single input produce a sequence of button presses with configurable pauses. * Sequence combos - Button1, Button2, Button3 -> VirtualButtonA -* Output keyboard button presses * Hat support * HIDRAW support for more button options. -* Sensitivity Curves. +* Sensitivity Curves? * Packaged builds for Arch and possibly other distributions. ## Configure @@ -87,10 +87,10 @@ Pressing `` in the running terminal window will reload the `rules` sectio ## Technical details -Joyful is written in golang, and uses `evdev`/`uinput` to manage devices, `piper` and `oto` for TTS. See [cmd/joyful/main.go](cmd/joyful/main.go) for the program's entry point. +Joyful is written in golang, and uses `evdev`/`uinput` to manage devices and `espeak-ng` for TTS. See [cmd/joyful/main.go](cmd/joyful/main.go) for the program's entry point. + +This was originally going to be a Rust project, but the author's Rust skills weren't quite up to the task yet. Please look forward to the inevitable Rust rewrite. ### Contributing -Send patches and questions to [annabunches@gmail.com](mailto:annabunches@gmail.com). Make sure the subject of your email starts with `[Joyful]`. - -If enough people show an interest in contributing, I'll consider mirroring the repository on Github. \ No newline at end of file +Issues and pull requests should be made on the [Codeberg mirror](https://codeberg.org/annabunches/joyful). \ No newline at end of file