2 ポイント 投稿者 GN⁺ 2024-12-19 | 1件のコメント | WhatsAppで共有
  • Solaar は、Unifying、Bolt、Lightspeed、Nano レシーバーや USB ケーブル、Bluetooth で接続される複数の Logitech キーボード・マウス・その他デバイスを Linux 上で管理するツール
  • Solaar は デバイスドライバーではなく、Linux 入力システムが無視するデバイスの特殊メッセージにのみ反応する
  • 主な機能は、レシーバーとデバイスの ペアリング/解除、デバイス設定の構成、カスタムボタン設定、特殊メッセージに反応するルールの実行
  • 最新のビルド済みパッケージは Fedora など一部の Linux ディストリビューションの標準リポジトリで提供されており、ディストリビューションのリポジトリに最新版がない場合は Arch、Ubuntu/Kubuntu PPA、NixOS Flake パッケージを利用できる
  • Debian、Ubuntu universe、Gentoo、Mageia のリポジトリにも Solaar はあるが、現在のバージョンより 数バージョン遅れている可能性がある

Solaar が管理する Logitech デバイス

  • Solaar は、多くの Logitech キーボード、マウス、その他デバイス向けの Linux 管理ツール
  • 対応する接続方式は以下のとおり
    • UnifyingBoltLightspeedNano レシーバー経由のワイヤレス接続
    • USB ケーブル接続
    • Bluetooth 接続
  • Solaar はデバイスドライバーではなく、Linux 入力システムが無視するデバイスの 特殊メッセージにのみ反応する

対応機能

  • Solaar はレシーバーとデバイス間の ペアリング/ペアリング解除をサポートする
  • デバイス設定を構成できる
  • カスタムボタン設定をサポートする
  • デバイスの特殊メッセージに反応して ルールを実行できる
  • ドキュメントリンク

インストールパッケージ

  • 最新のビルド済みパッケージは Fedora など一部の Linux ディストリビューションの 標準リポジトリで提供されている
  • ディストリビューションの標準リポジトリに最新の Solaar がない場合は、次のパッケージを試せる

古いバージョンの可能性があるリポジトリ

1件のコメント

 
GN⁺ 2024-12-19
Hacker News のコメント
  • MX Masterを10年以上使ってきて、性能、バッテリー、設計、手になじむ感触のすべてが気に入っている
    Windowsで管理用に入れなければならない150MBのLogitechプログラムはまったく気に入らず、不要なテレメトリデータを大量に送っているように感じる
    Bluetooth接続の問題にずっといらだっていたところ、数か月前にSolaarを見つけた。Logitechのツールよりインターフェースが良く、シンプルで軽量で、オープンソースソフトウェアの良さがよく出ている

    • LogitechハードウェアでBluetooth接続の問題はなかったが、OSなしでも使えるようにBoltレシーバーで動作してほしかった
      Solaarは30秒でペアリングを処理してくれて、とても満足している
      ただしBoltはOS上ではちゃんとしたBluetoothのようには見えないため、バッテリー残量はSolaar内でしか確認できない
    • LogitechのWindowsソフトウェアもダウンロードサイズは大きいが、Corsairのものよりはずっと最適化されているように思う
      数日立ち上げたままにしておくと、CorsairのプロセスはCPU時間がほぼ1時間まで積み上がったが、Logitechは多くても数分程度だった
      それを見て、Corsair機器をすべてLogitechか別の製品に替えた
    • Logitechを擁護すると、設定にはdiagnostic dataをオフにするスイッチがすぐ見つかる場所にある
    • 以前、Logitechソフトウェアを仮想マシンにインストールしてマウスを設定し、その後VMを消した記憶がある
      やりたかったのは虹色LEDを消すことだけだったので、次に新しいマウスを買ったらSolaarを試すつもり
    • Logitechマウスで唯一不満なのは、オフィス向けマウスが高いポーリングレートに対応していない点
  • これをMacにも移植してくれたらうれしい
    今日、マウスドライバでデフォルトで有効になっているAIプロンプトビルダーを見つけた。数か月にわたって入力履歴の権限要求をしつこく拒否した後だったので、なおさらあきれた
    Logitechの企業向け「Offline」版を使って、ほとんどの追加プログラムを削除した。この版は外部へ通信せず、追加権限も要求しないという。環境によって異なる可能性はある
    https://support.logi.com/hc/en-us/articles/11570501236119-Lo...

    • マウスドライバでAIプロンプトビルダーがデフォルトで有効になっているというのがあまりに不可解で、いったい何なのか調べざるを得なかった
      本当に妙な世の中だ
      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/
    • 少なくとも本物のスパイウェアではない
      https://news.ycombinator.com/item?id=29056847
      Wacomドライバはアプリケーション名とウィンドウタイトルを収集して送信しており、大きな論争になった後もなお続けている
    • MX Anywhere 3Sと一緒にBetterMouseを使っているが、必要なことは全部やってくれる
      数ドルの製品だが試用版があり、Homebrewでもインストールできる
      https://better-mouse.com
  • Windowsにもこういう代替手段があるのか気になる
    Logitechのマウスは概して良いが、大きな欠点の一つはマクロ機能がオンボードではない点で、ボタン1つを複数キー入力の組み合わせに割り当てることすら、G-Hubのような補助ソフトウェアなしではできない
    LinuxにはSolaarとPiper/libratbagdがあり、macOSにはSteerMouseがあって、ボタンの多いマウスにもかなり合うようだ
    WindowsでG-Hubの代わりになるものがあるなら、Windowsだけを使う知人や家族にLogitechマウスをずっと勧めやすくなると思う
    こういう理由で、以前はRoccatが一番好きだった。マウスでできる機能はすべてオンボードで可能だったので、一度設定してしまえば、使ったソフトウェアを削除しても制限がなかった
    ただしハードウェアの品質管理はずっと前から微妙で、Turtle Beachに買収されてからはさらに悪くなりそうだ

    • Logitechの本当に大きな欠点は、わざと低品質なスイッチを使っていて、数か月で壊れることもある点
      とんでもなく高いゲーミングマウスでも同じ
      Logitechを買うまで、ボタンが壊れたマウスに遭遇したことはなかった。周囲の人たちも褒めてはいるが、何個買い直したのか聞くと話が変わってくる
  • マウスのドングルをなくして、そのとき使えるのが Ubuntu だけだったとき、Solaar には本当に助けられた
    マウスをキーボードが使っていた同じドングルにペアリングでき、その後は問題なく使い続けている

    • 後でまた必要になったら、Logitech にはWeb 専用ツールがあり、Web シリアル通信でレシーバーをペアリングできる
    • Logitech にはかなりうんざりした
      MX Mechanical Mini キーボードと MX Ergo マウスを使っているが、ドングルが互いに違って互換性がなく、同じドングルにペアリングできない
      しかもノート PC 右側の USB-A ポートに挿したドングルは、理由もなく常に遅延が出る
      Solaar がこうした問題を解決してくれるのか気になる
    • マウスボタンはキーボードよりずっと先に壊れがちだが、コンピューターをよく使う人にとって無線 HID デバイスはおおむね消耗品に近い
      会社では無線キーボード/マウスキットを支給している。ノート PC の内蔵キーボードを交換するより安く、ユーザーが反復運動過多損傷を起こす可能性も低いからだ
      ジュニアの頃に痛い思いをして学ぶと、まったく笑い事ではない
  • 古い MX Master 2S で Solaar をかなり長く使っている
    主にスクロールホイールがクリック感のある動きをやめてフリースピンに移るポイントを調整するのに使っている
    Logitech はマウス内にラチェットを制御する電動レバーを入れていて、Solaar にはそれを調整するオプションがあり、とてもうまく動く
    手のひらボタンを使った特定のジェスチャーにキーボードショートカットを割り当てられるのもよい

  • Solaar があるから Logitech を買っている
    Solaar の開発者たちがある程度報われるといいし、ここにAI プロンプトビルダーさえ入れば完成という感じだ

    • AI プロンプトビルダーが冗談なのか真面目な提案なのか分からない
      マウス設定ユーティリティに AI をどう入れられるのか、まったく見当がつかない
  • Linux に詳しい人に説明してほしい
    自分の理解ではこれは Linux 用ドライバー実装のようなものだが、どうやってPython だけで完全に書けるのか気になる
    ドライバーコードは普通 C や C++ で書くし、最近のカーネル開発の新しいやり方は Rust だと思っている
    純粋な Python でどうやってこれが動作できるのか分からない

    • Solaar はデバイスドライバーではなく、Linux 入力システムが無視するデバイスの特殊メッセージにだけ反応する
      通常の Linux ドライバーが HID メッセージを受け取るために必要な部分を実装し、Solaar はその上でメーカー固有のメッセージを処理する、ということだ
      既存の OS のネットワークドライバーの上で、プログラムがメーカー独自の TCP メッセージを送るのに似ていて、そのプログラムがカーネルレベルのネットワークドライバーである必要はない
    • README の2文目によると、Solaar はデバイスドライバーではなく、Linux 入力システムが無視する特殊メッセージにだけ反応する
      カーネルレベルで動作しているわけではなさそうだ
    • もっと一般的に見ると、80年代から90年代初頭にはハードウェアデバイスごとに COM ポートや IRQ を設定する必要があり、デバイスのジャンパーを物理的に変更しなければならないことも多かった
      ユーザーは IRQ21 が BIOS や他のデバイスで既に使われていないか自分で確認し、その後は各社が決めた独自方式に合わせて、コントローラーと通信する特定のメモリアドレスを読み書きするデバイスドライバーをインストールしていた
      今ではハードウェア業界がデバイスの動作方式を標準化したことで大きく進歩した
      メモリマップト I/O のおかげで、OS は多くのデバイスドライバーを似たように扱え、読み書き後のメモリ操作だけを処理すればよい
      USB ではデバイスクラスを標準化し、通信デバイス、オーディオデバイス、映像キャプチャデバイス、ここでは HID のように動作する
      そのためカーネルがドライバー開発の 80% 以上を肩代わりでき、特に Linux の「すべてはファイル」という哲学のおかげでなおさらそうだ
      USB ドングルを挿すと、仮に /sys/class/hid//{control, data} のようなファイルができる
      例えば control ファイルに非常に特定の値を書き込んでドングルの RF チャネルを変えると、カーネルがそれを受け取ってデバイスへ送り、.../data ファイルを cat して生のキーボード/マウスデータを得ることもできる
      理論上は Python で .../data ファイルを読み取りハンドラーにつなぎ、入力を処理したうえで、マウス移動やキーボードイベントのような OS コマンドを出す形で、デバイスドライバーのように作ることができる
      核心は入力処理で、この部分はリバースエンジニアリングが必要な難しい作業だ
    • これはデバイスの追加機能とドングルのペアリングを管理するツールだ
      OS がその部分を処理しないので、通常 Logitech のアプリケーションが担っていたいくつかの役割を代わりに果たしている
    • おそらく LibUSB バインディングのようなものを使っているのだと思う
  • 無知で聞くのだけど、そもそもキーボードとマウスを管理するアプリがなぜ必要なのか分からない
    汎用ドライバーでそのまま対応されるのでは?

    • ほとんどの Logitech デバイスには、汎用ドライバーでは扱わない特定のパラメーター設定がある
      例えば MX Master では、6個のボタンがどのイベントを発生させるかを設定できる
      K810 はファンクションキーが壊れているかのように特殊イベントを発生させるが、ソフトウェアで本来の F1 のような標準ファンクションキーに戻せる
    • Solaar は Logitech HID++ スタックのいくつかの追加機能に対するオープンソースのインターフェースに近く、これらの機能はアプリケーション用のカスタム HID 使用ページとして公開されている
      ここでいう HID++ は Logitech のドングルであり、ときには実デバイスの Bluetooth 対応と組み合わされることもある
      Logitech トラックボールの追加オプションとペアリング制御は、このスクリーンショットを見るとよい
      [1] https://usercontent.irccloud-cdn.com/file/2cZcZiNk/image.png
    • 一部のデバイスには、光学センサーのポーリングレートやスクロールホイールのクラッチモードのようなハードウェア動作をソフトウェアで制御する機能がある
      こうした機能は USB HID 標準の一部ではないため、どの OS も組み込みでは対応していない
    • 新しいデバイスを Unifying レシーバーにペアリングできる、きちんと動作する Linux ソフトウェアがあるというのも大きな利点だ
    • 妥当な質問だ
      普通はマウスなら DPI とリフレッシュレート、キーボードならタクタイル反応の設定(https://wooting.io/)、ショートカットキーの割り当てといったユーザー設定のためだ
      LAN パーティーのように自分のコンピューターではない場所でも設定を一貫して読み込む必要がある場合には、あれば便利というレベルを超えて、ほぼ必須に近い
  • Solaarを何年も使っていますが、うたわれている通りに動作し、問題はありませんでした
    便利なプロジェクトを継続してメンテナンスしてくれてありがとうございます

  • 内蔵タッチパッド付きの Logitech K400 キーボードとSolaarを何年も使っています
    TVに接続したRaspberry Piで動かしており、問題なくとてもよく動作しています
    MacやWindowsでLogitechのソフトウェアに接続したこともありません