عیبیابی سختافزار موس و شناسایی لرزش سوئیچ (Chattering)
سوئیچهای مکانیکی موس به مرور زمان و بر اثر استفاده مداوم دچار فرسودگی میشوند. یکی از رایجترین نشانههای این فرسودگی، پدیده لرزش کنتاکت یا چترنیگ (Chattering) است. در این حالت، صفحات فلزی داخل سوئیچ پس از فشرده شدن، به جای یک اتصال پایدار، چندین بار به سرعت به یکدیگر برخورد میکنند. این رفتار فیزیکی باعث میشود که سیستمعامل یک فشار ساده کلیک را به عنوان دو یا چند کلیک پیاپی و بسیار سریع ثبت کند.
ابزار تست دکمههای موس با هدف تشخیص دقیق این قبیل مشکلات سختافزاری طراحی شده است. این ابزار با ثبت زمان دقیق رویدادهای Down (فشردن دکمه) و Up (رها کردن دکمه)، فاصله زمانی بین فشردنهای متوالی را اندازهگیری میکند. به طور پیشفرض، یک پنجره زمانی ۴۰ میلیثانیهای (40 ms) به عنوان آستانه تشخیص دوبار-کلیک ناخواسته در نظر گرفته شده است. از آنجا که عضلات دست انسان به ندرت قادرند یک دکمه را با فاصلهای کمتر از این آستانه دو بار به صورت عمدی فشار دهند، هرگونه ثبت کلیک مجدد در این بازه کوتاه، به عنوان خطای سختافزاری سوئیچ در نظر گرفته میشود.
نحوه کارکرد و پردازش رویدادها در مرورگر
هنگامی که نشانگر خود را به بخش «محدوده تست» هدایت میکنید، این ابزار به صورت زنده شروع به شنود و ثبت رویدادهای ورودی میکند. پردازش تمام ورودیهای موس به طور کامل در مرورگر کاربر انجام میشود. هیچ دادهای به سرورهای خارجی ارسال یا ذخیره نمیگردد و با بستن صفحه یا کلیک بر روی دکمه «پاک کردن گزارش»، تمامی تاریخچه ثبتشده به طور کامل و برای همیشه از حافظه مرورگر حذف میشود.
این ابزار برای موس یا ترکپد ساخته شده است. ضربهها همچنان به عنوان رویدادهای لمسی ثبت میشوند، اما بررسی دکمهها و چرخ موس به یک موس واقعی نیاز دارد.
این ابزار اطلاعات دریافتی را در قالب بخشهای زیر دستهبندی کرده و نمایش میدهد:
- آخرین رویداد: نمایش جزئیات دقیق آخرین اکشن انجامشده شامل نوع نشانگر، موقعیت و دکمههای درگیر.
- شاخصهای وضعیت: نمایش وضعیتهای سیستم مانند «برای شروع، در محدوده تست کلیک یا اسکرول کنید» یا «در حال گوش دادن به ورودیهای موس».
- راهنمای بصری: استفاده از کدهای رنگی برای دکمههای «نگهداشته شده»، «تستشده» و «دوبار-کلیک ناخواسته».
- پنل آمار: نمایش خلاصه وضعیت شامل «دکمههای تستشده»، «مجموع فشردنها»، «دوبار-کلیکهای ناخواسته» و «پلههای اسکرول».
جدول زیر ساختار دادههایی را که در بخش «بررسی دوبار-کلیک ناخواسته» و «گزارش رویدادها» ثبت میشوند نشان میدهد:
| ستونهای گزارش رویدادها | ستونهای بررسی دوبار-کلیک | مقادیر و جزئیات قابل نمایش |
|---|---|---|
| زمان | دکمه | ثبت دقیق زمان وقوع رویداد به میلیثانیه |
| رویداد | تعداد فشردن | Down، Up، دوبار کلیک، چرخ ماوس |
| دکمه | حداقل فاصله | Left، Right، Middle، Back، Forward، Wheel، دکمه {number} |
| جزئیات | - | موقعیت، دکمههای نگهداشته شده، فاصله زمانی، مدت نگهداشتن، نوع نشانگر (mouse، pen، touch) |
مدیریت کلیدهای اصلاحکننده و تفاوتهای سیستمعامل
سیستمهای عامل و مرورگرهای مختلف، رویدادهای سختافزاری موس را به شکلهای متفاوتی تفسیر و ارسال میکنند. این ابزار تلاش میکند تا رفتارهای استاندارد را یکپارچه کند، اما برخی محدودیتهای پلتفرمی و ساختاری وجود دارند که باید از آنها آگاه باشید:
رفتار کلید راستکلیک
برای اینکه بتوان راستکلیکهای متوالی را بدون مزاحمت اندازهگیری کرد، منوی راستکلیک سنتی مرورگر در «محدوده تست» غیرفعال شده است. با این حال، دو استثنای فنی وجود دارد:
۱. در مرورگر Firefox، فشردن کلیدهای ترکیبی Shift + راستکلیک تحت هر شرایطی منوی مرورگر را باز میکند و این رویداد توسط ابزار ثبت نخواهد شد.
۲. در سیستمعامل macOS، فشردن کلید Ctrl + کلیک به صورت ساختاری توسط سیستمعامل به عنوان راستکلیک تفسیر و به مرورگر ارسال میشود.
دکمههای کناری و ناوبری
دکمههای کناری موس (معمولاً دکمههای چهارم و پنجم که به عنوان Back و Forward شناخته میشوند) در حالت عادی برای جابهجایی در تاریخچه صفحات وب استفاده میشوند. این ابزار کدهای پیشفرض ناوبری این دکمهها را در محدوده تست مسدود میکند تا بتوانید سلامت آنها را بسنجید. با این حال، برخی سیستمعاملها یا مرورگرها مانند Firefox در توزیعهای Linux، این رویدادها را پیش از رسیدن به لایه وبسایت به طور کامل تصاحب میکنند که مانع از ثبت آنها در صفحه میشود.
فیزیک چرخ موس و واحدهای اندازهگیری اسکرول
چرخ موس (Scroll Wheel) برخلاف دکمههای فشاری، مقادیر حرکتی را به صورت پلهای ارسال میکند. مرورگرهای مختلف بسته به سیستمعامل و تنظیمات کاربر، میزان جابهجایی چرخ موس را با واحدهای متفاوتی گزارش میدهند. این واحدها در بخش جزئیات رویداد چرخ موس به یکی از سه شکل زیر نمایش داده میشوند:
- pixels: مقدار جابهجایی بر اساس پیکسلهای صفحه محاسبه میشود که معمولاً عددی بزرگتر است.
- lines: جابهجایی بر اساس خطوط متنی استاندارد محاسبه میشود.
- pages: اسکرولهای بلند که معادل جابهجایی یک صفحه کامل هستند.
به دلیل این تفاوتهای ساختاری در تفسیر مرورگرها، هنگام تست چرخ موس در مرورگرهای مختلف، نباید اعداد خام دلتا را ملاک مقایسه قرار داد؛ بلکه معیار صحیح، بررسی جهت حرکت (Up، Down، Left، Right) و ثبت درست تعداد پلههای اسکرول است.
پرسشهای متداول
موس من با یک بار فشردن، دوبار کلیک میکند — آیا این ابزار میتواند آن را تأیید کند؟
بله. دکمه مشکوک را با کلیکهای تکی و آگاهانه فشار دهید: هر بار فشردن باید دقیقاً یک Down و یک Up ثبت کند. فشردن اضافی که در بازه زمانی تعیینشده (به طور پیشفرض 40 ms) رخ دهد، به عنوان دوبار-کلیک ناخواسته علامتگذاری و شمرده میشود — تکرار این الگو در فشردنهای متوالی نشاندهنده فرسودگی سوئیچ است، نه مشکل نرمافزاری. یک دکمه سالم تقریباً هرگز با دست به این سرعت دو بار کلیک نمیشود، بنابراین فقط در صورتی این بازه را افزایش دهید که عمداً بسیار سریع کلیک میکنید.
چرا منوی راستکلیک در محدوده تست باز نمیشود؟
این محدوده منوی راستکلیک را غیرفعال میکند تا راستکلیکها هم مانند هر دکمه دیگری شمرده شوند؛ خارج از این محدوده، منو طبق معمول کار میکند. دو استثنا وجود دارد که صفحه نمیتواند آنها را نادیده بگیرد: در Firefox، کلید ترکیبی Shift + راستکلیک همیشه منو را باز میکند و شمرده نمیشود، و در Mac، کلید ترکیبی Ctrl + کلیک به صورت پیشفرض به عنوان راستکلیک ثبت میشود.
چرا دکمههای کناری موس من ثبت نمیشوند؟
بسیاری از مرورگرها دکمههای Back و Forward را برای ناوبری تاریخچه رزرو میکنند و برخی از آنها قبل از اینکه صفحه متوجه فشردن شود، آنها را دریافت میکنند — این محدوده تست تا جایی که مرورگر اجازه دهد این رفتار را غیرفعال میکند، اما نه در همه جا. مرورگر Firefox در Linux ممکن است اصلاً دکمههای کناری را گزارش نکند. اگر این دکمهها در اینجا ثبت نمیشوند اما در برنامههای دیگر کار میکنند، مرورگر آنها را رهگیری کرده است و این به معنای خرابی موس نیست.
چرا یک اسکرول مشابه در مرورگر دیگر اعداد دلتای متفاوتی را نشان میدهد؟
میزان اسکرول بسته به مرورگر و پلتفرم بر حسب pixels، lines یا pages ارسال میشود و بخش نمایش اطلاعات مشخص میکند که هر رویداد از کدام واحد استفاده کرده است. مقدار پیکسل همیشه برای یک پله اسکرول بسیار بزرگتر از مقدار خط است. جهت اسکرول و تعداد پلهها را بین مرورگرها مقایسه کنید، نه اعداد خام دلتا را.