Edited at

GPD WINでFnキーを固定キー化するAutoHotkeyスクリプト

More than 1 year has passed since last update.


はじめに

GPD WINという神機があります。

このデバイスを使うには固定キー機能を使うのが便利なのですが、固定キー機能には唯一欠点があってFnキーに対応していません。

つまりF1を押す場合は依然としてあの小さいキーボードでFn1を同時押ししなければならないのです。

F6~F12あたりのキーボードの右側の方のキーならば両手で押せるのですが、F1~F4あたりになるとGPD WINを落としそうになります。

なので、AutoHotkeyを使用してFnキーのちょうど反対側についてる使用用途のよくわからないキーアプリケーションキーをFn代わりにしてしまいましょう!ついでに固定キー機能もつけてしまいましょう!更についでに半角/全角キーの代わりも適当につけてしまいましょう!


機能



  • アプリケーションキーと1~0,-,=キーを同時に押すと、F1~F12が押されたことになります。


  • アプリケーションキーを単独で1回押すとFnキーが固定化されます。この状態で1~0,-,=キーを押すと、F1~F12が押されたことになります。



    • アプリケーションキーが固定中は、画面左上にツールチップで"Fn"と表示されます。


    • アプリケーションキーを固定中にEscキーを押すと固定化が解除されます。




  • アプリケーションキー単独を素早く2度押しすると、アプリケーションキーが押されたことになります。


  • アプリケーションキーとスペースキーを押すと、半角/全角キーが押されたことになります。


スクリプト

CoordMode, ToolTip, SCREEN

DOUBLE_TAP_INTERVAL := 200

fnlock := 0

; AppキーをFnキー代わりにする
APPSKEY::
if(0 <= A_TimeSincePriorHotkey && A_TimeSincePriorHotkey < DOUBLE_TAP_INTERVAL)
{
GoSub, FnLockOff
Send, {APPSKEY}
}
else
{
GoSub, FnLockOn
KeyWait, APPSKEY
}
Return

FnLockOn:
fnlock := 1
ToolTip, Fn, 0, 0
; SoundBeep
Return
FnLockOff:
fnlock := 0
ToolTip
; SoundBeep
Return

#If fnlock
ESC::GoSub, FnLockOff
1::
Send, {F1}
GoSub, FnLockOff
Return
2::
Send, {F2}
GoSub, FnLockOff
Return
3::
Send, {F3}
GoSub, FnLockOff
Return
4::
Send, {F4}
GoSub, FnLockOff
Return
5::
Send, {F5}
GoSub, FnLockOff
Return
6::
Send, {F6}
GoSub, FnLockOff
Return
7::
Send, {F7}
GoSub, FnLockOff
Return
8::
Send, {F8}
GoSub, FnLockOff
Return
9::
Send, {F9}
GoSub, FnLockOff
Return
0::
Send, {F10}
GoSub, FnLockOff
Return
-::
Send, {F11}
GoSub, FnLockOff
Return
=::
Send, {F12}
GoSub, FnLockOff
Return

; ついでにApp+Spaceで半角/全角
SPACE::
Send, {vkF3sc029}
GoSub, FnLockOff
Return

#If


おわりに

本当はキーボードについてるFnキーがAutoHotkeyで拾えれば一番いいのですが、Fnキーについては拾えるキーボードと拾えないキーボードがあり、残念ながらGPD WINのは拾えませんでした。拾う方法があれば教えてください。

GPD WINとAutoHotkeyの親和性はかなり高く、今回紹介したようなスクリプトの他にも、パッドをポインティングデバイスにするスクリプト、BluetoothテザリングをON/OFFするスクリプト、画面輝度を変更するスクリプトなんかも作れるので、必須ソフトウェアと言っても過言ではありません。

それでは皆様も良いGPD WINライフを!