ฉันเพิ่งซื้อคีย์บอร์ดเรืองแสงที่ได้รับการออกแบบมาเพื่อให้ใช้ปุ่ม Scroll Lock เพื่อสลับไฟแบ็คไลท์ ฉันพบอย่างรวดเร็วว่าอบเชยไม่ตอบสนองอย่างถูกต้องเมื่อกดปุ่ม Scroll Lock เดิมทีฉันคิดว่าไฟแบ็คไลท์ของแป้นพิมพ์เป็น DOA เพราะทุกอย่างทำงานได้นอกกรอบ หลังจากรีบูตฉันพบว่าก่อนที่จะเปิด Xorg ฉันสามารถสลับแบ็คไลท์ได้สำเร็จโดยใช้ปุ่ม Scroll Lock จากนั้นอีกครั้งหลังจากเริ่มต้น Xorg (และต่อมา cinnamon_session) ฟังก์ชันการทำงานนี้หยุดทำงานอีกครั้ง
เพื่อให้ไฟพื้นหลังทำงานหลังจากเปิดตัว Xorg ฉันถูกบังคับให้ออก a: xset led named "Scroll Lock"
เพื่อเปิดใช้งานและปิดใช้งานฟังก์ชันนี้
หลังจากการวิจัยเล็กน้อยฉันเจอโปรแกรมที่เรียกxev
ว่าข้อมูลเหตุการณ์สำคัญทิ้งไปยังเครื่องหลังจากเริ่มทำงาน เมื่อกดปุ่ม Scroll Lock เทอร์มินัลจะได้รับข้อมูลนี้:
เหตุการณ์ KeyPress, อนุกรม 34, NO สังเคราะห์, หน้าต่าง 0x2c00001, รูท 0x2df, subw 0x0, เวลา 2609824, (410,0), รูท: (1724,142), สถานะ 0x0, keycode 78 (keysym 0xff14, Scroll_Lock), Same_screen YES, XLookupString ให้ 0 ไบต์: XmbLookupString ให้ 0 ไบต์: XFilterEvent ส่งกลับ: เท็จ
เหตุการณ์ KeyRelease, หมายเลข 37, NO สังเคราะห์, หน้าต่าง 0x2c00001, รูท 0x2df, subw 0x0, เวลา 2609912, (410,0), รูต: (1724,142), สถานะ 0x0, รหัส key 78 (keysym 0xff14, Scroll_Lock), Same_screen YES, XLookupString ให้ 0 ไบต์:
ดังนั้นฉันรู้ว่าเหตุการณ์สำคัญกำลังถูกส่งไปยังเคอร์เนล
นอกจากนี้ที่น่าสนใจฉันสังเกตเห็นพฤติกรรมแปลก ๆ เมื่ออยู่ในเครื่อง (ยังก่อนที่จะเปิดตัว Xorg หรืออบเชย) และใช้ Scroll Lock คือ ณ จุดนี้แสงไฟของฉันถูกสลับตามที่คาดไว้ แต่เมื่อเปิดใช้งาน Scroll Lock ไม่มีสิ่งใดที่ฉันพิมพ์ถูกเขียนลงบนหน้าจอ หลังจากปิดใช้งาน Scroll Lock ทุกอย่างที่ฉันเขียนถูกทิ้งลงในเทอร์มินัลทันทีราวกับว่ามันถูกบัฟเฟอร์ก่อนหน้านี้
tl; drอะไรคือข้อตกลงกับ Scroll Lock และ Xorg?