Commit Graph
517 Commits
Author SHA1 Message Date
Guido Günther 521de770c8 doc: Make mardown lint happy
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-05 11:30:50 +00:00
Guido Günther d974deb6bc ci: Add consistency check
Simplifies releases

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-05 11:30:50 +00:00
Guido Günther cae5aba0cc build: Make doc warnings fatal
This restructure showed that we introduce them just so easily

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-05 11:30:50 +00:00
Guido Günther 2bd2f549c0 ci: Check meson file formats
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-05 11:30:50 +00:00
Guido Günther 99cc84c646 build: Format meson files
This will make adding future files less noisy.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-05 11:30:50 +00:00
Guido Günther fe17c6d5ee ci: Update shared scripts and dot files to 0ed15ed 2025-03-05 11:30:50 +00:00
Guido Günther 73d5a02bfc libfeedback: Make libfeedback.h only include other files
Move the init functions to their own header so we don't clutter
libfeedback.h more in the future.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-05 11:30:50 +00:00
Guido Günther d36ac3162c Merge branch 'stop-flash-led' into 'main'
feedback-led: Ensure flash LED is stopped when prefer-flash is false

Closes #82

See merge request Librem5/feedbackd!153
2025-02-14 17:25:55 +00:00
Sam Day 21f9176e5e feedback-led: Ensure flash LED is stopped when prefer-flash gets disabled
Fixes: #82

Signed-off-by: Sam Day <me@samcday.com>
2025-02-07 22:51:09 +01:00
Guido Günther bbe8d5f4db Merge branch 'rel-0.7.0' into 'main'
treewide: Document changes and release 0.7.0

See merge request Librem5/feedbackd!152
2025-02-03 13:48:42 +00:00
Guido Günther efb414765f treewide: Document changes and release 0.7.0 2025-02-03 14:38:51 +01:00
Guido Günther 2bd7d02d38 Merge branch 'custom-sound' into 'main'
Allow to use custom sound files

Closes #81

See merge request Librem5/feedbackd!150
2025-02-03 13:07:25 +00:00
Guido Günther 9969faef0d packaging: Add symbols from 0.7.0
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-01-26 16:12:50 +01:00
Guido Günther 27ff654f9d build: Bump dev versions
Allows us to bump symbols and have proper dependencies in consuming
projects

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-01-26 16:12:50 +01:00
Guido Günther 832d2c3ce5 cli: Allow to provide custom sound file
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-01-26 16:12:50 +01:00
Guido Günther c9c69304e6 feedback-manager: Add sound feedback for custom sound file
If a custom sound is provided for the event, use that instead of the one
from the theme. We always add the sound event, even when the theme
doesn't have sound feedback for that event honoring the users choice.

Closes: https://source.puri.sm/Librem5/feedbackd/-/merge_requests/150

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-01-26 16:12:46 +01:00
Guido Günther 24ed50226e feedback-manager: Parse sound file hint
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-01-26 16:12:13 +01:00
Guido Günther e105a21a1d fbd-dev-sound: Play custom sound file if specified
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-01-26 16:12:13 +01:00
Guido Günther bff82ef14b fbd-feedback-sound: Allow to set file name
This will be preferred over "effect" when set.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-01-26 16:12:13 +01:00
Guido Günther 7d89180dda libfeedback: Allow to set sound-file hint
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-01-26 16:12:13 +01:00
Guido Günther e7df74f5cc data: Document sound-file hint
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-01-26 16:12:13 +01:00
Guido Günther d0f1c3bb28 feedback-manager: Drop fb_found boolean
Just check the elements on the event list. This makes it easier to
extend as we can't forget to toggle the variable.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-01-26 16:11:23 +01:00
Guido Günther 9fd06731ae feedback-manager: Improve readability of add_event_feedbacks()
Save one indent level and add the feedback at the very end. This
makes extending easier.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-01-26 16:04:11 +01:00
Guido Günther 9bb2a528c6 feedback-manager: Split out event feedback preparation
It's becoming gradually more complex so move it to a separate function.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-01-26 14:38:52 +01:00
Guido Günther 1c6ff93333 dir-locals: Set display column
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-01-26 14:38:52 +01:00
Guido Günther 9e36c67d8d Merge branch '0.6-symbols' into 'main'
packaging: Add symbols from 0.6.0

See merge request Librem5/feedbackd!151
2025-01-26 13:20:41 +00:00
Guido Günther 1acb55ef0d packaging: Add symbols from 0.6.0
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-01-26 14:04:48 +01:00
Guido Günther da7065ab25 Merge branch 'rel-0.6.0' into 'main'
treewide: Document changes and release 0.6.0

See merge request Librem5/feedbackd!149
2024-12-21 19:09:14 +00:00
Guido Günther fadae2aa8d treewide: Document changes and release 0.6.0
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-21 20:00:34 +01:00
Guido Günther 2d21a4f2eb Merge branch 'vibra-pattern' into 'main'
Add org.sigxcup.org.Feedback.Haptic interface

Closes #80

See merge request Librem5/feedbackd!147
2024-12-18 16:46:56 +00:00
Guido Günther 7f2283e64a README: Document new API
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-15 18:54:40 +01:00
Guido Günther f639f7d103 feedback-manager: Instantiate .Haptic DBus interface
Make the haptic interface available on the Bus when a haptic
motor is found at daemon startup.

Closes: https://source.puri.sm/Librem5/feedbackd/-/issues/80

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-15 18:54:40 +01:00
Guido Günther 31c7bf7d6b haptic-manager: New object to handle the Haptic DBus interface
To trigger a 200ms rumble at 100%, a 50ms pause and a 300ms rumble at 50%:

   busctl call --user org.sigxcpu.Feedback /org/sigxcpu/Feedback org.sigxcpu.Feedback.Haptic Vibrate 'sa(du)' org.foo.app 3 1.0 200  0.0 50  0.5 300

To cancel an ongoing pattern:

   busctl call --user org.sigxcpu.Feedback /org/sigxcpu/Feedback org.sigxcpu.Feedback.Haptic Vibrate 'sa(du)' org.foo.app 0

The API has lower priority than the event based API to e.g.  not miss
incoming phone calls or cell broadast messages.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-15 18:54:40 +01:00
Guido Günther 93dc859f7d data: Add vibration API
The API is meant to trigger the given vibration pattern on the haptic
device. The pattern is sequence of relative amplitude and duration
pairs. A magnitude of 0.0 indicates a pause.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-15 18:54:40 +01:00
Guido Günther 9cebb2c081 feedback-vibra: Add support for patterns
Add a new class that takes an array of durations and magnitudes.
A magnitude of 0 indicates a pause.

We can consider dropping the VibraRumble class at some point as that
is a special case of VibraPeriodic now however as the feedbacks are
encoded in the themes let's make sure VibraPattern is good API before
deprecating VibraRumble.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-15 18:35:58 +01:00
Guido Günther 386c98c381 dev-vibra: Allow to set magnitude
Allows for more subtle feedback

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-15 18:35:44 +01:00
Guido Günther 58221c7416 feedback-vibra: Allow derived classes to override duration
This allows the derived classes to perform the length duration
calculation.  The parent class can thus still keep track of the total
feedback length.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-15 18:35:25 +01:00
Guido Günther 18f2c88746 feedback-vibra: Clear timer id
Make sure we clear the timer id when vibra ended.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-15 18:35:21 +01:00
Guido Günther 24736b9490 feedback-vibra: Use g_timeout_add_once
Fix some indent while at that

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-15 18:35:17 +01:00
Guido Günther 5ed445a81d feedback-manager: Don't trigger haptic feedbacks when vibra is busy
This just gives odd vibration. Later on we should use priorities to
allow for higher priority events like phone calls to override lower
priority events like e.g. button presses. This is similar to how we want
to handle LED patterns.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-15 18:35:04 +01:00
Guido Günther cdf5fb2b2d feedback-manager: Split out feedback level calculation
This allows to use it from other places too and while at that
documents it.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-15 18:34:35 +01:00
Guido Günther 8a11565cc1 dev-vibra: Allow to check if the device is busy
We accept `NULL` to make the case of no haptic easy to handle.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-15 18:34:28 +01:00
Guido Günther 5238d46968 feedback-rumble: Fix indent
There were some tabs from day 0

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-15 18:34:25 +01:00
Guido Günther b724789ab1 dev-vibra: Untabify
Gbp-Dch: Ignore
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-15 18:34:16 +01:00
Guido Günther 82f65f0231 Merge branch 'clocks' into 'main'
data: Really add gnome-clocks

See merge request Librem5/feedbackd!148
2024-12-15 12:17:09 +00:00
Guido Günther fb64c9dcfb data: Really add gnome-clocks
Fixes d5b2042 ("data: Add gnome-clocks to allow-important list")

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-12 17:36:31 +01:00
Dang Huynh f2e59a4ee0 fbd-ledctrl: Add null pointer check for groups
The set_perms function does not check if getgrnam returns a null
pointer.

This causes the fbd-ledctrl to crash when a non-existent group is
passed.
2024-11-16 21:35:40 +01:00
Guido Günther 9e6c1aba16 Merge branch 'readme' into 'main'
doc: Modernize README a bit

See merge request Librem5/feedbackd!145
2024-10-07 07:30:00 +00:00
Guido Günther 0190e032f9 doc: Modernize README a bit
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-10-02 16:05:55 +02:00
Guido Günther e79b1eec7b ci: Drop duplicate format check 2024-10-02 16:05:55 +02:00