ข้ามไปยังเนื้อหา

Barcode Scanner Emulator

ผังแป้นพิมพ์ของเครื่องสแกนบาร์โค้ดไม่ถูกต้อง

อักขระผิดหรือปนกันหลังสแกน โดยเฉพาะตัวเลข เครื่องหมายวรรคตอน หรือสัญลักษณ์ แทบจะเป็นการที่ผังแป้นพิมพ์ของเครื่องสแกนไม่ตรงกับระบบปฏิบัติการเสมอ ไม่ใช่ข้อผิดพลาดในการถอดรหัส

ปัญหา

ค่าที่สแกนมีอักขระผิด มักเป็นสัญลักษณ์หรือตัวเลขบางตัวถูกสลับกับตัวอื่น (รูปแบบที่พบบ่อย: ตัวเลขดูถูก แต่สัญลักษณ์เช่น -, / หรือ . ผิด หรือมีตัวอักษรคนละตัวปรากฏแทนตัวที่คาด)

เหตุใดจึงเกิด

ตามที่อธิบายใน คำอธิบาย HID keyboard wedge เครื่องสแกนในโหมดแป้นพิมพ์ HID แปลงอักขระที่ถอดรหัสแล้วแต่ละตัวเป็นรหัสแป้นโดยใช้ผังแป้นพิมพ์ที่ตั้งไว้ภายใน แล้วส่งรหัสแป้นนั้น ระบบปฏิบัติการตีความรหัสแป้นอีกครั้งด้วยผังที่ตั้งไว้ของตัวเอง หากผังทั้งสองไม่ตรงกัน (เช่น เครื่องสแกนตั้งเป็น US QWERTY แต่ระบบปฏิบัติการตั้งเป็น AZERTY ภาษาฝรั่งเศส) แป้นบางแป้นจะตรงกับอักขระคนละตัว และความไม่ตรงกันปรากฏเป็นเอาต์พุตผิด แม้เครื่องสแกนจะถอดรหัสบาร์โค้ดได้สมบูรณ์

วิธีวินิจฉัย

  1. สแกนบาร์โค้ดที่มีตัวเลขและสัญลักษณ์ทั่วไปครบช่วงลงใน ตัวทดสอบเหตุการณ์แป้นพิมพ์
  2. เทียบค่า key ที่บันทึกกับเนื้อหาบาร์โค้ดจริง หากอักขระบางตัวถูกแทนที่ด้วยอักขระบางตัวอย่างสม่ำเสมอ นั่นเป็นสัญญาณชัดของภาษาไม่ตรงกัน ไม่ใช่ข้อผิดพลาดถอดรหัสแบบสุ่ม
  3. ตรวจการตั้งค่าผังแป้นพิมพ์ของระบบปฏิบัติการ (ภาษาและภูมิภาคในระบบส่วนใหญ่) แล้วเทียบกับภาษาที่ตั้งไว้ของเครื่องสแกน ซึ่งระบุในคู่มือตั้งค่าหรือยูทิลิตีของผู้ขาย

วิธีแก้

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

หากคุณดูแลเครื่องทำงานจำนวนมากที่มีภาษาของระบบปฏิบัติการต่างกัน ให้ทำให้การตั้งค่าภาษาของเครื่องสแกนและภาษาของระบบปฏิบัติการเป็นชุดเดียวกันในทุกที่ที่ทำได้ เพื่อไม่ต้องตั้งค่าเครื่องสแกนแยกตามเครื่อง

วิธีตรวจ

สแกนบาร์โค้ดทดสอบเดิมอีกครั้งลงใน ตัวทดสอบเหตุการณ์แป้นพิมพ์ และยืนยันว่าทุกอักขระ โดยเฉพาะสัญลักษณ์ ตรงกับเนื้อหาบาร์โค้ดที่คาดไว้พอดี

ที่เกี่ยวข้อง

คำอธิบาย HID keyboard wedge · คู่มือตั้งค่าเครื่องสแกนบาร์โค้ด