Key Chatter อธิบาย: ทำไมการกดปุ่มครั้งเดียวบางครั้งถึงลงทะเบียนสองครั้ง
คุณพิมพ์คำหนึ่ง แล้วตัวอักษรหนึ่งตัวปรากฏขึ้นสองครั้ง — "hello" กลายเป็น "helllo" — ทั้งที่คุณมั่นใจว่ากดปุ่มแค่ครั้งเดียว นี่ไม่ใช่การพิมพ์ผิด และไม่ใช่จินตนาการของคุณ มันเรียกว่า key chatter และเป็นปรากฏการณ์ทางกายภาพที่เกิดขึ้นจริงภายในสวิตช์
สิ่งที่เกิดขึ้นในระดับสวิตช์
ทุกปุ่ม ไม่ว่าจะเป็นสวิตช์ mechanical หรือโดม membrane จะปิดหน้าสัมผัสทางไฟฟ้าเมื่อคุณกดมันลง หน้าสัมผัสนั้นไม่ได้ปิดอย่างสะอาดในการเคลื่อนไหวที่ราบรื่นเสมอไป — มันสามารถกระเด้งทางกายภาพได้ สร้างและตัดการสัมผัสสองสามครั้งภายในไม่กี่มิลลิวินาทีก่อนที่จะนิ่งอยู่ในสถานะปิดที่มั่นคง
เฟิร์มแวร์ของคีย์บอร์ดควรจะจัดการเรื่องนี้โดยอัตโนมัติผ่านกระบวนการที่เรียกว่า debouncing: มันจะเพิกเฉยต่อการกระเด้งสั้น ๆ นั้นและรายงานการกดปุ่มที่สะอาดเพียงครั้งเดียว เมื่อ debouncing ทำงานได้อย่างถูกต้อง คุณจะไม่มีวันสังเกตว่าการกระเด้งนั้นเกิดขึ้นเลย Chatter คือสิ่งที่เกิดขึ้นเมื่อมันไม่ทำงานตามนั้น — การกระเด้งรั่วไหลผ่านมา และการกดทางกายภาพครั้งเดียวของคุณถูกรายงานเป็นสอง (หรือบางครั้งมากกว่านั้น) การกดปุ่มที่แยกจากกัน
สาเหตุที่ทำให้เกิด
- สวิตช์ที่สึกหรอ เมื่อสวิตช์ถูกใช้งานมาหลายเดือนหรือหลายปี หน้าสัมผัสของมันสามารถเสื่อมสภาพในลักษณะที่ทำให้การกระเด้งแย่ลง
- ฝุ่นและเศษสิ่งสกปรก การปนเปื้อนภายในตัวเรือนสวิตช์สามารถรบกวนการสัมผัสที่สะอาดได้
- เฟิร์มแวร์ที่มีช่วง debounce สั้นเกินไป คีย์บอร์ดบางรุ่น โดยเฉพาะรุ่นราคาประหยัด ใช้ debounce delay ที่ค่อนข้างเร่งรีบเกินไปที่จะจับการกระเด้งทุกครั้งได้อย่างน่าเชื่อถือ
- ความชื้นหรือของเหลวหก แม้แต่คราบของเหลวเพียงเล็กน้อยก็สามารถทำให้พฤติกรรมการสัมผัสผิดปกติในปุ่มที่ได้รับผลกระทบ
Key Chatter เทียบกับปุ่มค้าง เทียบกับ Ghosting
มันง่ายที่จะรวมความแปลกประหลาดของคีย์บอร์ดเข้าด้วยกัน แต่นี่คือสามปัญหาที่แตกต่างกัน:
- Chatter — การกดครั้งเดียวลงทะเบียนเป็นหลายครั้ง แยกอยู่ในเหตุการณ์การกดปุ่มครั้งเดียว
- ปุ่มค้าง — ปุ่มยังคงส่งอินพุตต่อเนื่อง หรือไม่ยอมปล่อย โดยไม่เกี่ยวข้องกับ chatter
- Ghosting — ปุ่มไม่ยอมลงทะเบียนเลย แต่เฉพาะเมื่อถูกกดค้างพร้อมกับปุ่มอื่นบางปุ่มเท่านั้น
Key Chatter Test ของเราถูกสร้างขึ้นมาโดยเฉพาะเพื่อจับกรณีแรก: มันจะแจ้งเตือนปุ่มใดก็ตามที่การแตะครั้งเดียวมาถึงเป็นสองการกดที่ห่างกันน้อยกว่า 40 มิลลิวินาที ซึ่งเร็วกว่าการแตะสองครั้งโดยตั้งใจของมนุษย์มาก
การแก้ไข
- ทำความสะอาดปุ่มก่อน ลมอัดรอบ ๆ และใต้ keycap สามารถแก้ไขกรณี chatter ที่เกิดจากฝุ่นได้เป็นจำนวนมากอย่างน่าประหลาดใจ
- ตรวจสอบการตั้งค่า debounce คีย์บอร์ด mechanical หลายรุ่นที่มีซอฟต์แวร์คู่มือให้คุณเพิ่มเวลา debounce ได้โดยตรง — การเพิ่มเล็กน้อย (แม้แต่ไม่กี่มิลลิวินาที) มักจะเพียงพอที่จะแก้ chatter ได้อย่างสมบูรณ์โดยไม่ทำให้คีย์บอร์ดรู้สึกหน่วง
- เปลี่ยนสวิตช์ถ้าเป็นไปได้ บนคีย์บอร์ดที่มีซ็อกเก็ตแบบ hot-swappable สวิตช์ที่เกิด chatter มักจะสามารถดึงออกและเปลี่ยนใหม่ได้ทีละตัว โดยไม่ต้องซื้อคีย์บอร์ดใหม่
- ถ้าไม่มีอะไรได้ผลเลย ปุ่มนั้น (หรือบอร์ดนั้น) อาจถึงจุดสิ้นสุดอายุการใช้งานแล้ว Chatter ที่ยังคงอยู่แม้หลังจากทำความสะอาดและเพิ่มเวลา debounce แล้ว มักเป็นสัญญาณของการสึกหรอทางกลไกที่แท้จริง