2 คะแนน โดย GN⁺ 2024-12-19 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • 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 เวอร์ชันล่าสุด สามารถลองใช้แพ็กเกจต่อไปนี้ได้

คลังที่อาจเป็นเวอร์ชันเก่า

1 ความคิดเห็น

 
GN⁺ 2024-12-19
ความคิดเห็นบน Hacker News
  • ใช้ MX Master มานานกว่า 10 ปีแล้ว และชอบทั้งประสิทธิภาพ แบตเตอรี่ การออกแบบ และสัมผัสการใช้งาน
    แต่ โปรแกรม Logitech ขนาด 150MB ที่ต้องติดตั้งบน Windows เพื่อจัดการอุปกรณ์นั้นไม่ชอบเลย และรู้สึกเหมือนส่งข้อมูล telemetry ที่ไม่จำเป็นออกไปเพียบ
    หลังจากหงุดหงิดกับปัญหาการเชื่อมต่อ Bluetooth อยู่เรื่อย ๆ เมื่อไม่กี่เดือนก่อนก็เจอ Solaar ซึ่งมีอินเทอร์เฟซดีกว่าเครื่องมือของ Logitech เรียบง่ายและเบา แสดงให้เห็นข้อดีของซอฟต์แวร์โอเพนซอร์สได้ชัดเจน

    • ไม่เคยมีปัญหาการเชื่อมต่อ Bluetooth กับฮาร์ดแวร์ Logitech แต่ต้องการให้ทำงานผ่าน ตัวรับ Bolt เพื่อให้ใช้ได้แม้ไม่มีระบบปฏิบัติการ
      Solaar จัดการจับคู่ให้เสร็จใน 30 วินาที และพอใจมาก
      แต่ Bolt ไม่ได้ปรากฏต่อระบบปฏิบัติการเหมือน Bluetooth จริง ๆ จึงดูระดับแบตเตอรี่ได้เฉพาะใน Solaar เท่านั้น
    • ซอฟต์แวร์ Logitech บน Windows แม้ขนาดดาวน์โหลดจะใหญ่ แต่ดูเหมือนปรับแต่งมาดีกว่าของ Corsair มาก
      เปิดทิ้งไว้ไม่กี่วัน โปรเซสของ Corsair สะสมเวลา CPU เกือบ 1 ชั่วโมง ส่วน Logitech อย่างมากก็แค่ไม่กี่นาที
      เห็นแบบนั้นแล้วจึงเปลี่ยนอุปกรณ์ Corsair ทั้งหมดไปเป็น Logitech หรือยี่ห้ออื่น
    • ถ้าจะพูดเข้าข้าง Logitech บ้าง ในการตั้งค่ามีสวิตช์ปิด diagnostic data อยู่ตรง ๆ เลย
    • จำได้ว่าเคยติดตั้งซอฟต์แวร์ Logitech ใน เครื่องเสมือน เพื่อตั้งค่าเมาส์ แล้วค่อยลบ VM ทิ้ง
      สิ่งเดียวที่อยากทำคือปิด LED สีรุ้งเท่านั้น และถ้าซื้อเมาส์ใหม่ครั้งหน้าคิดว่าจะลองใช้ Solaar
    • สิ่งเดียวที่ไม่พอใจในเมาส์ Logitech คือเมาส์สำหรับงานสำนักงานไม่รองรับ polling rate สูง
  • ถ้าพอร์ตสิ่งนี้มา Mac ด้วยก็คงดี
    วันนี้เพิ่งพบว่าไดรเวอร์เมาส์มี AI Prompt Builder เปิดไว้เป็นค่าเริ่มต้น และยิ่งน่าประหลาดใจเข้าไปอีกเพราะตลอดหลายเดือนที่ผ่านมาก็ปฏิเสธคำขอสิทธิ์เข้าถึงประวัติการพิมพ์อย่างดื้อดึงมาตลอด
    ใช้เวอร์ชัน “Offline” สำหรับองค์กรของ Logitech เพื่อลบโปรแกรมเสริมส่วนใหญ่ออกไป ว่ากันว่าเวอร์ชันนี้ไม่ติดต่อกลับบ้านและไม่ขอสิทธิ์เพิ่มเติม แต่อาจแตกต่างกันไปตามสภาพแวดล้อม
    https://support.logi.com/hc/en-us/articles/11570501236119-Lo...

    • เรื่องที่ AI Prompt Builder เปิดเป็นค่าเริ่มต้นในไดรเวอร์เมาส์นั้นน่าประหลาดใจมากจนต้องไปค้นดูว่ามันคืออะไร
      โลกเรานี่ประหลาดจริง ๆ
      https://www.logitech.com/en-us/software/logi-ai-prompt-build...
    • Logitech ใช้วิธีทำปุ่มเดินหน้า/ย้อนกลับบน macOS ได้แปลกมาก
      มันเลียนแบบ เหตุการณ์ปัดนิ้ว และไม่สามารถตั้งเป็น Mouse Forward กับ Mouse Backward (M4/M5) แบบมาตรฐานได้
      https://superuser.com/a/1216049
      บน Windows จะตั้งค่าด้วยวิธีนั้นพอดี เพื่อให้พฤติกรรมสอดคล้องกันในแต่ละแอปพลิเคชัน
    • เพิ่งย้ายจาก Logi Options ไปใช้ Steer Mouse
      สามารถแมปปุ่มและเพิ่มอินพุตแบบกดร่วมกันได้ด้วย
      แต่ดูเหมือนยังไม่มีทริกเกอร์จากการเคลื่อนเมาส์ เช่น กดปุ่มย้อนกลับค้างไว้แล้วขยับไปทางซ้ายเพื่อเปลี่ยน Spaces เลยกำลังหาอยู่
      https://plentycom.jp/en/steermouse/
    • อย่างน้อยก็ไม่ใช่ spyware จริง ๆ
      https://news.ycombinator.com/item?id=29056847
      ไดรเวอร์ Wacom เก็บและส่งชื่อแอปพลิเคชันกับชื่อหน้าต่าง และยังทำแบบนั้นอยู่แม้เคยเป็นประเด็นใหญ่
    • ใช้ BetterMouse กับ MX Anywhere 3S ซึ่งทำทุกอย่างที่ต้องการได้ครบ
      ราคาไม่กี่ดอลลาร์ แต่มีเวอร์ชันทดลอง และติดตั้งผ่าน Homebrew ได้ด้วย
      https://better-mouse.com
  • สงสัยว่า Windows มีทางเลือกแบบนี้ไหม
    เมาส์ Logitech โดยรวมถือว่าดี แต่ข้อเสียใหญ่ข้อหนึ่งคือ ฟังก์ชันมาโครไม่ได้อยู่บนอุปกรณ์โดยตรง ดังนั้นแม้แต่การผูกปุ่มเดียวให้เป็นชุดคีย์หลายปุ่มก็ทำไม่ได้หากไม่มีซอฟต์แวร์เสริมอย่าง G-Hub
    บน Linux มี Solaar กับ Piper/libratbagd และบน macOS ดูเหมือน SteerMouse จะเข้ากับเมาส์ที่มีปุ่มเยอะได้ค่อนข้างดี
    ถ้ามีอะไรที่พอใช้แทน G-Hub บน Windows ได้ ก็น่าจะแนะนำเมาส์ Logitech ให้เพื่อนและครอบครัวที่ใช้แต่ Windows ได้ง่ายขึ้นมาก
    ด้วยเหตุผลนี้ เมื่อก่อนจึงชอบ Roccat ที่สุด ฟังก์ชันทุกอย่างที่เมาส์ทำได้สามารถทำบนอุปกรณ์ได้หมด เมื่อตั้งค่าครั้งเดียวแล้ว แม้จะลบซอฟต์แวร์ที่ใช้ตั้งค่าไปก็ไม่มีข้อจำกัด
    แต่การควบคุมคุณภาพฮาร์ดแวร์ก็ก้ำกึ่งมานานแล้ว และหลังจากถูก Turtle Beach เข้าซื้อก็ดูเหมือนจะแย่ลงอีก

    • ข้อเสียใหญ่จริง ๆ ของ Logitech คือจงใจใช้ สวิตช์คุณภาพต่ำ จนบางครั้งพังภายในไม่กี่เดือน
      เมาส์เกมมิงราคาแพงเกินเหตุของเขาก็เหมือนกัน
      ก่อนซื้อ Logitech ไม่เคยเจอเมาส์ที่ปุ่มพังมาก่อน และคนรอบตัวก็ชมกัน แต่พอถามว่าซื้อซ้ำไปกี่ตัวแล้ว เรื่องก็เปลี่ยนไป
  • ตอนที่ทำดองเกิลเมาส์หาย และตอนนั้นมีแค่ Ubuntu ให้ใช้ Solaar ช่วยได้มากจริง ๆ
    ผมสามารถจับคู่เมาส์กับดองเกิลตัวเดียวกับที่คีย์บอร์ดใช้อยู่ได้ และหลังจากนั้นก็ใช้งานได้ต่อเนื่องโดยไม่มีปัญหา

    • ถ้าภายหลังต้องใช้อีก Logitech มี เครื่องมือเฉพาะบนเว็บ และสามารถจับคู่ตัวรับสัญญาณผ่าน Web Serial ได้
    • ผมหงุดหงิดกับ Logitech มาก
      ผมใช้คีย์บอร์ด MX Mechanical Mini กับเมาส์ MX Ergo แต่ดองเกิลของทั้งสองตัวต่างกันและเข้ากันไม่ได้ จึงจับคู่กับดองเกิลเดียวกันไม่ได้
      แถมดองเกิลที่เสียบกับพอร์ต USB-A ด้านขวาของแล็ปท็อปก็มักมีอาการหน่วงโดยไม่ทราบสาเหตุ
      สงสัยว่า Solaar จะช่วยแก้ปัญหาแบบนี้ได้ไหม
    • ปุ่มเมาส์มักเสียเร็วกว่าคีย์บอร์ดมาก แต่สำหรับคนที่ใช้คอมพิวเตอร์หนัก ๆ อุปกรณ์ HID แบบไร้สาย โดยทั่วไปก็แทบจะเป็นของสิ้นเปลือง
      ที่บริษัทแจกชุดคีย์บอร์ด/เมาส์ไร้สายให้ เพราะถูกกว่าการเปลี่ยนคีย์บอร์ดเฉพาะของแล็ปท็อป และยังมีโอกาสทำให้ผู้ใช้เกิดอาการบาดเจ็บจากการใช้งานซ้ำ ๆ น้อยกว่า
      ถ้าต้องมาเรียนรู้แบบเจ็บตัวตั้งแต่เป็นจูเนียร์ ก็ไม่ใช่เรื่องตลกเลย
  • ผมใช้ Solaar กับ MX Master 2S รุ่นเก่ามาค่อนข้างนานแล้ว
    ส่วนใหญ่ใช้ปรับจุดที่ล้อเลื่อนหยุดคลิกเป็นจังหวะแล้วเปลี่ยนไปหมุนอิสระ
    Logitech ใส่คันโยกไฟฟ้าสำหรับควบคุมเฟือง ratchet ไว้ในเมาส์ และ Solaar ก็มีตัวเลือกให้ปรับตรงนี้ ซึ่งทำงานได้ดีมาก
    อีกอย่างที่ชอบคือสามารถผูกคีย์ลัดของคีย์บอร์ดกับเจสเจอร์บางอย่างที่ใช้ปุ่มใต้ฝ่ามือได้

  • ผมซื้อ Logitech ก็เพราะมี Solaar
    หวังว่านักพัฒนา Solaar จะได้รับค่าตอบแทนบ้าง และถ้าใส่ AI prompt builder เข้าไปด้วยก็น่าจะสมบูรณ์เลย

    • ไม่แน่ใจว่า AI prompt builder นี่พูดเล่นหรือเสนอจริงจัง
      นึกไม่ออกเลยว่า AI จะเข้าไปอยู่ในยูทิลิตีตั้งค่าเมาส์ได้อย่างไร
  • อยากให้คนที่รู้ Linux ดีช่วยอธิบายหน่อย
    เท่าที่เข้าใจ มันเหมือนเป็นการทำไดรเวอร์สำหรับ Linux แต่สงสัยว่าทำไมถึงเขียนได้ทั้งหมดด้วย Python ล้วน ๆ
    ปกติโค้ดไดรเวอร์เขียนด้วย C หรือ C++ และเข้าใจว่าวิธีใหม่ของการพัฒนาเคอร์เนลช่วงนี้คือ Rust
    ไม่เข้าใจว่า Python ล้วน ๆ ทำให้มันทำงานได้อย่างไร

    • Solaar ไม่ใช่ไดรเวอร์อุปกรณ์ และตอบสนองเฉพาะข้อความพิเศษของอุปกรณ์ที่ระบบอินพุตของ Linux เพิกเฉย
      ไดรเวอร์ Linux ทั่วไปเป็นตัวทำส่วนที่จำเป็นในการรับข้อความ HID ส่วน Solaar จัดการข้อความเฉพาะผู้ผลิตบนชั้นนั้นอีกที
      คล้ายกับโปรแกรมที่ส่งข้อความ TCP เฉพาะผู้ผลิตบนไดรเวอร์เครือข่ายเดิมของระบบปฏิบัติการ และโปรแกรมนั้นไม่จำเป็นต้องเป็นไดรเวอร์เครือข่ายระดับเคอร์เนล
    • ตามประโยคที่สองใน README ระบุว่า Solaar ไม่ใช่ไดรเวอร์อุปกรณ์ และตอบสนองเฉพาะข้อความพิเศษที่ระบบอินพุตของ Linux เพิกเฉย
      ดูเหมือนไม่ได้ทำงานในระดับเคอร์เนล
    • ถ้ามองโดยทั่วไปกว่านี้ ในยุค 80 และต้นยุค 90 ฮาร์ดแวร์แต่ละชิ้นต้องตั้งค่า COM port หรือ IRQ และบ่อยครั้งต้องเปลี่ยนจัมเปอร์บนอุปกรณ์จริง ๆ
      ผู้ใช้ต้องตรวจเองว่า 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 ที่ปกติทำอยู่
    • น่าจะใช้บางอย่างอย่าง LibUSB bindings
  • ขอถามแบบคนไม่รู้หน่อยว่า ทำไมตั้งแต่แรกถึงต้องมีแอปสำหรับจัดการคีย์บอร์ดกับเมาส์ด้วย
    มันไม่ได้รองรับทันทีด้วยไดรเวอร์ทั่วไปหรือ?

    • อุปกรณ์ Logitech ส่วนใหญ่มีการตั้งค่าพารามิเตอร์เฉพาะที่ไดรเวอร์ทั่วไปไม่จัดการ
      ตัวอย่างเช่น ใน MX Master สามารถตั้งได้ว่าปุ่ม 6 ปุ่มจะสร้าง event แบบใด
      K810 สร้าง event พิเศษเหมือนปุ่มฟังก์ชันเสีย แต่สามารถใช้ซอฟต์แวร์เปลี่ยนกลับให้เป็นปุ่มฟังก์ชันมาตรฐานอย่าง F1 ได้
    • Solaar ค่อนข้างเหมือนอินเทอร์เฟซโอเพนซอร์สสำหรับฟีเจอร์เสริมบางอย่างของสแตก HID++ ของ Logitech และฟีเจอร์เหล่านี้ถูกเปิดเผยเป็น HID usage page แบบกำหนดเองสำหรับแอปพลิเคชัน
      HID++ ที่พูดถึงตรงนี้คือดองเกิล Logitech และบางครั้งก็รวมกับการรองรับ Bluetooth ของอุปกรณ์จริงด้วย
      ตัวเลือกเพิ่มเติมของแทร็กบอล Logitech และการควบคุมการจับคู่ ดูได้จากภาพหน้าจอนี้
      [1] https://usercontent.irccloud-cdn.com/file/2cZcZiNk/image.png
    • อุปกรณ์บางรุ่นมีฟีเจอร์ที่ควบคุมพฤติกรรมฮาร์ดแวร์ด้วยซอฟต์แวร์ เช่น polling rate ของเซ็นเซอร์ออปติคัล หรือโหมดคลัตช์ของล้อเลื่อน
      ฟีเจอร์เหล่านี้ไม่ใช่ส่วนหนึ่งของมาตรฐาน USB HID จึงไม่มีระบบปฏิบัติการใดรองรับในตัว
    • การมีซอฟต์แวร์ Linux ที่ใช้งานได้จริงสำหรับจับคู่อุปกรณ์ใหม่กับ Unifying receiver ก็เป็นข้อดีใหญ่เช่นกัน
    • เป็นคำถามที่สมเหตุสมผล
      โดยทั่วไปเป็นเพราะการตั้งค่าของผู้ใช้ เช่น DPI และอัตรารีเฟรชของเมาส์, การตั้งค่าการตอบสนองเชิงสัมผัสของคีย์บอร์ด(https://wooting.io/), และการผูกคีย์ลัด
      เมื่อต้องโหลดการตั้งค่าให้สม่ำเสมอแม้อยู่กับเครื่องที่ไม่ใช่ของตัวเอง เช่น งาน LAN party การมีสิ่งนี้ก็เกินกว่าระดับ “มีก็ดี” และแทบจะจำเป็นเลย
  • ใช้ Solaar มาหลายปีแล้ว และมันทำงานได้ตามที่โฆษณาไว้ ไม่มีปัญหา
    ขอบคุณที่ยังคงดูแลโปรเจกต์ที่มีประโยชน์นี้ต่อไป

  • ใช้คีย์บอร์ด Logitech K400 ที่มีทัชแพดในตัวร่วมกับ Solaar มาหลายปีแล้ว
    รันบน Raspberry Pi ที่เชื่อมต่อกับทีวี และทำงานได้ดีมากโดยไม่มีปัญหา
    ไม่เคยเชื่อมต่อกับซอฟต์แวร์ Logitech บน Mac หรือ Windows เลย