endokのブログ

IT・プログラミングネタ

LogicoolのSetPointでたまに設定が初期化される件

LogicoolのワイヤレスマウスM560が気に入っていて、自宅用と会社用にそれぞれ購入して使っているほどである。Logicool製デバイスの制御のためにSetPointというソフトウェアが提供されていて、これを使うとマウス速度の変更や、アプリケーション毎にボタン割り当ての変更ができる。
SetPointの機能自体は非常に便利で満足しているのだが、スタイバイ復帰やディスプレイ切り替えの拍子に設定が効かなくなることがあったりして若干の不安定さを抱えている。その中でも以前から悩ましかったのが設定が初期化されてしまう件について。
ググった対処法だけでは対応できなかったので対応をメモ。

環境

  • Windows10 Enterprise
  • SetPoint コントロールセンター6.67.83/ドライバ5.90.41

事象

何らかのタイミング(スタンバイ復帰時や再起動時?)でSetPointのマウス設定が初期化される。
普段はマウスをOFF/ONしてつなぎ直すか、タスクトレイのSetPointをダブルクリックして開くと解決することが多いのだけど、それでは解決しないことが2,3ヶ月に1回程度ある。

SetPointの「マイマウス」タブが一時的に表示されないという事象も発生していた(と思う)。
→こちらは再起動など色々やっていたらいつの間にか直っていた。

対処法

上記記事にも記載があるが、設定ファイルの位置は下記となる。

・機種別デフォルト設定
C:\ProgramData\LogiShrd\SetPointP\Devices\PointingDevice\[マウスのモデルID(16進数表記)]\[マウスのモデルID(16進数表記)].xml

・ユーザー設定
C:\Users\[ユーザー名]\AppData\Roaming\Logitech\SetPoint

モデルIDはuser.xmlにModel="XXX"という形で記載してある。(ReceiverのModelと間違えないように注意)
M560の場合は下記のように記載があり、16781313(10進数)=100010001(16進数)がモデルIDである。
16進数への変換はWindows標準の電卓のプログラマモードなどで可能。

<Device DisplayName="Wireless Mouse M560" Class="PointingDevice" Model="16781313" NumberOfButtons="7" ConnectionID="">

まずは機種別デフォルト設定でOverride設定が無いか確認したが、こちらは特に問題なし。

次に正常だった時のuser.xmlのバックアップから設定ファイルを戻してみるも、SetPointの再起動、OS再起動をしても設定が戻らない。

なんでだろーと思い、設定ファイルの比較をしていると原因が判明。
user.xml内にM560用の設定が複数記載されており、Modelが16781313のものから16781316まで4種類もあった。
機種別の設定フォルダを見てみると、user.xmlのModelと対応するように100010001~100010004までフォルダができていた。
(最初は100010001だけだったと思うんだけど・・・)

理由はよくわからないが何らかのタイミングでModelのIDが変わっていっているようで、そのタイミングで初期化されたように見えていたようだ。
SetPointから設定保存をしてみると、現在は100010004として認識されている模様。
100010001の設定バックアップから戻していたため反映されていなかったと思われる。

最終的には、設定バックアップから復元後、Modelの値を書き換えることでSetPointに設定が認識された。

まとめ

根本的な原因は不明なものの、対処法はわかったのでとりあえずは満足。しかし他の方の記事を見る限り数年前から発生しているようなので、そもそもSetPoint側でしっかり対応して欲しいところ。公式に明言されていない設定ファイルを直接どうこうするというのは、バッドノウハウ感がすごい。