مصطفی دولو
مصطفی دولو
خواندن ۴ دقیقه·۴ سال پیش

حل مشکل دابل کلیک شدن ماوس و تاچ پد لب تاپ

ده سال پیش برای کار طراحی نیاز به یک ماوس حرفه داشتم برای همین یک ماوس GAME با امکانات زیاد گرفتم، بعد از حدود 5 سال کار کردن یک مشکلی به وجود آمد که بسیار آزار دهنده بود.
زمانی که یک کلیک با ماوس می کردم عملا دو کلیک همزمان میخورد، پس از بررسی و جستجوی فراوان در اینترنت به راه های زیادی خوردم که بیشتر شبیه به شوخی بود تا راه حل! به عنوان مثالی در سایتی دیدم که نوشته بود "برای حل مشکل ماوس خود را با یک ماوس جدید عوض کنید!" یا در جایی دیگر به عنوان راه حل نوشته بود "اگر تاچ پد لب تاپ شما ناخواسته دو بار کلیک میکند به تعمیرگاه مراجعه کنید! "
از فضایل شیخ ما این است، می خورد شهد و می گوید شیرین است! دیدم که سایت های ایرانی فقط به عشق سئو مطالب می نویسند که کاربردی نیست، دست بکار شدم و شروع کردم به جستجو در سایت های آن ور آبی.

علت این مشکل پدیده ای به نام bouncing است که در کلید ها و سوییچ های قدیمی و یا بی کیفیت رخ می دهد.(در رشته خودمان الکترونیک هم این یک معضل به حساب می آید) هنگامی که شما با ماوس یک کلیک می کنید عملا سوییچی را فشار میدهید که آن را باز و بسته می کنید(یک کلیک) اما در پدیده bouncing با یکبار کلیک کردن (فشار دادن سوئیچ داخل ماوس) به جای یکبار قطع و وصل چندین بار کلید باز و بسته می گردد و معمولا این باز بسته شدن در مقیاس میلی ثانیه و میکرو ثانیه است و با چشم انسان قابل مشاهده نیست.

کلید سوئیچ های داخل ماوس که مسبب این مشکل هستند.
کلید سوئیچ های داخل ماوس که مسبب این مشکل هستند.


پدیده بانسینگ که در داخل سوئیچ های ماوس و یا تاچ پد لپ تاپ رخ می دهد.
پدیده بانسینگ که در داخل سوئیچ های ماوس و یا تاچ پد لپ تاپ رخ می دهد.

اما چگونه می توان این مشکل را حل نمود؟

عملا برای Debouncing کردن دو راه حل کلی وجود دارد:

1- راه حل های سخت افزاری

راه حل های سخت افزاری شامل طیف گسترده ای همچون تعویض سوئیچ های خراب شده ماوس با سوئیچ های سالم و یا اضافه نمودن فیلتری پایین گذر( که چون ساختار کلیک اکثر ماوس ها PWM است، این مورد جواب گو نیست) و غیره می باشد، که چون راه حل سخت افزاری نیازمند وقت و ابزار هست از آن صرف نظر میکنیم.

2-راه حل های نرم افزاری

در اینجا ما آموزش نرم افزاری را توضیح خواهیم داد.

برای Debouncing بصورت نرم افزاری بهترین راه حل و آسان ترین راه قرار دادن Delay یا تاخیر در هر کلیک ماوس است. به این صورت که برنامه ای بنویسیم که مثلا در هر 0.1 ثانیه یا هر 100 میلی ثانیه فقط یکبار کلیک آن خوانده شود.

برای اینکار ابتدا نرم افزار X Mouse Button Control از
https://www.highrez.co.uk/downloads/xmousebuttoncontrol.htm
یا
http://s13.picofile.com/file/8399081684/XMouseButtonControlSetup_2_19_2.exe.html
دانلود کنید و بر روی لینک last version کلیک کنید. پس از نصب برنامه از طریق منوی Setting قسمت De-bouncing را فعال نموده و سپس عدد 50 الی 300 میلی ثانیه را در آن وارد کنید. ( مطابق تصویر زیر) عدد 100 میلی ثانیه مناسب ترین عدد می باشد.

پس از اعمال تغییرات گزینهok و سپس Apply را زده، پس از آن مشاهده می کنید که مشکل دابل کلیک شدن ماوس درست می گردد، توسط این برنامه ماوس طوری تنظیم می گردد که تنها هر 100 میلی ثانیه فقط یک کلیک از ماوس خوانده شود، یعنی اگر شما هزاران کلیک هم در بازه 100 میلی ثانیه انجام دهید، تنها یک کلیک از آن توسط ویندوز خوانده میشود.

از کار با ماوس و یا تاچ پد لب تاپ خود لذت ببرید!

می‌نویسم پس هستم.
شاید از این پست‌ها خوشتان بیاید