Merge branch 'doc-updates' into 'main'

doc updates

Closes #89

See merge request agx/feedbackd!172
This commit is contained in:
Guido Günther
2025-04-24 14:32:27 +00:00
3 changed files with 34 additions and 20 deletions
+10 -11
View File
@@ -70,11 +70,9 @@ See `examples/` for a simple python example using GObject introspection.
## How it works
We're using a [event naming spec](./doc/Event-naming-spec-0.0.0.md)
similar to <http://0pointer.de/public/sound-naming-spec.html> to name
events. This will allow us to act as a system sound library so
applications only need to call into this library and things like
the quiet and silent profile work out of the box.
Whenever an event is submitted to the daemon by a client via the DBus API *feedbackd*
looks up the corresponding feedbacks according to the current profile in the currently
active feedback theme (taking per application profile settings into account).
Any feedback triggered by a client via an event will be stopped latest when the
client disconnects from DBus. This makes sure all feedbacks get canceled if the
@@ -82,9 +80,9 @@ app that triggered it crashes.
### Feedback theme
Events are then mapped to a specific type of feedback (sound, led, vibra) via a
device specific theme - since devices have different capabilities and
different users different needs.
As devices have varying capabilities and users different needs, events
are mapped to a feedbacks (sound, LED, vibra) via a configurable
theme.
Feedbackd is shipped with a default theme `default.json`.
You can add your own themes in multiple ways:
@@ -100,7 +98,7 @@ You can add your own themes in multiple ways:
```json
{
"name: "custom"
"parent-theme": "default"
"parent-name": "default"
"profiles" : [
...(entries you want to change go here)...
]
@@ -194,8 +192,8 @@ examples:
For available feeddback types see the [feedback-themes][](5) manpage.
You can check the feedback theme and the classes (prefixed with Fbd)
for available properties. Note that the feedback theme API (including
You can check the feedback theme and the [feedbackd-themes manpage][]
or available properties. Note that the feedback theme API (including
the theme file format) is not stable but considered internal to the
daemon.
@@ -320,3 +318,4 @@ on IRC and bug tracker.
[1]: https://gitlab.freedesktop.org/agx/feedbackd-device-themes
[feedback-themes]: ./doc/feedback-themes.rst
[Code of Conduct]: https://www.freedesktop.org/wiki/CodeOfConduct/
[feedbackd-themes manpage]: ./doc/feedbackd-themes.rst
+17 -4
View File
@@ -11,10 +11,18 @@ Theme configuration for feedbackd
DESCRIPTION
-----------
In order to reflect device specifics and user overrides the feedback
(such as sound, haptic or led) that is being triggered by an event can
be configured and overridden by so called themes. Feedback themes use a JSON
format that can be validated with ``fbd-theme-validate``.
The feedback provided to the user for an event is determined by the
feedback theme. Each theme consists of up to three profiles (`full`,
`quiet` and `silent`) containing event names and their associated
feedback.
Events in the theme are named according to the
`Event Naming Specifiaction
<https://gitlab.freedesktop.org/agx/feedbackd/-/blob/main/doc/Event-naming-spec-0.0.0.md>`_
Feedback themes use a JSON format that can be validated with
``fbd-theme-validate(1)``. They can include other themes to avoid
repetition.
For details on how to create or modify feedback themes see
``feedbackd's documentation`` at https://gitlab.freedesktop.org/agx/feedbackd#feedback-theme
@@ -36,12 +44,17 @@ Sound feedback
Sound feedbacks specify an event name from a XDG sound theme. Sound themes
are described in the ``Sound theme spec`` at https://freedesktop.org/wiki/Specifications/sound-theme-spec/
- `event-name`: The sound event name to use.
VibraRumble feedback
~~~~~~~~~~~~~~~~~~~~
The `VibraRumble` feedback uses a single property
- `count`: The number of rumbles.
- `pause`: The pause between each rumble in ms.
- `duration`: The duration of the rumble in ms.
- `mangitude`: The relative magnitude of the rumble (``[0, 1]``).
VibraPattern feedback
~~~~~~~~~~~~~~~~~~~~~
+7 -5
View File
@@ -21,14 +21,14 @@ event feedback such as playing a sound, trigger a haptic motor or blink
a LED.
The feedback triggered by a given event is determined by the feedback theme in
use. Events are submitted via a DBus API.
use (see `feedback-themes(5)`). Events are submitted via a DBus API.
Any feedback triggered by a client via an event will be stopped latest when the
client disconnects from DBus. This makes sure all feedbacks get canceled if the
app that triggered it crashes.
For details refer to the event and feedback theme specs at
`<https://gitlab.freedesktop.org/agx/feedbackd/>`__
`<https://gitlab.freedesktop.org/agx/feedbackd/>`__.
Feedbackd reloads the feedback theme on `SIGHUP` (i.e. `pkill -HUP feedbackd`).
@@ -49,19 +49,21 @@ These gsettings are used by ``feedbackd``:
- `org.sigxcpu.feedbackd`
- `profile`: The current overall feedback profile
- `profile`: The current overall feedback profile. Valid values are
`full`, `quiet` and `silent`.
- `allow-important`: List of apps that can override the feedback level
(useful for e.g. allowing the alarm clock to also emit sound when
device is in silent mode).
- `prefer-flash`: Prefer camera flash over status LED
- `theme`: The feedback theme to use. This can be used to override
the feedback theme picked by feedbackd based on device information.
- `max-haptic-strength`: Limits th maximum strenght used for the
- `max-haptic-strength`: Limits th maximum strength used for the
haptic motor `[0.0, 1.0]`.
- `org.sigxcpu.feedbackd.application`
- `profile`: Per application profile levels
- `profile`: Per application profile levels. Valid values are
`full`, `quiet` and `silent`.
See also
========