Guido Günther
78d82207e5
doc: Document missing VibraRumble properties
...
Fixes f089ad2 ("vibra-rumble: Add magnitude property")
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-04-24 12:57:24 +02:00
Guido Günther
047f83c6b3
doc: Fix typo
...
Gbp-Dch: Ignore
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-04-24 12:57:24 +02:00
Guido Günther
673d372aa0
Merge branch 'ci-fairy' into 'main'
...
ci: Add ci-fairy check
See merge request agx/feedbackd!171
2025-04-23 20:25:51 +00:00
Guido Günther
69a5174f5f
ci: Add ci-fairy check
...
This makes sure we have Signed-off-by:
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-04-23 22:22:02 +02:00
Guido Günther
44e57d78b7
Merge branch 'main' into 'main'
...
Allow constant lighting of notification LED through the setting of frequency in theme.json to zero.
See merge request agx/feedbackd!169
2025-04-23 20:02:12 +00:00
Guido Günther
b181c942ad
Merge branch 'repo-url' into 'main'
...
treewide: Update repo URLs
See merge request agx/feedbackd!168
2025-04-21 12:44:02 +00:00
Guido Günther
b62ce975f3
README: Add CoC
...
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-04-20 22:59:13 +02:00
Guido Günther
01d909d4f3
treewide: Update repo URLs
...
We leave changelog and NEWS untouched as they track history.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-04-20 22:37:25 +02:00
Guido Günther
eab27ae67a
Merge branch 'ci' into 'main'
...
ci: Update for fdo
See merge request agx/feedbackd!167
2025-04-20 20:01:01 +00:00
Guido Günther
a78941f1d8
ci: Allow coverage collection to fail
...
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-04-20 21:51:42 +02:00
Guido Günther
384ec20357
ci: Update for fdo
...
Drop the now unneeded tags and the arm64 build
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-04-20 21:46:53 +02:00
Guido Günther
867771a25a
treewide: Document changes and release 0.8.1
...
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-29 12:18:10 +01:00
Guido Günther
61e30a7444
packaging: Add Breaks on older device themes
...
This makes sure they don't throw any criticals
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-29 12:18:10 +01:00
Guido Günther
e8ecc3d0c1
libfeedback: Only cancel feedbacks if ever inited
...
If lfb_init() wasn't called before lfb_uninit() we'd otherwise raise a
critical which isn't nice for a library.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-25 21:55:34 +01:00
Guido Günther
98f2c6a01d
treewide: Document changes and release 0.8.0
2025-03-21 19:20:56 +01:00
Guido Günther
3d062c0952
default/theme: Use [0.0, 1.0] for vibra-periodic
...
We switch `message-new-cellbroadcast` to VibraPeriodic as that is better
recognizable than the periodic pattern.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-21 12:15:57 +01:00
Guido Günther
c37bfecbe0
vibra-periodic: Add a fallback for the previous [0, 0xFFFF] range
...
This keeps old themes working
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-21 12:15:57 +01:00
Guido Günther
da93a16cda
vibra-periodic: Deserialize magnitude and fade-in-level manually
...
This allows us to add proper fallbacks
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-21 12:15:56 +01:00
Guido Günther
91c34f4099
vibra-periodic: Use better defaults for fade-in-*
...
Lets start at zero when not specified otherwise and also set an
arbitrary fade-in-time as setting it to the duration isn't very helpful.
While at that move the defaults to the feedback rather than the device
so we ensure consistency over different device implementations.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-21 12:14:55 +01:00
Guido Günther
89b33dcbab
vibra-periodic: Use same range as in rumble and periodic
...
We use [0.0, 1.0] in the other haptic feedbacks so let's make periodic
do the same.
We adjust dev-vibra to match that.
Closes: https://source.puri.sm/Librem5/feedbackd/-/issues/86
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-21 12:14:55 +01:00
Guido Günther
f94de01a85
vibra-periodic: Modernize doc comment and property definitions
...
Also untabify. No functional change.
Gpb-Dch: Ignore
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-21 12:14:55 +01:00
Guido Günther
cf0a420c3f
doc: Mention theme reload on SIGHUP
...
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-21 12:14:55 +01:00
Guido Günther
7b026b40cc
dev-vibra: Allow full magnitude in rumble
...
Lets not artificially cap the magnitude in the device specific
implementation.
Since the default magnitude for the common rumble feedback was set to
0.5 in the previous commit the effective magnitude in existing themes
remains unchanged for that event.
The pattern feedbacks didn't make it into a release yet so there's
nothing that could get broken.
The change doubles the effective when using the Vibra DBus API but as it
seems that libmanette didn't land support yet lets just ignore that
here.
Periodic feedback is unaffected as it uses a different internal API.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-20 07:48:42 +00:00
Guido Günther
f089ad2fd0
vibra-rumble: Add magnitude property
...
We add a magnitude property and set it to 0.5 by default. This ensure
the relative magnitude stays the same when switching from 0xFFFF to
0x7FFF in dev-vibra.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-20 07:48:42 +00:00
Guido Günther
24aafefd0a
data: Make button press feedback less intrusive
...
This way it can be kept enabled in more situations.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-16 09:29:58 +00:00
Guido Günther
5da0e4ff5d
data: Add an event for notification-new-generic
...
We didn't do so until now to not make people go crazy with buzzing
phones. Now that we can fine tune the feedback strength better lets see
how this works.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-16 09:29:58 +00:00
Guido Günther
41c1521790
vibra-periodic: Honor max strength
...
Since we scale down the magnitude we also scale down the fade in level
to keep the ratio between the two the same.
Closes: https://source.puri.sm/Librem5/feedbackd/-/issues/84
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-09 12:28:08 +01:00
Guido Günther
6d6cd905fc
vibra-rumble: Honor max haptic strength
...
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-09 12:28:08 +01:00
Guido Günther
cc02a4d48a
vibra-pattern: Honor max haptic strength
...
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-09 12:28:08 +01:00
Guido Günther
bb1b5d0e1f
feedback-vibra: Add and track max-haptic-strength gsetting
...
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-09 12:28:08 +01:00
Guido Günther
8e4f15758b
data: Refresh schema when it changed
...
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-08 22:14:54 +01:00
Guido Günther
85c4545adf
doc: Document the VibraPattern feedback
...
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-06 11:00:05 +01:00
Guido Günther
7b19feb25f
fbd-feedback-vibra-pattern: Deserialize properties
...
This allows us to use them in feedback themes
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-06 11:00:04 +01:00
Guido Günther
54060b4e38
vibra-pattern: End pending vibra when a new one is triggered
...
This wasn't much of an issue for the DBus API but when using
it as event feedback it matters as we might start the new
feedback just before the old one ended due to timers being
slighlty late.
2025-03-06 10:57:37 +01:00
Guido Günther
e92df04e80
vibra-pattern: Check for NULL dev
...
When running e.g. in the theme validator we might not have a vibra dev.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-06 10:57:37 +01:00
Guido Günther
88dd60413e
vibra-pattern: Reset pos when done
...
This allows to reuse the feedback.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-06 10:57:37 +01:00
Guido Günther
70fd0a8759
data/haptic: Document duration unit in the protocol
...
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-06 10:57:37 +01:00
Guido Günther
836fbe0920
treewide: Fix typos
...
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-06 10:57:37 +01:00
Guido Günther
b5b16c09b6
ci: Make yamllint happy
...
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-05 11:30:50 +00:00
Guido Günther
47772ce2dc
README: Add getting in touch section
...
Signed-off-by: Guido Günther <agx@sigxcpu.org >
2025-03-05 11:30:50 +00:00
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
efb414765f
treewide: Document changes and release 0.7.0
2025-02-03 14:38:51 +01: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
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
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
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
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
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
Guido Günther
f629ef431c
theme: Add notification-missed-new
...
We'll remove message-new-notification somewhat later to not break
existing themes.
This reverts commit 5cc9713984778e61c4218e8ff6d896324cba5d5d.
2024-10-02 14:48:01 +02:00
Guido Günther
a069f4b9e2
event-naming-spec: Expand on notifiction events
...
We move them to the system category as the notification server
is a system component and add an event for now notifictions
for the notification server to use
2024-10-02 14:48:01 +02:00
Guido Günther
97ed5a2bdd
event-naming-spec: Copy-edit
...
Gbp-Dch: Ignore
2024-10-02 14:48:01 +02:00
Guido Günther
ec843deb13
event-naming-spec: Fix section description
2024-10-02 14:48:01 +02:00
Guido Günther
d9877e7d5c
packaging: Tweak package description a bit
2024-09-27 13:49:45 +02:00
Guido Günther
b978509d29
treewide: Document changes and release 0.5.0
2024-09-27 13:47:09 +02:00
Guido Günther
f4564a4fc8
packaging: Better handle RC version when updating changelog
...
This allows us to switch from RCs to releases without manual
effort.
2024-09-27 13:45:55 +02:00
Guido Günther
d5b2042475
data: Add gnome-clocks to allow-important list
...
This will allow us to drop the override from phosh
2024-09-27 07:27:08 +00:00
Guido Günther
2293393999
data: Allow alert-slider to override the feedback level
...
This allows the alert-slider to also emit feedback when phone is in
silent mode.
2024-09-27 07:27:08 +00:00
Guido Günther
7ea55aeaf5
data: Add systemd unit to start alert slider service
2024-09-27 07:27:08 +00:00
Guido Günther
0a2392db3f
fbd-alert-slider: Small service to track alert sliders
...
This tracks the alert slider on OnePlus 6/6T devices
and adjusts the profile level accordingly.
This is based on a script by "isyourbrain foss" in the Phosh matrix
channel.
2024-09-27 07:27:08 +00:00
Guido Günther
8c27a8f5d2
data: Allow logged in users to access the alert slider
2024-09-27 07:27:08 +00:00
Guido Günther
dc12f3016f
theme: Add events for cellbroadcast
2024-09-23 12:18:26 +00:00
Guido Günther
9007766fa9
udev: Add support for haptics on Oneplus Enchilada / Fajita
...
The spmi_haptics driver isn't in mainline Linux as of Linux 6.11.
2024-09-07 16:12:01 +02:00
Guido Günther
6f03552249
doc: Document gsettings used by feedbackd
2024-08-30 12:19:31 +02:00
Guido Günther
511fbd73e8
packaging: Use pkgconf
...
It's prefered over pkg-config in Debian
2024-08-20 15:44:33 +02:00
Guido Günther
8c209e6c47
packaging: Install NEWS and README
...
They contain useful information
2024-08-20 15:44:33 +02:00
Guido Günther
1cca52033c
packaging: Update lintian overrides
2024-08-20 15:44:33 +02:00
Guido Günther
fe51ceed9f
packaging: Drop unused file
...
And fix typo while at that
Gbp-Dch: Ignore
2024-08-20 15:44:21 +02:00
Guido Günther
3331f179f9
treewide: Document changes and release 0.4.1
2024-08-12 22:56:17 +02:00