為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