W.I.S. Laboratory
menu-bar

Windows10とHHKB


HHKBで音量調整のショートカットキーを実現する方法の考察

Windows10は、様々なショートカットキーが使える。中には「そんなことまで!?」というようなものもあるが、意外に存在しないのが「音量調整」だ。
ノートPCやデスクトップPCに付属しているキーボードの中にはFnキーが付いているものがあり、これとファンクションキーやカーソルキーなどを併用すると音量調整ができるものがある。
ただこれはあくまでキーボードの機能なので、その機能がないキーボードでは使用できない。
私は長年PFUのHHKB(Happy Hacking Keyboard)を使っているので、HHKBから音量調整が簡単にできる方法があればありがたい。(macOSだとFn+Aで音量減、Fn+Sで音量増の操作ができるのだが、WindowsだとDIPスイッチをMacモードにしてその上Bluetooth接続しないとこの機能が使えない)
音量調整キーが無いキーボードで、マウスを使わずに音量調整する方法を考えてみた。
OS標準の機能だけで実現する方法2つと、フリーソフトを使う方法を紹介。

2つの機能を犠牲にして音量調整に割り当てる


HHKBの裏レイヤーのうち、普段使わない2つの機能を犠牲にしてレジストリを書き換え、音量減と音量増を割り当てる方法。
OSの機能だけで実現でき、「ショートカットキー」っぽい操作感になると思う。
理想を言えば、現代ではほぼ使われることのないScrollLockとPause/Breakで増減ができれば便利だと思うのだが、Pause/Breakはスキャンコードが6バイト(E1 1D 45 E1 9D C5)もあり、レジストリによるマップの書き換えができない。
しかしCtrl+Pause/Breakならばスキャンコードが2バイト(E0 46)なので、これならレジストリで書き換えが可能だ。
というわけでやや変則的にはなるが、ScrollLockを音量減、Ctrl+Pause/Breakを音量増に割り当てることにした。
以下、その手順。

1. [Windows]を押しながら[X]を押す
2. [R]を押す(または[ファイル名を指定して実行]をクリック)
3. [regedit]と打ち込み、エンター
4. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]を開く
5. [編集]→[新規]→[バイナリ値]とクリックし、値の名前を「Scancode Map」にする
6. Scancode Mapを右クリック→[バイナリデータの編集]をクリックし、16進で以下の値を入力する

00 00 00 00 00 00 00 00 03 00 00 00 2e e0 46 00 30 e0 46 e0 00 00 00 00

7. [OK]をクリック
8. レジストリエディタを終了する
9. PCを再起動する

《操作方法》
[Fn]+[O]で音量減、[Fn]+[Ctrl]+[P]で音量増。

裏レイヤーの機能が2つ無くなってしまうが、ショートカットキーライクに音量調整ができる。
※元に戻したいときは、「Scancode Map」を右クリックして削除し、再起動すればOK。

ただVBAを頻繁に強制停止したい人はCtrl+Pause/Breakを多用するはずなので、この方法は使えない。
そんな人のために、CapsLock(Fn+Tab / HHKB JPはFn+Shift+Tab)で音量減、ScrollLockで音量増のレジストリデータも作ってみた。

00 00 00 00 00 00 00 00 03 00 00 00 2e e0 3a 00 30 e0 46 00 00 00 00 00

エクセルでScrollLockが無いと生きていけないという人のために、CapsLockで音量減、Ctrl+Pause/Breakで音量増のデータも。

00 00 00 00 00 00 00 00 03 00 00 00 2e e0 3a 00 30 e0 46 e0 00 00 00 00

SndVol.exeとVBSファイルを組み合わせる


Windows標準の音量調整機能「SndVol.exe」を「-f」オプション付きでVBSから起動し、カーソル上下で音量調整をしてエンターで決定する方法。
音量を一段階上げるだけでもそこそこのストローク数が必要だが、HHKBの機能を何一つ犠牲にせず、さらにOS標準の機能だけで実現できる。

1. テキストエディタを起動し、以下のプログラムを入力するかコピペする。

2. "v.vbs"という名前で保存する。
3. MakeExe.exe を使って、VBSをEXEに変換する。(MakeExeアイコンに直接v.vbsをドラッグ&ドロップ)
4. 出来上がった「v.exe」をパスの通ったところにコピーする。(C:\Windows\などはあまりおすすめできないけど確実にパスは通っている)

以上で準備完了。

《操作方法》
[Win]+[R] → 「v」と入力 → エンター → カーソル上下で調整 → エンターで決定。

ショートカットキーというよりも、キーボードランチャ的な使用感になる。
実用的なキーストローク数かどうかだが、それほど頻繁に音量調整を必要としない人ならば、そこそこ実用的だと感じる。
少なくとも音量調節のたびにマウスに手を持っていくことを思えばかなり楽になると思う。
ScrollLockやPause/Breakが犠牲にならないので、これらのキーを多用する人には良いかもしれない。

音量調整用ホットキーが使えるソフトを使う


素直にそういうソフトを使う方法。
例えば、こういったフリーソフトを常駐させてホットキーで音量調整する。
このうち「音太郎」はホットキーの組み合わせが2キーに限定されている上に、メインキーにShiftやCtrlなどのモディファイアキーが指定できないように感じた。デフォルトだと英語配列HHKBにはない「無変換」キーになっているし、HHKBには割り当てられるメインキーがないので使えなさそうだった。
全部使ってみた結果、「Volume2」が一番良さそうに感じた。
デフォルトだとキーボードからの音量調整ができない(マウス併用のみ)ので、キーボードだけで音量調整ができるように設定をいじる必要がある。

ダウンロード、インストール、起動方法は割愛する。

1. 右下常駐アイコンをダブルクリック。
2. 左メニュー「Language」をクリックして「日本語」を選び「Apply」をクリックすると項目名が日本語になる。
3. 左メニュー「キーボード」をクリック。
4. 「追加」をクリック。
5. 「動作」の▼をクリックして「音量アップ」をクリック。
6. 「キーの組み合わせ」の「なし」部分をクリック。
7. 音量アップのための好きな組み合わせを押す。(例:Shift+Ctrl+↑ など)
8. 「適用」をクリック。
9. 「追加」をクリック。
10. 「動作」の▼をクリックして「音量ダウン」をクリック。
11. 「キーの組み合わせ」の「なし」部分をクリック。
12. 音量ダウンのための好きな組み合わせを押す。(例:Shift+Ctrl+↓ など)
13. 「適用」をクリック。
14. 左メニュー「メイン」をクリック。
15. 「音量変化率」のスライダーをドラッグして、1ストロークで変化する音量の幅を調整する。(100にすると1刻み、50にすると2刻みとなる)
16. 左メニュー「システム」をクリック。
17. 「常にHooksを再読み込み」にチェックを入れ、時間を3000ミリ秒くらいにする。
18. 「Windowsのスタートアップに登録」にチェックを入れると、次回起動時より自動起動してくれる。
19. 「閉じる」をクリック。

《操作方法》
[Shift]+[Ctrl]+[カーソル上]で音量増、[Shift]+[Ctrl]+[カーソル下]で音量減。

さすが専用ソフトだけあって、ものすごく便利。

[ 戻る ]
saluteweb