LoginSignup
3
1

More than 3 years have passed since last update.

Autohotkey でFキーを拡張してmediaキーを追加した

Last updated at Posted at 2020-10-20

最近ずーど使っていたBluetoothのキーボードがおかしい挙動を繰り返していたため、安い有線キーボードを買い替えました。こんな感じです(Amazon ロジクール K120 商品ページより)
image.png

そこで2つの問題がありました。

  • 前のキーボードではFキーに便器な機能(音量調整やPlay&Stopなど)がついていたが、これにはなかった。(安いものだから)
  • 英語のOS環境下、JIS配列には使わないキーがいくつあります。
    • 「変換」、「無変換」など

今回はその使わないキーをFnキーをCombiにして、Fキーに機能を拡張してみました。
image.png

環境

Solution

今回解決したいことの本質は、「キーマップの変更」です。

しかし、「変換」「無変換」など、Autohotkeyでは既存のリストにはありませんでした。例えば

Symbol Description
# Win (Windows logo key)
! Alt
^ Ctrl
+ Shift

リストの一覧はこちらで確認できます

特殊キー(Special keys)を見つけ出す

ここで一番の問題は、Symbolのないキーをどうやって私のものになるのか。
そして使ったのは、AutohotkeyにあるKey historyという機能です。

まず任意のスクリプトに以下の行を追加して、強制的にkeyboard hookを動かせます。

#InstallKeybdHook

Snipaste_2020-10-20_11-44-21.jpg

一度スクリプトをリロードして、
次にView=>Key history and script infoをクリックする。

image-20201020114023856.png

中身は大体こんな感じになります。

Snipaste_2020-10-20_14-59-12.jpg

ここで注目してほしいのは、VK(Virtual Key)&SC(Scan Code)です。

この場合、F5キーのVKは74、SCは03Fになります。

次に記録されているVK:EB, SC:07Bというのは、「無変換」を押した時の記録です。これにより、Autohotkeyのスクリプトで「無変換」を指せます。

vkEBcs07Bであることを分かりました。(v1.1.27前のバージョンでは、vkEBsc07Bという表記も可能です。)

※リフレッシュしても反応がない場合、スクリプトの中身を確認したり、リロードしたりして、再度確認してみましょう。

公式サイトにSpecial Keysに関する説明はこちらで確認可能です。

拡張していきます

「無変換」+「Fキー」にmediaをコントロール機能(Multimedia keys)を拡張させれば良いのです。最終的に出来上がったスクリプトはこんな感じです。

sc07B & F9::Media_Play_Pause
sc07B & F10::Mute the volume
sc07B & F11::Increase the volume
sc07B & F12::Lower the volume

参考

Autohotkey公式ドキュメント
Understanding AutoHotkey Keyboard ScanCodes and Virtual Key Codes

おわりに

既製の機能をものを慣れていくのではなく、主導的に自分の習慣などを合わせていくのも面白かったです。
皆さんも自分の使わないボタンを活用して、Hotkeyを作ってみませんか。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1