Solaar ตัวจัดการบน Linux สำหรับคีย์บอร์ด เมาส์ และอุปกรณ์ Logitech อื่น ๆ
(github.com/pwr-Solaar)- Solaar คือเครื่องมือสำหรับจัดการคีย์บอร์ด เมาส์ และอุปกรณ์ Logitech อื่น ๆ หลายรุ่นบน Linux ที่เชื่อมต่อผ่านตัวรับสัญญาณ Unifying, Bolt, Lightspeed, Nano รวมถึงผ่านสาย USB หรือ Bluetooth
- Solaar ไม่ใช่ไดรเวอร์อุปกรณ์ และจะตอบสนองเฉพาะข้อความพิเศษจากอุปกรณ์ที่ระบบอินพุตของ Linux มองข้าม
- ฟีเจอร์หลักคือ การจับคู่/ยกเลิกการจับคู่ ระหว่างตัวรับสัญญาณกับอุปกรณ์, การกำหนดค่าการตั้งค่าอุปกรณ์, การตั้งค่าปุ่มแบบกำหนดเอง และการรันกฎที่ตอบสนองต่อข้อความพิเศษ
- แพ็กเกจที่คอมไพล์ไว้ล่วงหน้าเวอร์ชันล่าสุดมีให้ในคลังมาตรฐานของ Linux บางดิสทริบิวชัน เช่น Fedora และหากคลังของดิสทริบิวชันไม่มีเวอร์ชันล่าสุด สามารถใช้แพ็กเกจจาก Arch, Ubuntu/Kubuntu PPA หรือ NixOS Flake ได้
- ในคลังของ Debian, Ubuntu universe, Gentoo และ Mageia ก็มี Solaar เช่นกัน แต่อาจ ล้าหลังกว่าเวอร์ชันปัจจุบันอยู่หลายเวอร์ชัน
อุปกรณ์ Logitech ที่ Solaar จัดการได้
- Solaar คือเครื่องมือจัดการบน Linux สำหรับคีย์บอร์ด เมาส์ และอุปกรณ์ Logitech อื่น ๆ จำนวนมาก
- รูปแบบการเชื่อมต่อที่รองรับมีดังนี้
- การเชื่อมต่อไร้สายผ่านตัวรับสัญญาณ Unifying, Bolt, Lightspeed, Nano
- การเชื่อมต่อผ่านสาย USB
- การเชื่อมต่อผ่าน Bluetooth
- Solaar ไม่ใช่ไดรเวอร์อุปกรณ์ และจะตอบสนองเฉพาะ ข้อความพิเศษ ของอุปกรณ์ที่ระบบอินพุตของ Linux มองข้าม
ฟีเจอร์ที่รองรับ
- Solaar รองรับ การจับคู่/ยกเลิกการจับคู่ ระหว่างตัวรับสัญญาณกับอุปกรณ์
- สามารถกำหนดค่าการตั้งค่าอุปกรณ์ได้
- รองรับ การตั้งค่าปุ่มแบบกำหนดเอง
- สามารถรัน กฎ เพื่อตอบสนองต่อข้อความพิเศษของอุปกรณ์ได้
- ลิงก์เอกสาร
แพ็กเกจสำหรับติดตั้ง
- แพ็กเกจที่คอมไพล์ไว้ล่วงหน้าเวอร์ชันล่าสุดมีให้ใน คลังมาตรฐาน ของ Linux บางดิสทริบิวชัน เช่น Fedora
- หากคลังมาตรฐานของดิสทริบิวชันไม่มี Solaar เวอร์ชันล่าสุด สามารถลองใช้แพ็กเกจต่อไปนี้ได้
- Arch solaar package: แพ็กเกจในคลัง extra
- Solaar stable ppa: แพ็กเกจสำหรับ Ubuntu/Kubuntu
- Svenum/Solaar-Flake: แพ็กเกจ NixOS Flake
คลังที่อาจเป็นเวอร์ชันเก่า
- Solaar มีให้ในคลังอื่นบางแห่งด้วย แต่อาจ ล้าหลังกว่าเวอร์ชันปัจจุบันอยู่หลายเวอร์ชัน
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ใช้ MX Master มานานกว่า 10 ปีแล้ว และชอบทั้งประสิทธิภาพ แบตเตอรี่ การออกแบบ และสัมผัสการใช้งาน
แต่ โปรแกรม Logitech ขนาด 150MB ที่ต้องติดตั้งบน Windows เพื่อจัดการอุปกรณ์นั้นไม่ชอบเลย และรู้สึกเหมือนส่งข้อมูล telemetry ที่ไม่จำเป็นออกไปเพียบ
หลังจากหงุดหงิดกับปัญหาการเชื่อมต่อ Bluetooth อยู่เรื่อย ๆ เมื่อไม่กี่เดือนก่อนก็เจอ Solaar ซึ่งมีอินเทอร์เฟซดีกว่าเครื่องมือของ Logitech เรียบง่ายและเบา แสดงให้เห็นข้อดีของซอฟต์แวร์โอเพนซอร์สได้ชัดเจน
Solaar จัดการจับคู่ให้เสร็จใน 30 วินาที และพอใจมาก
แต่ Bolt ไม่ได้ปรากฏต่อระบบปฏิบัติการเหมือน Bluetooth จริง ๆ จึงดูระดับแบตเตอรี่ได้เฉพาะใน Solaar เท่านั้น
เปิดทิ้งไว้ไม่กี่วัน โปรเซสของ Corsair สะสมเวลา CPU เกือบ 1 ชั่วโมง ส่วน Logitech อย่างมากก็แค่ไม่กี่นาที
เห็นแบบนั้นแล้วจึงเปลี่ยนอุปกรณ์ Corsair ทั้งหมดไปเป็น Logitech หรือยี่ห้ออื่น
สิ่งเดียวที่อยากทำคือปิด LED สีรุ้งเท่านั้น และถ้าซื้อเมาส์ใหม่ครั้งหน้าคิดว่าจะลองใช้ Solaar
ถ้าพอร์ตสิ่งนี้มา Mac ด้วยก็คงดี
วันนี้เพิ่งพบว่าไดรเวอร์เมาส์มี AI Prompt Builder เปิดไว้เป็นค่าเริ่มต้น และยิ่งน่าประหลาดใจเข้าไปอีกเพราะตลอดหลายเดือนที่ผ่านมาก็ปฏิเสธคำขอสิทธิ์เข้าถึงประวัติการพิมพ์อย่างดื้อดึงมาตลอด
ใช้เวอร์ชัน “Offline” สำหรับองค์กรของ Logitech เพื่อลบโปรแกรมเสริมส่วนใหญ่ออกไป ว่ากันว่าเวอร์ชันนี้ไม่ติดต่อกลับบ้านและไม่ขอสิทธิ์เพิ่มเติม แต่อาจแตกต่างกันไปตามสภาพแวดล้อม
https://support.logi.com/hc/en-us/articles/11570501236119-Lo...
โลกเรานี่ประหลาดจริง ๆ
https://www.logitech.com/en-us/software/logi-ai-prompt-build...
มันเลียนแบบ เหตุการณ์ปัดนิ้ว และไม่สามารถตั้งเป็น Mouse Forward กับ Mouse Backward (M4/M5) แบบมาตรฐานได้
https://superuser.com/a/1216049
บน Windows จะตั้งค่าด้วยวิธีนั้นพอดี เพื่อให้พฤติกรรมสอดคล้องกันในแต่ละแอปพลิเคชัน
สามารถแมปปุ่มและเพิ่มอินพุตแบบกดร่วมกันได้ด้วย
แต่ดูเหมือนยังไม่มีทริกเกอร์จากการเคลื่อนเมาส์ เช่น กดปุ่มย้อนกลับค้างไว้แล้วขยับไปทางซ้ายเพื่อเปลี่ยน Spaces เลยกำลังหาอยู่
https://plentycom.jp/en/steermouse/
https://news.ycombinator.com/item?id=29056847
ไดรเวอร์ Wacom เก็บและส่งชื่อแอปพลิเคชันกับชื่อหน้าต่าง และยังทำแบบนั้นอยู่แม้เคยเป็นประเด็นใหญ่
ราคาไม่กี่ดอลลาร์ แต่มีเวอร์ชันทดลอง และติดตั้งผ่าน Homebrew ได้ด้วย
https://better-mouse.com
สงสัยว่า Windows มีทางเลือกแบบนี้ไหม
เมาส์ Logitech โดยรวมถือว่าดี แต่ข้อเสียใหญ่ข้อหนึ่งคือ ฟังก์ชันมาโครไม่ได้อยู่บนอุปกรณ์โดยตรง ดังนั้นแม้แต่การผูกปุ่มเดียวให้เป็นชุดคีย์หลายปุ่มก็ทำไม่ได้หากไม่มีซอฟต์แวร์เสริมอย่าง G-Hub
บน Linux มี Solaar กับ Piper/libratbagd และบน macOS ดูเหมือน SteerMouse จะเข้ากับเมาส์ที่มีปุ่มเยอะได้ค่อนข้างดี
ถ้ามีอะไรที่พอใช้แทน G-Hub บน Windows ได้ ก็น่าจะแนะนำเมาส์ Logitech ให้เพื่อนและครอบครัวที่ใช้แต่ Windows ได้ง่ายขึ้นมาก
ด้วยเหตุผลนี้ เมื่อก่อนจึงชอบ Roccat ที่สุด ฟังก์ชันทุกอย่างที่เมาส์ทำได้สามารถทำบนอุปกรณ์ได้หมด เมื่อตั้งค่าครั้งเดียวแล้ว แม้จะลบซอฟต์แวร์ที่ใช้ตั้งค่าไปก็ไม่มีข้อจำกัด
แต่การควบคุมคุณภาพฮาร์ดแวร์ก็ก้ำกึ่งมานานแล้ว และหลังจากถูก Turtle Beach เข้าซื้อก็ดูเหมือนจะแย่ลงอีก
เมาส์เกมมิงราคาแพงเกินเหตุของเขาก็เหมือนกัน
ก่อนซื้อ Logitech ไม่เคยเจอเมาส์ที่ปุ่มพังมาก่อน และคนรอบตัวก็ชมกัน แต่พอถามว่าซื้อซ้ำไปกี่ตัวแล้ว เรื่องก็เปลี่ยนไป
ตอนที่ทำดองเกิลเมาส์หาย และตอนนั้นมีแค่ Ubuntu ให้ใช้ Solaar ช่วยได้มากจริง ๆ
ผมสามารถจับคู่เมาส์กับดองเกิลตัวเดียวกับที่คีย์บอร์ดใช้อยู่ได้ และหลังจากนั้นก็ใช้งานได้ต่อเนื่องโดยไม่มีปัญหา
ผมใช้คีย์บอร์ด MX Mechanical Mini กับเมาส์ MX Ergo แต่ดองเกิลของทั้งสองตัวต่างกันและเข้ากันไม่ได้ จึงจับคู่กับดองเกิลเดียวกันไม่ได้
แถมดองเกิลที่เสียบกับพอร์ต USB-A ด้านขวาของแล็ปท็อปก็มักมีอาการหน่วงโดยไม่ทราบสาเหตุ
สงสัยว่า Solaar จะช่วยแก้ปัญหาแบบนี้ได้ไหม
ที่บริษัทแจกชุดคีย์บอร์ด/เมาส์ไร้สายให้ เพราะถูกกว่าการเปลี่ยนคีย์บอร์ดเฉพาะของแล็ปท็อป และยังมีโอกาสทำให้ผู้ใช้เกิดอาการบาดเจ็บจากการใช้งานซ้ำ ๆ น้อยกว่า
ถ้าต้องมาเรียนรู้แบบเจ็บตัวตั้งแต่เป็นจูเนียร์ ก็ไม่ใช่เรื่องตลกเลย
ผมใช้ Solaar กับ MX Master 2S รุ่นเก่ามาค่อนข้างนานแล้ว
ส่วนใหญ่ใช้ปรับจุดที่ล้อเลื่อนหยุดคลิกเป็นจังหวะแล้วเปลี่ยนไปหมุนอิสระ
Logitech ใส่คันโยกไฟฟ้าสำหรับควบคุมเฟือง ratchet ไว้ในเมาส์ และ Solaar ก็มีตัวเลือกให้ปรับตรงนี้ ซึ่งทำงานได้ดีมาก
อีกอย่างที่ชอบคือสามารถผูกคีย์ลัดของคีย์บอร์ดกับเจสเจอร์บางอย่างที่ใช้ปุ่มใต้ฝ่ามือได้
ผมซื้อ Logitech ก็เพราะมี Solaar
หวังว่านักพัฒนา Solaar จะได้รับค่าตอบแทนบ้าง และถ้าใส่ AI prompt builder เข้าไปด้วยก็น่าจะสมบูรณ์เลย
นึกไม่ออกเลยว่า AI จะเข้าไปอยู่ในยูทิลิตีตั้งค่าเมาส์ได้อย่างไร
อยากให้คนที่รู้ Linux ดีช่วยอธิบายหน่อย
เท่าที่เข้าใจ มันเหมือนเป็นการทำไดรเวอร์สำหรับ Linux แต่สงสัยว่าทำไมถึงเขียนได้ทั้งหมดด้วย Python ล้วน ๆ
ปกติโค้ดไดรเวอร์เขียนด้วย C หรือ C++ และเข้าใจว่าวิธีใหม่ของการพัฒนาเคอร์เนลช่วงนี้คือ Rust
ไม่เข้าใจว่า Python ล้วน ๆ ทำให้มันทำงานได้อย่างไร
ไดรเวอร์ Linux ทั่วไปเป็นตัวทำส่วนที่จำเป็นในการรับข้อความ HID ส่วน Solaar จัดการข้อความเฉพาะผู้ผลิตบนชั้นนั้นอีกที
คล้ายกับโปรแกรมที่ส่งข้อความ TCP เฉพาะผู้ผลิตบนไดรเวอร์เครือข่ายเดิมของระบบปฏิบัติการ และโปรแกรมนั้นไม่จำเป็นต้องเป็นไดรเวอร์เครือข่ายระดับเคอร์เนล
ดูเหมือนไม่ได้ทำงานในระดับเคอร์เนล
ผู้ใช้ต้องตรวจเองว่า IRQ21 ถูก BIOS หรืออุปกรณ์อื่นใช้อยู่แล้วหรือไม่ จากนั้นต้องติดตั้งไดรเวอร์อุปกรณ์ที่อ่านเขียนที่อยู่หน่วยความจำเฉพาะเพื่อสื่อสารกับคอนโทรลเลอร์ ตามวิธีปิดของแต่ละบริษัท
ตอนนี้วงการฮาร์ดแวร์พัฒนาขึ้นมาก เพราะมีการทำให้วิธีทำงานของอุปกรณ์เป็นมาตรฐาน
ด้วย memory-mapped I/O ระบบปฏิบัติการจึงจัดการไดรเวอร์อุปกรณ์จำนวนมากในลักษณะคล้ายกันได้ และแค่ต้องจัดการการปรับแต่งหน่วยความจำหลังการอ่านเขียน
ใน USB มีการกำหนด device class เป็นมาตรฐาน จึงทำงานเป็นอุปกรณ์สื่อสาร อุปกรณ์เสียง อุปกรณ์จับภาพวิดีโอ และในกรณีนี้คือ HID
ดังนั้นเคอร์เนลจึงช่วยทำงานแทนการพัฒนาไดรเวอร์ได้มากกว่า 80% โดยเฉพาะเพราะปรัชญา “ทุกอย่างคือไฟล์” ของ Linux
เมื่อเสียบดองเกิล USB สมมติว่าจะมีไฟล์อย่าง
/sys/class/hid//{control, data}เกิดขึ้นตัวอย่างเช่น ถ้าเขียนค่าที่เฉพาะมากลงในไฟล์
controlเพื่อเปลี่ยนช่อง RF ของดองเกิล เคอร์เนลจะรับแล้วส่งต่อไปยังอุปกรณ์ และยังสามารถcatไฟล์.../dataเพื่อดึงข้อมูลคีย์บอร์ด/เมาส์แบบดิบได้ด้วยในทางทฤษฎี อาจทำให้เหมือนไดรเวอร์อุปกรณ์ได้โดยเชื่อมไฟล์
.../dataใน Python เข้ากับ handler สำหรับอ่าน ประมวลผลอินพุต แล้วส่งคำสั่งระบบปฏิบัติการ เช่น การขยับเมาส์หรือเหตุการณ์คีย์บอร์ดออกไปแก่นหลักคือการประมวลผลอินพุต และส่วนนี้เป็นงานยากที่ต้องอาศัยการทำวิศวกรรมย้อนกลับ
เพราะระบบปฏิบัติการไม่ได้จัดการส่วนนั้น มันจึงทำหน้าที่บางอย่างแทนแอปพลิเคชันของ Logitech ที่ปกติทำอยู่
ขอถามแบบคนไม่รู้หน่อยว่า ทำไมตั้งแต่แรกถึงต้องมีแอปสำหรับจัดการคีย์บอร์ดกับเมาส์ด้วย
มันไม่ได้รองรับทันทีด้วยไดรเวอร์ทั่วไปหรือ?
ตัวอย่างเช่น ใน MX Master สามารถตั้งได้ว่าปุ่ม 6 ปุ่มจะสร้าง event แบบใด
K810 สร้าง event พิเศษเหมือนปุ่มฟังก์ชันเสีย แต่สามารถใช้ซอฟต์แวร์เปลี่ยนกลับให้เป็นปุ่มฟังก์ชันมาตรฐานอย่าง F1 ได้
HID++ ที่พูดถึงตรงนี้คือดองเกิล Logitech และบางครั้งก็รวมกับการรองรับ Bluetooth ของอุปกรณ์จริงด้วย
ตัวเลือกเพิ่มเติมของแทร็กบอล Logitech และการควบคุมการจับคู่ ดูได้จากภาพหน้าจอนี้
[1] https://usercontent.irccloud-cdn.com/file/2cZcZiNk/image.png
ฟีเจอร์เหล่านี้ไม่ใช่ส่วนหนึ่งของมาตรฐาน USB HID จึงไม่มีระบบปฏิบัติการใดรองรับในตัว
โดยทั่วไปเป็นเพราะการตั้งค่าของผู้ใช้ เช่น DPI และอัตรารีเฟรชของเมาส์, การตั้งค่าการตอบสนองเชิงสัมผัสของคีย์บอร์ด(https://wooting.io/), และการผูกคีย์ลัด
เมื่อต้องโหลดการตั้งค่าให้สม่ำเสมอแม้อยู่กับเครื่องที่ไม่ใช่ของตัวเอง เช่น งาน LAN party การมีสิ่งนี้ก็เกินกว่าระดับ “มีก็ดี” และแทบจะจำเป็นเลย
ใช้ Solaar มาหลายปีแล้ว และมันทำงานได้ตามที่โฆษณาไว้ ไม่มีปัญหา
ขอบคุณที่ยังคงดูแลโปรเจกต์ที่มีประโยชน์นี้ต่อไป
ใช้คีย์บอร์ด Logitech K400 ที่มีทัชแพดในตัวร่วมกับ Solaar มาหลายปีแล้ว
รันบน Raspberry Pi ที่เชื่อมต่อกับทีวี และทำงานได้ดีมากโดยไม่มีปัญหา
ไม่เคยเชื่อมต่อกับซอฟต์แวร์ Logitech บน Mac หรือ Windows เลย