為80% TKL、fc660m 鍵盤增加數字鍵功能--(使用 AutoHotkey)
最近買了一把80%機械鍵盤,
即一般所謂的TenkeyLess(TKL)沒有數字鍵的鍵盤,
當然好用是沒話講,
但有時沒數字鍵就是有那麼點不方便。
然後找到一個軟體解決的方法:[autohotkey]
就順便記錄一下步驟:
基本上模擬Realforce 87u的配置,使用ScrollLock鍵當作NumLock鍵來切換數字模式,
因為ScrollLock鍵平常也沒在用,剛好按下去又會有燈號可提示。
1.到官網下載[autohotkey],
按點 Download AutoHotkey Installer
下載後安裝。
2.撰寫 ahk Script,用記事本(Notepad)編輯即可:
$m::
if ( GetKeyState("ScrollLock", "T") )
send {Numpad0}
Else
if (GetKeyState("Capslock", "T"))
send {M}
Else
send {m}
return
$j::
if ( GetKeyState("ScrollLock", "T") )
send {Numpad1}
Else
if (GetKeyState("Capslock", "T"))
send {J}
Else
send {j}
return
$k::
if ( GetKeyState("ScrollLock", "T") )
send {Numpad2}
Else
if (GetKeyState("Capslock", "T"))
send {K}
Else
send {k}
return
$l::
if ( GetKeyState("ScrollLock", "T") )
send {Numpad3}
Else
if (GetKeyState("Capslock", "T"))
send {L}
Else
send {l}
return
$u::
if ( GetKeyState("ScrollLock", "T") )
send {Numpad4}
Else
if (GetKeyState("Capslock", "T"))
send {U}
Else
send {u}
return
$i::
if ( GetKeyState("ScrollLock", "T") )
send {Numpad5}
Else
if (GetKeyState("Capslock", "T"))
send {I}
Else
send {i}
return
$o::
if ( GetKeyState("ScrollLock", "T") )
send {Numpad6}
Else
if (GetKeyState("Capslock", "T"))
send {O}
Else
send {o}
return
$,::
if ( GetKeyState("ScrollLock", "T") )
send 00
Else
send {,}
return
$;::
if ( GetKeyState("ScrollLock", "T") )
send {NumpadAdd}
Else
send {;}
return
$'::
if ( GetKeyState("ScrollLock", "T") )
send {NumpadMult}
Else
send {'}
return
將以上script檔另存到新的ahk檔,如(D:\TMP\tkl_numpad.ahk)
Script檔說明:
$m:: ;mapping m鍵
if ( GetKeyState("ScrollLock", "T") ) ;Check ScrollLock鍵是否啟用
send {Numpad0} ;ScrollLock鍵有啟用的話,則送出數字0
Else
if (GetKeyState("Capslock", "T")) ;ScrollLock鍵沒有啟用的話,Check大寫鍵是否啟用
send {M} ;大寫鍵有啟用的話,則送出M
Else
send {m} ;大寫鍵沒有啟用的話,則送出m
return
註:如果有安裝autohotkey,那.ahk檔直接點兩下就可執行,可邊寫邊測試。
3.執行 Convert .ahk to .exe
在source欄位選擇之前存檔的ahk檔(D:\TMP\tkl_numpad.ahk),
執行convert,
就會在原目錄下產生一個exe執行檔(D:\TMP\tkl_numpad.exe).
4.點兩下直接執行(tkl_numpad.exe),
check右下方的功能表可以看到[autohotkey]正在執行。
完成、已為鍵盤增加數字鍵功能。
5.若想要開機自動執行,就把tkl_numpad.exe改存到啟動資料夾。
如 C:\Users\%user%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
下次開機就會自動生效。
使用右Ctrl鍵切換數字模式,並把方向鍵改為PgUp,PgDn,Home,End鍵(適合fc660m layout)。
~RControl::
NumL := !NumL
if (NumL) {
Menu, Tray, Tip, Numlock enabled
TrayTip,,Numlock enabled
}
else {
Menu, Tray, Tip, Numlock disabled
TrayTip,,Numlock disabled
}
return
$m::
if ( NumL)
send {Numpad0}
Else
if (GetKeyState("Capslock", "T"))
send {M}
Else
send {m}
return
$j::
if ( NumL )
send {Numpad1}
Else
if (GetKeyState("Capslock", "T"))
send {J}
Else
send {j}
return
$k::
if ( NumL )
send {Numpad2}
Else
if (GetKeyState("Capslock", "T"))
send {K}
Else
send {k}
return
$l::
if ( NumL )
send {Numpad3}
Else
if (GetKeyState("Capslock", "T"))
send {L}
Else
send {l}
return
$u::
if ( NumL )
send {Numpad4}
Else
if (GetKeyState("Capslock", "T"))
send {U}
Else
send {u}
return
$i::
if ( NumL )
send {Numpad5}
Else
if (GetKeyState("Capslock", "T"))
send {I}
Else
send {i}
return
$o::
if ( NumL )
send {Numpad6}
Else
if (GetKeyState("Capslock", "T"))
send {O}
Else
send {o}
return
$,::
if ( NumL )
send 00
Else
send {,}
return
$;::
if ( NumL )
send {NumpadAdd}
Else
send {;}
return
$'::
if ( NumL )
send {NumpadMult}
Else
send {'}
return
$Up::
if ( NumL )
send {PgUp}
Else
send {Up}
return
$Down::
if ( NumL )
send {PgDn}
Else
send {Down}
return
$Left::
if ( NumL )
send {Home}
Else
send {Left}
return
$Right::
if ( NumL )
send {End}
Else
send {Right}
return
如果覺得啟用的提示(TrayTip)有點煩,把TrayTip那行加上「;」號當作註解即可。
;TrayTip,,Numlock enabled


Comments
Post a Comment