Logi Options Plusが壊れていたのでdbファイルを修正した。
この上の記事で起きていた問題が再発したので、今度は再インストールはせず、設定ファイルになっているdb
ファイルを修正することで直した。多少のアプリケーションの導入が必要になったが、他でも使えるだろうからよし。
準備するもの
- SQLiteBrowserのダウンロード: SQLite3のdbファイルの編集に使う。リンクはすぐ下に(最新版とは限らないのでご注意を)。インストール不要な
.zip (no installer) for Win64
を選択した。 - dbファイルのロケーションを確認:
%LOCALAPPDATA%\LogiOptionsPlus
つまり、C:\Users\<USERNAME>\AppData\Local\LogiOptionsPlus
にある、settings.db
が対象ファイルになる。バックアップを取っておくと安心。
やること
LogiOptionsPlus Agent
を終了させる。これはタスクマネージャーのプロセス一覧で、lo
と打ち込んで探すのが早い。右クリックメニューから終了できる。- 用意した
DB Browser for SQLite.exe
を起動する - 左側の空欄に確認した
settings.db
ファイルをドラッグアンドドロップする - ウィンドウ上方の
データ閲覧
タブを開く - タブのすぐ下の
テーブル
からdata
テーブルを選択する id
が1
である行のfile
列を選択すると、右側ペイン(データベースのセルを編集と記載されたところ)にJSON形式で設定が保存されているのが確認できる
JSON文字列を編集すればよい。右側ペイン上方のモード
をJSON
にしておくとハイライトが効いて見やすい。
探すのは、applications.application
が保持している配列。中身が大きいのですぐわかる。この配列は、LogiOptionsPlusのアプリのウィンドウで、デバイス操作をアプリケーションごとにカスタマイズするときに指定できる+ボタンを押したときに表示されるアプリケーションの一覧のようだ。
以前発生した問題では、2つのアプリケーションA,Bが同じアプリケーションAを指しているために、Bのカスタマイズが使われずにAの設定が上書きされるような形で意図した利用が困難になっていた。
JSONを眺めていると問題のある部分は、配列の一要素で、applicationPath
が示すパスと、applicationPathsList
が持っている配列のパスが一致していないことに気づいた。
おそらくこれが原因だろうと思い。再設定することにして、この配列の一要素を削除した。
dbファイルの変更を保存するために、SQLiteBrowser
のウィンドウの上部中央やや左にある変更を書き込み
をクリックする。これが済めばウィンドウは閉じて構わない。
再設定
ここまで済めば、LogiOptionsPlus
を起動して、アプリケーションを追加から一覧を確認してみると、削除した部分のアプリがなくなっていることが確認できる。これはまた一番下から追加すればいい。無事完了!
おわり
自分の場合ではおかしくなっていたのは、アプリケーションの一覧にない自分で追加したアプリケーションだったので、割と気軽にdbファイルから削除できた。もしこれが、もともと一覧にあるアプリケーションだったとしても、手動で追加はできるのでそこまで問題はないと思うが、その点は一応記録しておく。
そして、自分のケースでは、dbファイルの編集前に対象アプリケーションのカスタマイズはLogiOptionsPlus
ウィンドウで削除しておいた。これにより多少dbファイルでのjsonの構造が違うかもしれない。
dbファイルじゃなくて最初からjson単体のファイルで保存してくれていると編集が楽だったのにとは思う。
これで何度起こっても少しはお手軽に修正できるようになった。嬉しい。まあそもそもこんなことが起こらないといいのだが。
以上です。