หากคุณกำลังเขียนโปรแกรมในโลกแห่งความจริงที่ใช้เมาส์ใน Linux คุณมักจะเขียนแอปพลิเคชั่น X และในกรณีนี้คุณควรถามเซิร์ฟเวอร์ X สำหรับกิจกรรมเมาส์ Qt , GTKและlibsdlเป็นห้องสมุด C ยอดนิยมที่ให้ฟังก์ชั่นสำหรับการเข้าถึงเมาส์แป้นพิมพ์กราฟิกตัวจับเวลาและคุณสมบัติอื่น ๆ ที่จำเป็นสำหรับการเขียนโปรแกรม GUI Ncursesเป็นไลบรารีที่คล้ายกันสำหรับแอปพลิเคชันเทอร์มินัล
แต่ถ้าคุณกำลังสำรวจระบบของคุณหรือคุณไม่สามารถใช้ X ด้วยเหตุผลใดก็ตามนี่คือวิธีการทำงานที่อินเตอร์เฟสเคอร์เนล
แนวคิดหลักในปรัชญา UNIX คือ "ทุกอย่างเป็นไฟล์" โดยเฉพาะอย่างยิ่งสิ่งต่าง ๆ ที่เป็นไปได้ควรเข้าถึงได้ผ่านการโทรของระบบเดียวกับที่คุณใช้เพื่อทำงานกับไฟล์ ดังนั้นเคอร์เนลอินเตอร์เฟสกับเมาส์จึงเป็นไฟล์อุปกรณ์ คุณopen()
เป็นตัวเลือกโทรpoll()
หรือselect()
บนเพื่อดูว่ามีข้อมูลเข้ามาและread()
อ่านข้อมูล
ในครั้งก่อน-USB, แฟ้มอุปกรณ์เฉพาะมักจะเป็นพอร์ตอนุกรมเช่น/dev/ttyS0
หรือพอร์ต PS / /dev/psaux
2, คุณได้คุยกับเม้าส์โดยใช้โพรโทคอลฮาร์ดแวร์ใด ๆ วันนี้/dev/input/*
ระบบย่อยเป็นที่ต้องการเนื่องจากเป็นวิธีการจัดการอุปกรณ์อินพุตที่เป็นอิสระและเป็นเอกภาพ โดยเฉพาะอย่างยิ่ง/dev/input/mice
จะให้กิจกรรมจากเมาส์ใด ๆ ที่ติดอยู่กับระบบของคุณและ/dev/input/mouseN
จะให้กิจกรรมจากเมาส์เฉพาะ ในลีนุกซ์รุ่นใหม่ส่วนใหญ่ไฟล์เหล่านี้จะถูกสร้างขึ้นแบบไดนามิกเมื่อคุณต่อเมาส์
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่คุณจะอ่านหรือเขียนไปยังไฟล์อุปกรณ์เมาส์คุณสามารถเริ่มต้นด้วยinput / input.txtในเอกสารประกอบเคอร์เนล ดูเฉพาะในหัวข้อ 3.2.2 (mousedev) และ 3.2.4 (evdev) และส่วนที่ 4 และ 5