popup mlv

作ったり、買ったり、遊んだり。

ロジクール ワイヤレスキーボード K780を買ってみた

f:id:popupin0x0:20200922201922j:plain

ロジクール ワイヤレスキーボード K780を買ってみた話です。

以前使っていたキーボードはK380です。Bluetoothは便利なのですがBIOSに入れないこと、もう一つ重大なことがあって実はBluetoothイヤホンと激しく干渉することから買い換えることにしました。Logicool Optionsで設定できないキーを変更することも書いてあるので一読ください。

popupmlv.hatenablog.com

外観をK380と比較するとテンキーが付いた程度です。

f:id:popupin0x0:20200922201930j:plain

f:id:popupin0x0:20200922202245j:plain

キーボードは薄めです。

f:id:popupin0x0:20200922202256j:plain

当然右側にCtrlキーはありません。これが少し不便ですがレジストリで設定を変更できます。

f:id:popupin0x0:20200922202206j:plain

アリエクスプレスで買った謎の装飾品を使います。

f:id:popupin0x0:20200922202317j:plain

これでCtrlに変更したキーが目立ちます。

f:id:popupin0x0:20200922202405j:plain

このキーボードには不具合があります。頻繁にK780がスリープから復帰するときにキーを長押しすると離しても長押しした状態になります。これはキーボードのスイッチを一旦切ればすおさまります。ボタンを連打しすると実はなりません。Logicoolはこの不具合を認識していなくて伝えたところキーボードを交換してやるとのことが来たのですが交換したところで直るわけがありません。ファームウェアも新しいものが公開されていないので困っています。

Logicool Options メディアキーの変更

K380のものを使っていますがK780も実は同じような感じでメディアキーつまり次の曲や一時停止などはWindows標準の動作になるように割り当てられています。この動作が曲者でiTunesがバックグラウンドにありChromeなどが表に来ている状態では音楽の操作ができません。そしてこのキーはアプリからは変更できません。ですが、直接xmlを変えることで変更できます。ということでK380のときと同じことをしているのでそのまま貼り付けておきます。

f:id:popupin0x0:20181209235911j:plain

これは元のメディアキーのxmlです。

C:\Users\[YOU]\AppData\Roaming\Logishrd\LogiOptions\devices\1b342\1b342.xml
        <controlid rawxy="0" id="0x0004" reprogrammable="false" type="fkey" fpos="9">
          <task id="0x0004" class="media">
            <params command="play_pause" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" id="0x0005" reprogrammable="false" type="fkey" fpos="10">
          <task id="0x0005" class="media">
            <params command="next" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" id="0x0006" reprogrammable="false" type="fkey" fpos="8">
          <task id="0x0006" class="media">
            <params command="previous" />
          </task>
          <remappableids />
          <actions />
        </controlid>

上記の部分をアプリケーションの起動を割り当てitunesスクリプトが起動するようにします。メディアキー以外の4つのキーは割当可能なのでそこでアプリケーションの起動を1つ作ることでサンプルを作ることができます。それをコピペしてPCを再起動するとあら不思議!Logicool Optionsでは割り当てられなかったキーがカスタマイズできてしまいます。

        <controlid rawxy="0" id="0x0004" reprogrammable="true" type="fkey" fpos="9">
          <task id="0x10004" class="filelauncher">
            <params configure="1" exe="C:\iTunes_js\itunes_playpause.js" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" id="0x0005" reprogrammable="true" type="fkey" fpos="10">
          <task id="0x10004" class="filelauncher">
            <params configure="1" exe="C:\iTunes_js\itunes_NextTrack.js" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" id="0x0006" reprogrammable="true" type="fkey" fpos="8">
          <task id="0x10004" class="filelauncher">
            <params configure="1" exe="C:\iTunes_js\itunes_BackTrack.js" />
          </task>
          <remappableids />
          <actions />
        </controlid>

iTunesスクリプト

iTunesスクリプトの中身はこんな感じです。「itunes_playpause.js」です。これはトグルになっていて、再生/一時停止をかねています。ファイル名は何でも構いません。拡張子だけ気をつけてください。

var iTunesApp = WScript.CreateObject("iTunes.Application");
iTunesApp.playpause();

itunes_NextTrack.js」です。

var iTunesApp = WScript.CreateObject("iTunes.Application");
iTunesApp.NextTrack();

itunes_BackTrack」です。

var iTunesApp = WScript.CreateObject("iTunes.Application");
iTunesApp.BackTrack();