ไดรเวอร์ตัวนี้สำหรับสำหรับอุปกรณ์นำเสนอ Logitech Wireless Presenter R400 และ Logitech Professional Presenter R800 เพื่อให้ปุ่มทุกปุ่มทำงานร่วมกับโปรแกรม Keynote บน OS X ได้
เวลานำเสนองานผมจะใช้โปรแกรม Keynote กับโปรแกรมบน iOS ที่ชื่อว่า Keynote Remote ปัญหาของ Keynote Remote คือมันค่อนข้างช้าและไม่สามารถใช้ได้ในบางสถานการณ์
สำหรับคนที่ต้องนำเสนองานเป็นประจำอาจจะรู้จัก Logitech Wireless Presenter R400 และ Logitech Professional Presenter R800 ปัญหาของอุปกรณ์สองตัวนี้คือมันถูกออกแบบมาให้ใช้กับโปรแกรม Microsoft PowerPoint บน Windows ทำให้มีสองปุ่มที่ไม่สามารถใช้ได้กับโปรแกรม Keynote คือ ปุ่ม Play Slide กับ ปุ่ม Blank
ผมอยากทำให้อุปกรณ์สองตัวนี้ใช้กับโปรแกรม Keynote ได้อย่างสมบูรณ์ ผมจึงใช้เวลาว่างช่วงปิดเทอมเขียนไดรเวอร์ตัวนี้ขึ้นมา
คุณสามารถดาวน์โหลดตัวติดตั้งได้ที่นี่ครับ https://github.com/downloads/ake-koomsin/LogitechWirelessPresenterKext/LogitechWirelessPresenterKernelExtension.zip
หลังติดตั้งแนะนำให้รีสตาร์ทเครื่องเพื่อให้ตัวระบบปฏิบัติการโหลดตัวไดรเวอร์ตอนเปิดขึ้นมา
คุณสามารถดูได้ที่นี่ครับ https://github.com/ake-koomsin/LogitechWirelessPresenterKext
จริงๆแล้ว Logitech Wireless Presenter R400 และ Logitech Professional Presenter R800 ก็คือคีย์บอร์ดธรรมดาๆครับ จัดเป็นพวก Human Interface Device (HID)
OS X มี IOKit Framework สำหรับพัฒนาไดรเวอร์ จุดเด่นของ framework อันนี้คือเราสามารถเขียนไดรเวอร์ด้วยเทคนิคการเขียนโปรแกรมเชิงวัตถุได้ครับ ภาษาที่ใช้คือ C++
IOKit Framework มี API สำหรับเขียนไดรเวอร์ USB HID ครับ
สิ่งที่จำเป็นต้องรู้ในการเขียนไดรเวอร์กับ IOKit Framework มีดังต่อไปนี้
class ที่ถูก subclass คือ IOEventDriver ครับ ผมรู้จากการดูว่าไดรเวอร์ของคีย์บอร์ดของ Apple เริ่มที่ไหนใน ioreg และศึกษาจาก source code ที่ Apple ปล่อยออกมาบน http://opensource.apple.com/
ไอเดียก็ง่ายๆ ครับ ตัวไดรเวอร์ตรวจจับปุ่มที่เราสนใจและก็เปลี่ยนให้เป็นปุ่มที่ต้องการ
ปุ่ม Play Slide คือปุ่ม F5 ครับ ผมเปลี่ยนเป็น Command + Alt + P ส่วนปุ่ม Blank คือ ปุ่ม . ครับ ผมเปลี่ยนเป็น B
รายละเอียดที่ลึกกว่านี้ดูได้ใน source code หรือลองสอบถามมาก็ได้ครับ
Logitech Wireless Presenter R400 และ Logitech Professional Presenter R800 มี VendorID และ ProductID เดียวกันครับ ต่างกันที่ว่า R800 มีตัวตั้งเวลาและเลเซอร์สีเขียวที่โฆษณาว่าสว่างกว่าครับ
Comments
ผมยังอ่านหัวข่าวไม่ค่อยรู้เรื่องว่ามันเอาไว้ทำอะไรนะครับ (แต่พอมาอ่านในเนื้อหาแล้วเข้าใจ) อาจจะลองปรับคำพูดให้มันเหมาะสำหรับคนที่อยู่นอกวงการเข้าใจได้ง่ายขึ้นหน่อยครับ
แก้ไขแล้วครับ หัวข้อพอรู้เรื่องขึ้นมั้ยครับ
ขอบคุณสำหรับคำชี้แนะครับ ได้ทำการแก้ไขแล้วครับ
ผมอ่านหัวข้อแล้วยังค่อนข้างมึนนะครับ อาจเป็นเพราะตัวภาษาไทย
อยากถามคุณ mk ว่าไดรเวอร์ ถ้าเราใช้ทับศัพท์แนวนี้จะได้มั้ย
"ไดรเวอร์สำหรับไวร์เลสพรีเซ็นเตอร์ของ Logitech"
แรงบัลดาลใจ => แรงบันดาลใจ
ดาวโหลด => ดาวน์โหลด
ภาษาที่ให้ => ภาษาที่ใช้
ขอบคุณมากครับ ได้แก้ไขแล้วครับ
"กับโปแกรมบน iOS ที่ชื่อว่า Keynote Remote"
ขอบคุณครับ
โอ้ สุดยอด "อยากได้ต้องทำเอง" ของแท้เลย ขอแสดงความนับถือครับ
เทคโนโลยีไม่ผิด คนใช้มันในทางที่ผิดนั่นแหละที่ผิด!?!
อันนี้ไม่ธรรมดาจริงๆ นับถือครับ