kbd-tst.py เป็นโปรแกรมทดสอบคีย์บอร์ดอย่างง่าย มันทดสอบการทำงานของคีย์ทั้งหมดที่ให้ข้อเสนอแนะแบบกราฟิก (เฉพาะ ASCII semigraphics ในเทอร์มินัลข้อความ) ให้กับผู้ใช้เช่น:
การทดสอบแป้นพิมพ์ที่ง่ายและเป็นมิตรต่อผู้ใช้โดยไม่ต้องพึ่งพาภายนอก ()โดยใช้ยูทิลิตี้ระบบมาตรฐานเท่านั้น) ...
มีวิธีทดสอบคีย์บอร์ดที่ไม่มียูทิลิตี้เช่นนี้ เพียงแค่ใช้โปรแกรมแก้ไขข้อความ เป็นต้น ในกรณีนี้ คุณต้องจำไว้ว่าคีย์ใดได้รับการทดสอบแล้ว และอย่าพลาดคีย์ที่ยังไม่ผ่านการทดสอบ และทุกอย่างง่ายขึ้นด้วยการตอบรับด้วยภาพที่แสดงสดบนหน้าจอด้วย kbd-test
นี่คือสิ่งทั่วไปบางประการ:
แม้จะมีการใช้งานแบบเรียบง่าย แต่ก็มีข้อกำหนดดังต่อไปนี้:
หมายเหตุ: เนื่องจากการพึ่งพา xinput kbd-tst จึงสามารถทำงานได้บนระบบที่คล้ายกับ linux ที่มี Xorg เท่านั้น
การใช้งาน kbd-tst ทั้งหมดนั้นมี 'การทดสอบ xinput' เป็นศูนย์กลาง Xinput ดำเนินการเป็นกระบวนการย่อยและกิจกรรมเอาต์พุตจะถูกแยกวิเคราะห์และแสดงภาพเป็นรูปแบบแป้นพิมพ์บนหน้าจอพร้อมข้อมูลและสถิติเพิ่มเติม ส่วนที่มองเห็นถูกนำมาใช้โดยใช้ลำดับหลีก ANSI เพื่อควบคุมตำแหน่งเคอร์เซอร์และสีของเทอร์มินัลข้อความ รูปแบบแป้นพิมพ์ได้มาจากไฟล์รูปแบบ ASCII ภายนอก (*.lay) เช่น 'apple.lay' หรือ 'at101.lay'
เพื่อให้ kbd-tst ทำงาน เราต้องระบุสิ่งต่อไปนี้:
ในการแสดงความช่วยเหลือในการใช้งาน เราสามารถจัดเตรียมพารามิเตอร์มาตรฐาน '-h' หรือ '--help' ได้
= Keyboard Test Program version 2017.7.28 = (c) 2017 by Robert P =
Usage: kbd-tst.py [id] [layout] [-h|--help]
kbd-tst.py [-h|--help] [layout] [id]
-h ... shows this usage help and quits
--help ... shows this usage help and quits
id ... optional keyboard device id as shown in 'xinput list' output (default user assisted autodetection)
layout ... optional keyboard ASCII layout file [*.lay] (default the first file in kbd-tst dir)
Notes:
* parameters are optional
* not providing device id will initiate a user assisted autodetection sequence requiring physical disconneting
and reconecting the keyboard under test (KUT)
* not providing the layout file is usefull if there is only single layout file in kbd-tst directory
* all unrecognized keys from layout file are shown as errors and counted as [ missing_keycodes ]
* all parameters can be supplied in arbitrary order
* in case of multiple specification the last one wins,
for example in sequence of parameters 'id1 layout1 layout2 id2' id2/layout2 pair wins
* test ends when all successfully recognized keys from layout file are tested [ to_go = 0 ]
* to end test prematurely just type phrase 'quit' (without the quotes)
Known issues:
- keys ike apple keyb VOL+/VOL-/MUTE/EJECT do not generate xinput events and therefore cannot be tested right now
- if more than one device id is found by autodetection sequence only the first one is used, which is some cases
might be incorrect. In this case provide the correct device id as a parameter (id can be found by trial and error
from 'xinput list' and verified by 'xinput test id' to show 'key press xx' and 'key release xx' events)
[ xinput double entries related bug: https://bugs.launchpad.net/ubuntu/+source/hal/+bug/277946 ]
ขั้นตอนการทดสอบประกอบด้วยขั้นตอนดังนี้:
เนื่องจากธรรมชาติแบบไดนามิกและการรองรับ xinput id แบบ hot-plug เราจึงต้องค้นหา ID อุปกรณ์ที่ถูกต้องของ KUT (คีย์โบทภายใต้การทดสอบ) นี่เป็นส่วนที่สำคัญที่สุดและในบางกรณีก็เป็นส่วนที่ยากที่สุดของขั้นตอนการทดสอบด้วย
โชคดีที่มีระบบตรวจจับอัตโนมัติที่ผู้ใช้ช่วยเหลือในตัว สิ่งนี้จำเป็นต้องเชื่อมต่อ KUT (คีย์บอร์ดที่อยู่ระหว่างการทดสอบ) หากยังไม่ได้เชื่อมต่อ KUT หากเชื่อมต่อ KUT แล้ว จำเป็นต้องเชื่อมต่อใหม่ ฟังก์ชั่นการตรวจจับอัตโนมัติกำลังรับชมระบบในขณะที่ KUT เชื่อมต่ออยู่ จากนั้นจะสามารถระบุ xinput id ได้โดยอัตโนมัติ อย่างไรก็ตาม ในบางกรณี HAL จะสร้างอุปกรณ์สองตัวขึ้นมา ซึ่งทำให้ไม่สามารถเลือกการตรวจจับอัตโนมัติได้ จากนั้นอันแรกจะถูกเลือกโดยการตรวจจับอัตโนมัติ หากนี่ไม่ถูกต้อง คุณต้องระบุ xinput id ด้วยตนเองเป็นพารามิเตอร์บรรทัดคำสั่ง:
> kbd-tst.py 12
ไฟล์เค้าโครงเป็นการแสดงภาพศิลปะ ASCII ที่เรียบง่ายของเค้าโครงแป้นพิมพ์กายภาพ แต่ละคีย์จะแสดงด้วยวงเล็บเหลี่ยมโดยมีป้ายกำกับคีย์อยู่ภายในและล้อมรอบด้วยช่องว่าง เช่น คีย์ที่มีหมายเลข 1 จะแสดงเป็น [ 1 ] ซึ่งมีลักษณะเหมือนปุ่มกด ไฟล์เลย์เอาต์นี้ถูกโหลด แยกวิเคราะห์ (แสดงข้อผิดพลาดในการแยกวิเคราะห์ หากมี) จากนั้นยังใช้สำหรับการตอบสนองด้วยภาพบนหน้าจออีกด้วย ตรวจสอบไฟล์เลย์เอาต์ที่ให้มาเพื่อดูรายละเอียด (apple.lay, at101.lay)
ต้องระบุชื่อของไฟล์เลย์เอาต์ที่ต้องการที่จะโหลดเป็นพารามิเตอร์:
> kbd-tst.py at101.lay
หากไม่มีพารามิเตอร์ไฟล์โครงร่าง ไฟล์โครงร่างแรกในไดเร็กทอรีจะถูกใช้ สิ่งนี้มีประโยชน์หากมีเพียงไฟล์เดียวในไดเร็กทอรี
คำอธิบายปุ่มในไฟล์เลย์เอาต์จะต้องแปลได้โดยพจนานุกรม rev_xmodmap ในคลาสเลย์เอาต์ ซึ่งช่วยให้สามารถใช้ป้ายกำกับปุ่มที่สั้นลงเพื่อออกแบบเค้าโครงแป้นพิมพ์ ASCII ได้อย่างเหมาะสม หากป้ายกำกับปุ่มจากไฟล์เลย์เอาต์ไม่มีรายการในพจนานุกรม rev_xmodmap ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น การทดสอบจะดำเนินต่อไป แต่จะไม่มีวิธีทดสอบคีย์ทั้งหมด ดังนั้นการดำเนินการดังกล่าวจะลงท้ายด้วยคำเตือน (สีเหลือง/สีส้ม) (ดูภาพหน้าจอด้านล่างพร้อมคำเตือนเกี่ยวกับการโหลดโครงร่างและรายงานการทดสอบ)
รู้สึกอิสระที่จะสนับสนุนไฟล์เลย์เอาต์เฉพาะของคุณเองลงในไดเร็กทอรีเลย์เอาต์ ...
เมื่อสิ้นสุดการทดสอบ จะมีการสร้างรายงานบรรทัดเดียวพร้อมข้อมูลสรุป:
ไฟล์ต่อไปนี้:
หวังว่ามันจะช่วยได้ ...
เวอร์ชัน 2017.07.27 - GitHub เริ่มต้นในปี 2560
คีย์เวิร์ด : คีย์บอร์ด, ทดสอบ, kbdtst, เลย์เอาต์, kbd-tst, python, xinput, xmodmap