feedback-themes() feedback-themes()

feedback-themes - قالب پوسته‌ها و بازخوردهای حسی/صوتی feedbackd

بازخورد ارائه‌شده به کاربر برای هر رویداد، توسط پوستهٔ بازخورد فعال تعیین می‌شود.

هر پوسته از حداکثر سه بخش نمایه به نام‌های full، quiet و silent تشکیل شده است که حاوی نام رویدادها و بازخوردهای مرتبط با آن‌ها است. آن‌ها می‌توانند از طریق عنصر parent-name به پوستهٔ دیگری ارجاع دهند تا از تکرار جلوگیری شود. اگر رویدادی که توسط دیمن دریافت می‌شود در پوستهٔ فعال یا پوستهٔ والد آن موجود نباشد، نادیده گرفته خواهد شد.

هر رویداد در هر نمایه به حداکثر یک بازخورد نگاشت می‌شود. نام‌گذاری رویدادها در پوسته طبق سند مشخصات نام‌گذاری رویدادها (Event Naming Specification) انجام می‌شود: https://gitlab.freedesktop.org/agx/feedbackd/-/blob/main/doc/Event-naming-spec-0.0.0.md.

دو نوع پوسته وجود دارد: پوسته‌های سفارشی (custom) و پوسته‌های دستگاه (device). هر دو از قالبی یکسان استفاده می‌کنند اما اهداف متفاوتی دارند. پوسته‌های سفارشی برای تنظیم خروجی feedbackd متناسب با نیازهای کاربر در نظر گرفته شده‌اند، در حالی که پوسته‌های دستگاه برای تطبیق با تفاوت‌های سخت‌افزاری به کار می‌روند. پوسته‌های بازخورد از قالبی بر پایهٔ JSON استفاده می‌کنند که می‌توان آن را با fbd-theme-validate(1) اعتبارسنجی کرد.

برای جزئیات بیشتر در مورد نحوه ایجاد یا ویرایش پوسته‌های بازخورد، مستندات feedbackd را در نشانی زیر ببینید: https://gitlab.freedesktop.org/agx/feedbackd#feedback-theme.

برای ساخت یک پوسته می‌توانید از چندین نوع بازخورد مختلف استفاده کنید:

  • Sound: پخش صدایی از پوستهٔ صوتی نصب‌شده
  • VibraRumble: یک لرزش منفرد با استفاده از موتور بازخورد لمسی (haptic)
  • VibraPeriodic: یک لرزش دوره‌ای با استفاده از موتور بازخورد لمسی
  • VibraPattern: الگویی مشخص‌کننده برای نحوه لرزش موتور بازخورد لمسی
  • Led: چشمک‌زدن نشانگر LED با یک الگوی دوره‌ای

بازخوردهای صوتی نام یک رویداد را از پوستهٔ صوتی XDG مشخص می‌کنند. پوسته‌های صوتی در مشخصات پوسته صوتی در نشانی زیر شرح داده شده‌اند: https://freedesktop.org/wiki/Specifications/sound-theme-spec

  • event-name: نام رویداد صوتی مورد استفاده.
  • media-role: نقش رسانه‌ای برای جریان صوتی پخش‌شده. پیش‌فرض event است.

بازخورد Sound معمولاً فقط در بخش نمایهٔ full در پوسته استفاده می‌شود.

بازخورد VibraRumble از این ویژگی‌ها استفاده می‌کند:

  • count: تعداد دفعات لرزش.
  • pause: مکث بین هر لرزش بر حسب میلی‌ثانیه.
  • duration: مدت‌زمان لرزش بر حسب میلی‌ثانیه.
  • mangitude: شدت و بزرگی نسبی لرزش ([0, 1]).

بازخورد VibraRumble معمولاً فقط در بخش نمایهٔ quiet در پوسته استفاده می‌شود.

بازخورد VibraPattern دارای این ویژگی‌ها است:

  • magnitudes: شدت و بزرگی نسبی هر لرزش [0, 1] به صورت آرایه‌ای از اعداد اعشاری (doubles).
  • durations: مدت‌زمان هر لرزش بر حسب میلی‌ثانیه به صورت آرایه‌ای از اعداد صحیح بدون علامت (unsigned integers).

هر دو آرایه باید دارای طول یکسانی باشند. بازخورد VibraPattern معمولاً فقط در بخش نمایهٔ quiet در پوسته استفاده می‌شود.

نوع بازخورد Led از دو ویژگی برای تعیین نحوه چشمک‌زدن LED استفاده می‌کند:

  • color: رنگی را مشخص می‌کند که LED باید با آن چشمک بزند. این ویژگی از نام‌های رنگ ثابت red، green، blue و white و همچنین مقادیر در قالب RGB HEX (#RRGGBB) پشتیبانی می‌کند که در آن RR، GG و BB مقادیر شانزده‌شانزدهی دو رقمی بین 00 و FF هستند و مقدار هر مؤلفه را تعیین می‌کنند؛ به عنوان مثال #00FFFF معادل رنگ فیروزه‌ای است.
  • frequency: فرکانس چشمک‌زدن LED بر حسب میلی‌هرتز (mHz).

بازخورد Led معمولاً فقط در بخش نمایهٔ silent در پوسته استفاده می‌شود.

feedbackd(8) fbcli(1) fbd-theme-validate(1)