การทำงานของเครื่องมือทดสอบแป้นพิมพ์
Keyboard Test เป็นเครื่องมือออนไลน์ฟรีสำหรับทดสอบการทำงานทางกายภาพของแป้นพิมพ์ เครื่องมือนี้ช่วยให้ผู้ใช้งานสามารถตรวจสอบรหัสเหตุการณ์ทางเทคนิค (Event Codes) ที่เกิดขึ้นจากการกดแต่ละปุ่มได้อย่างละเอียด เมื่อมีการกดปุ่มใดๆ บนหน้าเว็บ ระบบจะแสดงผลทันทีว่าปุ่มนั้นตอบสนองหรือไม่ พร้อมทั้งแสดงแผนผังเลย์เอาต์ภาพของปุ่มที่ถูกทดสอบ ติดตามปุ่มที่กำลังกดค้างไว้ และบันทึกประวัติเหตุการณ์อย่างละเอียดที่สามารถล้างข้อมูลออกได้ การทำงานนี้ช่วยให้ผู้ใช้แยกแยะระหว่างพฤติกรรมปกติของระบบ เช่น การกดซ้ำอัตโนมัติ (Auto-repeat) กับปัญหาฮาร์ดแวร์ที่แท้จริง เช่น ปุ่มเสีย หรือสวิตช์เบิ้ล (Double-clicking)
ผู้ใช้สามารถส่งข้อมูลเข้าสู่ระบบได้หลายรูปแบบ ได้แก่ การกดปุ่มทางกายภาพจากแป้นพิมพ์ใดๆ บนหน้าเว็บ การคลิกที่แผนผังแป้นพิมพ์บนหน้าจอเพื่อเปิดโหมดจับสัญญาณเต็มรูปแบบ ซึ่งช่วยให้ทดสอบปุ่ม Space, Tab และปุ่มฟังก์ชันต่างๆ ได้โดยไม่เกิดผลลัพธ์ปกติของปุ่มเหล่านั้นบนเบราว์เซอร์ (ยกเลิกโหมดนี้ได้ด้วยการกดปุ่ม Esc) และการพิมพ์ในช่องข้อความเฉพาะสำหรับทดสอบแป้นพิมพ์เสมือนจริงบนอุปกรณ์เคลื่อนที่ นอกจากนี้ยังมีปุ่ม ล้างบันทึก เพื่อลบประวัติเหตุการณ์ที่บันทึกไว้ทั้งหมดด้วยตนเอง
ข้อมูลและสถานะที่แสดงผล
เครื่องมือจะแสดงข้อมูลการทดสอบแบบเรียลไทม์ผ่านส่วนแสดงผลต่างๆ ดังนี้:
- เหตุการณ์ปุ่มล่าสุด: แสดงคุณสมบัติของปุ่มที่ถูกกดล่าสุด ได้แก่ ปุ่ม, โค้ด, keyCode แบบเก่า, ตำแหน่ง (แสดงค่า มาตรฐาน, ซ้าย, ขวา หรือ แป้นตัวเลข) และ ปุ่มกดร่วม (แสดงค่า ไม่มี หรือปุ่มที่กำลังใช้งานอยู่ ได้แก่ Shift, Ctrl, Alt, Meta, Caps Lock) พร้อมป้ายสถานะ กดลง / ปล่อย และป้าย ซ้ำ ×
{count}ที่นับจำนวนการกดซ้ำขณะกดปุ่มค้างไว้ - แผนผังแป้นพิมพ์: แผนผังภาพเลย์เอาต์ ANSI ที่จะเปลี่ยนสีตามสถานะของปุ่ม ได้แก่ กดค้างอยู่ และ ทดสอบแล้ว
- ข้อมูลสถิติ: แสดงจำนวน ปุ่มที่ทดสอบแล้ว, จำนวนการกดทั้งหมด และ ปุ่มกดค้างอยู่ตอนนี้
- บันทึกเหตุการณ์: ตารางประวัติการกดปุ่มที่แสดงหัวข้อ บันทึกเหตุการณ์ (หรือแสดงข้อความ "ยังไม่มีเหตุการณ์ของปุ่ม — กดปุ่มใดก็ได้" เมื่อตารางว่างเปล่า) ประกอบด้วยคอลัมน์ เวลา, เหตุการณ์ (แสดงค่า กดลง หรือ ปล่อย), ปุ่ม, โค้ด และ ปุ่มกดร่วม ทั้งนี้ เหตุการณ์กดซ้ำอัตโนมัติจากการกดปุ่มค้างจะแสดงที่ป้ายสถานะการกดซ้ำเท่านั้น โดยจะไม่ถูกนำมาเพิ่มในตารางบันทึกเหตุการณ์
- ตัวบ่งชี้สถานะการจับสัญญาณ: แสดงสถานะปัจจุบัน ได้แก่ "กดปุ่มใดก็ได้เพื่อเริ่มต้น", "กำลังจับสัญญาณการกดปุ่ม" หรือ "จับสัญญาณเต็มรูปแบบ — กด Esc เพื่อปล่อยแป้นพิมพ์"
- การตรวจสอบแป้นพิมพ์บนหน้าจอ: พื้นที่ทดสอบสำหรับอุปกรณ์เคลื่อนที่ ประกอบด้วยช่องกรอกข้อความที่มีคำอธิบาย "แตะแล้วพิมพ์..." และคำแนะนำ "แตะที่ช่องนี้แล้วพิมพ์ — สิ่งใดก็ตามที่เบราว์เซอร์รายงานจะปรากฏขึ้นด้านบน"
ข้อจำกัดและพฤติกรรมเฉพาะของระบบ
ในการใช้งานเครื่องมือทดสอบแป้นพิมพ์ มีกฎเกณฑ์และกรณีเฉพาะทางเทคนิคที่ควรทราบดังนี้:
การดักจับปุ่มลัดของระบบและเบราว์เซอร์
ปุ่มกดร่วมหรือปุ่มลัดที่ถูกสงวนไว้โดยเบราว์เซอร์หรือระบบปฏิบัติการ เช่น ปุ่มสลับแท็บ ปิดหน้าต่าง แสดงผลเต็มหน้าจอ หรือปุ่มค้นหาของระบบ จะถูกดักจับโดยระบบปฏิบัติการก่อนที่จะส่งมาถึงหน้าเว็บ ทำให้ไม่สามารถแสดงผลในเครื่องมือนี้ได้ ผู้ใช้จำเป็นต้องทดสอบปุ่มเหล่านี้แยกกันทีละปุ่มเพื่อตรวจสอบการทำงานทางกายภาพ
ความแตกต่างระหว่างค่า ปุ่ม (Key) และ โค้ด (Code)
ค่า "ปุ่ม" (Key) เป็นค่าที่มีความยืดหยุ่นและเปลี่ยนแปลงตามปุ่มกดร่วมที่ใช้งานหรือเลย์เอาต์ภาษาของแป้นพิมพ์ที่ตั้งค่าไว้ในระบบปฏิบัติการ (เช่น ปุ่มเดียวกันอาจแสดงผลเป็น "a" หรือ "A") ในขณะที่ค่า "โค้ด" (Code) จะแสดงตำแหน่งทางกายภาพที่คงที่ของปุ่มนั้นบนแผงวงจรเสมอ (เช่น "KeyA", "ShiftLeft", "Space") โดยไม่มีการเปลี่ยนแปลงตามภาษาหรือสถานะอื่น
ข้อจำกัดของแผนผังและแป้นพิมพ์เคลื่อนที่
แผนผังแป้นพิมพ์บนหน้าจอถูกกำหนดไว้เป็นเลย์เอาต์ ANSI ขนาดเต็มเท่านั้น ปุ่มที่ไม่มีอยู่บนแผนผังนี้ เช่น ปุ่มเฉพาะของเลย์เอาต์ ISO, ปุ่มเลเยอร์ Fn ของแล็ปท็อป หรือปุ่มควบคุมสื่อบันทึก (Media Keys) จะไม่สว่างขึ้นบนแผนผังภาพ แต่ข้อมูลการกดจะยังคงแสดงในส่วน "เหตุการณ์ปุ่มล่าสุด" และ "บันทึกเหตุการณ์" ตามปกติ สำหรับแป้นพิมพ์เสมือนจริงบนระบบปฏิบัติการมือถือ (โดยเฉพาะ Android) มักจะส่งเหตุการณ์แบบทั่วไปที่ไม่มีค่าปุ่มเฉพาะเจาะจง ทำให้ระบบแสดงผลเป็น "Unidentified" ผู้ใช้จึงต้องใช้งานช่อง "ตรวจสอบแป้นพิมพ์บนหน้าจอ" เพื่อดูค่าที่เบราว์เซอร์มือถือรายงาน
นโยบายความเป็นส่วนตัวและการประมวลผลข้อมูล
การกดปุ่มจะถูกอ่านโดยหน้านี้เท่านั้นเพื่อแสดงรายละเอียดเหตุการณ์และบันทึกบนหน้าเว็บ กระบวนการทำงานทั้งหมดเกิดขึ้นภายในเบราว์เซอร์ของผู้ใช้งานโดยตรง ไม่มีสิ่งใดถูกจัดเก็บหรืออัปโหลดไปยังเซิร์ฟเวอร์ภายนอก และการล้างบันทึกหรือการออกจากหน้านี้จะลบข้อมูลทั้งหมดทันทีโดยไม่สามารถกู้คืนได้
คำถามที่พบบ่อย (FAQ)
ค่า key และ code แตกต่างกันอย่างไร? ค่า key คือตัวอักษรหรือการทำงานที่เกิดขึ้นจากการกดปุ่มในขณะนั้น ซึ่งจะเปลี่ยนไปตามเลย์เอาต์และปุ่มกดร่วมที่คุณใช้ เช่น ปุ่มกายภาพเดียวกันอาจรายงานค่าเป็น "a" หรือ "A" หรือเป็นตัวอักษรอื่นโดยสิ้นเชิงในเลย์เอาต์ภาษาอื่น ส่วนค่า code จะระบุตำแหน่งทางกายภาพของปุ่มนั้น (เช่น KeyA, ShiftLeft, Space) และไม่มีวันเปลี่ยนแปลง ด้วยเหตุนี้เกมและแอปพลิเคชันต่างๆ จึงมักจะผูกปุ่มลัดเข้ากับค่า code
ทำไมปุ่มลัดบางปุ่มถึงไม่แสดงขึ้นมา? ปุ่มลัดที่สงวนไว้โดยเบราว์เซอร์หรือระบบปฏิบัติการ เช่น การปิดหรือสลับแท็บและแอป, การแสดงผลเต็มหน้าจอ, การค้นหาของระบบ จะถูกดักจับไว้ก่อนที่หน้าเว็บจะมองเห็น จึงไม่มีวันปรากฏขึ้นที่นี่ การที่ไม่มีการตอบสนองนั้นเป็นเรื่องปกติ ไม่ใช่ปุ่มเสีย ให้ลองทดสอบปุ่มเหล่านั้นทีละปุ่ม แล้วแต่ละปุ่มจะลงทะเบียนการทำงานได้เอง
ปุ่มทำงานซ้ำๆ ขณะที่ฉันกดค้างไว้ แบบนี้คือปุ่มเสียหรือไม่? ไม่ใช่ การกดปุ่มค้างไว้จะทำให้ระบบส่งเหตุการณ์การกดซ้ำๆ ซึ่งจะแสดงที่นี่ด้วยป้ายกำกับ Repeat และตัวนับจำนวนครั้ง ซึ่งถือเป็นพฤติกรรมการกดซ้ำอัตโนมัติแบบปกติ สัญญาณเตือนที่แท้จริงคือรูปแบบที่ตรงกันข้าม ได้แก่ การเกิดเหตุการณ์หลายครั้งจากการแตะสั้นๆ เพียงครั้งเดียว หรือการแตะแล้วไม่มีเหตุการณ์ใดๆ เกิดขึ้นเลย ซึ่งบ่งชี้ว่าสวิตช์อาจเสื่อมสภาพหรือค้าง
ทำไมแป้นพิมพ์บนโทรศัพท์ของฉันถึงแสดงค่าเป็น "Unidentified"? แป้นพิมพ์บนหน้าจอ โดยเฉพาะบน Android มักจะส่งเหตุการณ์แบบทั่วไปที่ไม่มีค่า key จริง และหน้าเว็บจะแสดงได้เฉพาะสิ่งที่เบราว์เซอร์รายงานเท่านั้น ให้เปิดการตรวจสอบแป้นพิมพ์บนหน้าจอที่อยู่ใต้เลย์เอาต์เพื่อดูว่าแป้นพิมพ์ของคุณส่งค่าอะไรออกมาบ้าง ส่วนแป้นพิมพ์ภายนอกหรือแป้นพิมพ์แล็ปท็อปจะรายงานรายละเอียดครบถ้วน