ماوس، قلم و تاچپد. همهٔ ژستهای TDS روی Pointer Events سوار شدهاند و برای هر ژست لمسیِ بیمعنا در دسکتاپ، جایگزین صریح دارند.
ژست را بر پایهٔ قابلیت بسنجید، نه نام دستگاه.
| ویژگی | مقدار | معنا برای ژست |
|---|---|---|
| کپی کد | … | ماوس/تاچپد/قلم؛ هدفهای ریزتر قابلقبول است ولی حداقل هدف TDS همچنان ۴۴px است. |
| کپی کد | … | لمس؛ ژستهای لمسی و دکمههای جایگزین بزرگ ضروریاند. |
| کپی کد | … | هرگز عملی را فقط پشت hover نگذارید؛ لمس hover ندارد. |
| کپی کد | … | عدد ≥ ۲ یعنی ژست دوانگشتی (pinch/rotate) ممکن است. |
نوع اشارگر، فشار و دکمه را زنده ببینید. کلیک راست را هم امتحان کنید.
ماوس، قلم و لمس هر کدام pointerType خود را دارند؛ pointercancel یعنی مرورگر ژست را برداشته است.
| ژست لمسی | ماوس / تاچپد | نکته |
|---|---|---|
| سوایپ | دکمهٔ صریح کنار آیتم یا منوی بیشتر | سوایپ ماوس پنهان و غیرقابلکشف است؛ دکمه کافی است. |
| فشار طولانی | کلیک راست یا دکمهٔ «گزینهها» | رویداد کپی کد پس از فعالشدن ژست مهار میشود تا منوی سیستم روی منوی TDS نیفتد. |
| کشیدن برای بازخوانی | دکمهٔ «بازخوانی» | ژست فقط برای لمس/قلم است. |
| Pinch | Ctrl + چرخ، pinch تاچپد، دکمهها | مرورگر pinch تاچپد را به wheel با ctrlKey ترجمه میکند؛ هوک آن را میپذیرد. |
| چرخش | دکمههای چرخش | ماوس دو اشارگر ندارد. |
// ردیابی یک اشارگر روی window تا حرکت سریع از عنصر بیرون نزندimport { trackPointer } from '@tokapps/gestures';el.addEventListener('pointerdown', (e) => { const stop = trackPointer(e.pointerId, { move: (ev) => update(ev.clientX, ev.clientY), end: (reason) => finish(reason), // 'up' | 'cancel' | 'escape' });});