ทดสอบอัตราการกดซ้ำของคีย์บอร์ด

กดปุ่มที่เลือกค้างไว้เพื่อวัดความหน่วงก่อนการกดซ้ำอัตโนมัติ ช่วงห่างการกดซ้ำที่คงที่ และจำนวนครั้งต่อวินาทีที่เบราว์เซอร์รายงาน พร้อมดูความสม่ำเสมอของช่วงห่าง ผลนี้สะท้อนเหตุการณ์ของระบบและเบราว์เซอร์ ไม่ใช่ polling rate ของฮาร์ดแวร์

การตั้งค่าและตัวอย่างแบบเรียลไทม์

ค่าเริ่มต้นคือ KeyA ใส่ KeyboardEvent.code มาตรฐาน โดยไม่สามารถใช้ Tab หรือปุ่ม modifier เพียงปุ่มเดียวเป็นเป้าหมาย

ใส่จำนวนเต็ม 10–200 ช่วงห่าง ค่าเริ่มต้นคือ 30 repeat ครั้งแรกใช้คำนวณความหน่วงแรก ไม่รวมเป็นช่วงห่างคงที่

กดปุ่มเป้าหมายค้างไว้หลังเริ่ม ให้โฟกัสบริเวณนี้และกดปุ่มค้างไว้ การปล่อยปุ่มจะจบรอบ และ Tab ยังใช้เพื่อออกจากบริเวณได้
เหตุการณ์กดซ้ำ
0
ช่วงห่างที่ใช้ได้
0
ความหน่วงแรก
ช่วงห่างล่าสุด
ความคืบหน้าตัวอย่างคงที่0 / 30

ขั้นตอนปัจจุบันรอเริ่ม

เลือกปุ่มเป้าหมายและจำนวนช่วงห่าง แล้วเลือก “เริ่มการทดสอบใหม่”
สรุปผลรอการทดสอบ
อัตราการกดซ้ำคงที่จะแสดงผลที่เปรียบเทียบได้หลังเก็บช่วงห่างคงที่อย่างน้อย 10 รายการ
ความหน่วงก่อนกดซ้ำครั้งแรก
ช่วงห่างกดซ้ำมัธยฐาน
ความผันผวน MAD

ผลลัพธ์อธิบายจังหวะของเหตุการณ์กดซ้ำอัตโนมัติที่ระบบและเบราว์เซอร์ปัจจุบันสร้างขึ้น ไม่ใช่ polling rate scan rate หรือความหน่วงอินพุตรวมของฮาร์ดแวร์คีย์บอร์ด

ความสม่ำเสมอของช่วงห่างการกดซ้ำอัตโนมัติ

ลำดับช่วงห่างการกดซ้ำคงที่

ช่วงห่างการกดซ้ำคงที่เส้นอ้างอิงมัธยฐาน

ช่วงห่างการกดซ้ำคงที่ตามลำดับตัวอย่าง พร้อมเส้นอ้างอิงมัธยฐาน

ดูรายละเอียดเพิ่มเติม

วิธีวัด สูตร และความหมายของผล

ความหน่วงก่อนกดซ้ำครั้งแรก D = t₁ − t₀ ช่วงห่างคงที่ Δᵢ = tᵢ − tᵢ₋₁ และอัตราการกดซ้ำ R = 1000 ÷ median(Δ) ครั้งต่อวินาที ไม่รวมความหน่วงแรกในช่วงห่างคงที่ และไม่รวมช่วงห่างที่เรียงลำดับผิด ไม่เป็นจำนวนจำกัด เป็นศูนย์ หรือมากกว่า 1,000 ms ในสถิติ

สถิติใช้ค่ามิลลิวินาทีก่อนปัดเศษ หน้าเว็บมักแสดงทศนิยมหนึ่งตำแหน่ง แต่สถานะเสร็จ ความเสถียร และข้อความที่คัดลอกใช้ค่าดั้งเดิม

การทดสอบโปรแกรมใช้ความหน่วงแรก 500ms และลำดับช่วงห่างคงที่ 33.333ms เพื่อยืนยันประมาณ 30 ครั้งต่อวินาที ครอบคลุมขอบเขตเป้าหมาย 10/200 เวลาแบบสัมพัทธ์และ epoch เหตุการณ์เรียงผิด ไทม์สแตมป์ซ้ำ ขอบเขตความหน่วงแรก 5,000ms ช่วงห่างคงที่ 1,000ms P10/P90 และ MAD

วิธีใช้และข้อจำกัด

การกดซ้ำอัตโนมัติขึ้นกับระบบปฏิบัติการ เบราว์เซอร์ และแอปพลิเคชัน เว็บเพจอ่าน scan rate ของเฟิร์มแวร์หรือ polling rate ของฮาร์ดแวร์ USB/Bluetooth ไม่ได้ ระบบอาจปิดการกดซ้ำ และปุ่มมีเดีย ชั้น Fn ทางลัด หรือวิธีป้อนข้อมูลบางอย่างอาจไม่มี repeat event มาตรฐาน

คำนวณอัตราการกดซ้ำคีย์บอร์ดอย่างไร

วัดความหน่วงจาก keydown แรกที่ไม่ใช่การทำซ้ำถึง repeat event แรกก่อน จากนั้นหามัธยฐานของช่วงห่าง repeat ที่ตามมา แล้วหาร 1,000 ด้วยค่านั้นเพื่อได้จำนวนครั้งต่อวินาที

อัตราการกดซ้ำคีย์บอร์ดต่างจาก polling rate อย่างไร

อัตราการกดซ้ำคือจังหวะของเหตุการณ์ปุ่มที่ระบบปฏิบัติการสร้างหลังจากกดปุ่มค้าง ส่วน polling rate คือความถี่ที่อุปกรณ์รายงานอินพุตไปยังโฮสต์ repeat event ของเบราว์เซอร์ไม่สามารถยืนยัน polling rate ของฮาร์ดแวร์ USB หรือ Bluetooth ได้

ทำไมกดปุ่มค้างแล้วไม่มี repeat event

ระบบอาจปิดการกดซ้ำอัตโนมัติ ปุ่มเป้าหมายอาจถูกระบบหรือเบราว์เซอร์สงวนไว้ หรือปุ่ม Fn และมีเดียอาจไม่สร้าง KeyboardEvent.repeat มาตรฐาน ลองใช้ปุ่มตัวอักษรทั่วไปและตรวจสอบว่าเปิดการกดซ้ำของระบบแล้ว

ข้อมูลเครื่องมือและแหล่งอ้างอิง

รหัสปุ่ม ไทม์สแตมป์ของเหตุการณ์ และสถิติทั้งหมดประมวลผลในเบราว์เซอร์นี้ ไม่อัปโหลด ไม่เรียก API ระยะไกล และไม่เก็บข้อมูลอินพุตส่วนบุคคล

เครื่องมือนี้ไม่ใช้โค้ดรันไทม์หรือทรัพยากรของบุคคลที่สาม อัลกอริทึมและส่วนติดต่อสร้างขึ้นเอง ลิงก์ภายนอกใช้เพื่ออธิบายความหมายของเหตุการณ์คีย์บอร์ดในเบราว์เซอร์เท่านั้น

มาตรฐานและแหล่งอ้างอิงวิธีวัด