概要
- 安くて使いやすいと評判の左手デバイス、XPPen ACK05を使っているが、欠点としてMacのマルチメディア操作が行えないというものがある
- なんとかしてXPPen ACK05のホイールでMacの音量を上げ下げしたい
なぜ標準では音量操作ができないのか
- XPPenの設定画面で、ホイールの左回り、右回りのそれぞれに特定のキー入力を割り当てることができるが、こちらにMacのマルチメディアボタン(バックライトの明るさ変更や再生・停止、音量操作など)を割り当てることができない
- またfnキーも割当不可
- テキストベースで設定が行えるpcfgファイルを変更しても無理
実現方法
- AppleScriptでMacの音量を操作するスクリプトを作成し、workflowに登録する
- 使用してないキー(F13〜F19など)をXPPenのホイール操作に割り当てる
- 割り当てたキーにworkflowを割り当てる
AppleScriptでMacの音量を操作するスクリプトを作成し、workflowに登録する
- Macに最初から入っているAutomatorというアプリを立ち上げる
- [新規書類]->[クイックアクション]を選んでエディタを開く
- 以下を設定
- [ワークフローが受け取る項目] : 空欄
- [アプリケーション] : すべてのアプリケーション
- 画面左のライブラリから[AppleScriptを実行]を選んでドラッグアンドドロップ
- 以下のスクリプト(音量アップ)を貼り付ける
set curVolume to output volume of (get volume settings)
if curVolume < 100 then
set volume output volume (curVolume + 5)
end if
- 適当な名前をつけて保存
- 同様の手順で音量ダウン用のものも作成する
set curVolume to output volume of (get volume settings)
if curVolume > 0 then
set volume output volume (curVolume - 5)
end if
使用してないキー(F13〜F19など)をXPPenのホイール操作に割り当てる
- あらかじめXPPenの設定ファイル(pcfgファイル)をエクスポートしておく
- pcfgファイルをvscode等のエディタで開く
- ホイール操作を設定している箇所を特定する
<ACK05>
...
<CommonAPP>
...
<R id="1">
<W1 id="0"/> //ここ
<W2 id="0"/> //ここ
<W3 id="0"/> //ここ
<W4 id="0"/> //ここ
- 使用してないキーをホイールに割り当てる
<W3 id="2">4|Volume|F19|F18|16777275:80|16777275:79</W3>
- これは投稿者の例。割り当てたい箇所やキーによって変わるので各自調べてね
- ホイール操作の3番目の、左回りをF19、右回りをF18に割り当てた例
- pcfgファイルをインポートする
割り当てたキーにworkflowを割り当てる
- Macのシステム設定を開く
- [キーボード]->[ショートカット]->[サービス]を開く
- [一般]の中に先程作成したワークフローが表示されている
- それぞれのワークフローにF18,F19を割り当てる
- XPPenのホイール操作でF18,F19が入力できるのでそれを使う
- 完成
欠点
- スクリプトの実行に時間がかかり、0.5秒くらいのラグがある
- 結構致命的な欠点なので改善方法を模索中

