هپتیک روی ویندوز؛ لمسِ رابط کاربری
خلاصهٔ کاملتر
تیم Microsoft Design میگه لمس به آدمها کمک میکنه با بازخورد فوری بفهمن دنیای فیزیکی چطور به کارشون واکنش نشون میده، ولی رابطهای دیجیتال اغلب فقط به نشونهٔ دیداری یا شنیداری تکیه میکنن. هپتیک همین حس لامسه رو به تعامل دیجیتال اضافه میکنه، و حالا ویندوز با API تازهٔ InputHapticsManager این بازخورد لمسیِ متنی رو پشتیبانی میکنه تا تجربه روی دستگاههای سازگار یکدست بمونه.
مقاله فرق هپتیک غیرفعال (که مستقیم از خودِ سختافزار میاد) و هپتیک فعال (که دستگاه تولید و نرمافزار کنترلش میکنه) رو روشن میکنه؛ InputHapticsManager همین نوع فعال رو ممکن میکنه. به گفتهٔ نویسنده هپتیک وقتی بیشترین اثر رو داره که کنار بازخورد دیداری و شنیداری به کار بره و دلیلش هم سهتاست: وضوح (تأیید فیزیکی یه عمل)، شمول (دسترسپذیری فراتر از دیدن و شنیدن) و لذت.
ویندوز یه «زبان هپتیک» با ویوفرمهای ازپیشتعریفشده داره که هرکدوم با سه ویژگی توصیف میشن: شدت، افت و تیزی. ویوفرمهای تعامل شامل Hover (اشاره)، Collide (رسیدن به مرز)، Align (چفتشدن به راهنمای تراز)، Step (تغییرهای گسسته) و Grow ـه، و برای نتیجهٔ یه عمل هم Success (الگوی صعودی) و Error (الگوی نزولی) هست. نویسنده تأکید میکنه چون کاربر میتونه شدت رو کم یا هپتیک رو خاموش کنه، تجربه باید بدون هپتیک هم واضح و قابلاستفاده بمونه.
دربارهٔ زمان استفاده، سه اصل مطرح میشه: اول یه رابطهٔ علتومعلولی روشن؛ هپتیک رو برای اکشنهای خودِ کاربر نگه دار و برای فوریبودن، تأخیر رو زیر ۵۰ میلیثانیه بیار. دوم سیگنال بده نه نویز؛ هر تعامل به بازخورد نیاز نداره و فقط جایی به کارش ببر که ارزش اضافه میکنه، مثل تراز اشیا، مقصد رهاکردن (drop)، تیکهای اسلایدر یا لبهٔ صفحه. سوم ثبات؛ ویوفرمها رو برای هدف اصلیشون به کار ببر و الگوها رو قاطی نکن.
برای پیادهسازی، با InputHapticsManager بازخورد رو روی همون دستگاهی که آخرین ورودی رو داده اجرا میکنی و تشخیص دستگاه و fallback خودکار انجام میشه. هستهٔ کار هم همینه:
var mgr = InputHapticsManager.GetForCurrentThread();
mgr.TrySendHapticWaveform(
KnownSimpleHapticsControllerWaveforms.Align,
0);مقاله چند سناریوی عملی رو هم نشون میده. برای تراز اشیا، خودِ ظاهرشدن راهنمای بصری رو تریگر بگیر و برای هر چفتشدن فقط یهبار هپتیک بفرست. برای اسلایدر، هپتیک رو موقع ردشدن از هر تیک اجرا کن نه بهطور پیوسته، و با اورلود سهپارامتری TrySendHapticWaveform میتونی شدت (بین 0.0 تا 1.0) رو به موقعیت اسلایدر نگاشت کنی. برای درگی که از مرزهای زیادی رد میشه هم دو راه هست: فیلتر سرعت (سرکوب هپتیک بالای یه آستانهٔ سرعت، که واکنشگراست ولی تنظیم دقیق میخواد) و دیبانس زمانی (شروع یه تایمر کوتاه مثلاً ۵۰ میلیثانیه و اجرای هپتیک اگه شیء همونجا بمونه، که سادهتر و پایدارتره).
نکات کلیدی:
- ویندوز با API تازهٔ InputHapticsManager هپتیک فعال و متنی رو پشتیبانی میکنه
- زبان هپتیک ویوفرمهای آماده داره: Hover، Collide، Align، Step، Grow، Success و Error
- هپتیک باید رابطهٔ علتومعلولی روشن داشته باشه و تأخیرش زیر ۵۰ میلیثانیه بمونه
- هر تعامل به هپتیک نیاز نداره؛ فقط جایی که ارزش اضافه میکنه به کارش ببر
- تجربه باید موقع خاموشبودن هپتیک هم واضح و قابلاستفاده بمونه
- برای درگ، فیلتر سرعت یا دیبانس زمانی جلوی سرریز بازخورد رو میگیره




