分享快捷鍵軟體 AutoHotKey - 鍵盤

Table of Contents

這篇主要討論Fn鍵的部分。

先提供一個基礎解釋給比較少接觸這塊的版友:

pwpr316和我都在試圖看能否修改Fn鍵的功能,但是方法不太一樣;

pwpr316使用的是軟體–AutoHotKey,此程式需要在電腦長駐才有效。
AutoHotKey功能強大,這僅僅是其中一點點功能。

我使用的是軟體–Sharpkeys,此軟體是修改Windows Registry,
修改後重開機後,不必再常駐任何軟體即可以使用。

另外,撇開Fn這顆麻煩的按鍵不管的話,
絕大多數鍵盤按鍵,都可以使用我們提供的這兩個軟體,自訂任何一個按鍵的功能
例如把右邊Alt改成Windows這樣;
還可以改成多媒體播放/暫停、音量大/小聲、瀏覽器上/下頁、我的電腦、小算盤等。

※ 引述《pwpr316 (木訥)》之銘言:
: → sIxoNethRee:可以藉機請教一下嗎?該程式是否也可以讓一些鍵失效 02/21 16:29
: → sIxoNethRee:因為有台小筆電的Fn一直按著,前些日子F12也一直按著 02/21 16:30
: 一般按鍵像是F12很容易讓他失效,
: 但是像Fn鍵這種特殊鍵,我就不會了,有辦法,但我沒有特別去研究。
: → sIxoNethRee:之前google有看到這款軟體,但我不知道要怎讓按鍵失效 02/21 16:32
: 單純失效特定鍵像是F12 在AHK程式碼檔案裡寫 F12::return 就可以了。
: → sIxoNethRee:感謝~下次遇到再試看看! 02/21 16:42
: 推 philxiao:有些Fn鍵是有scan code的,有些沒有;有的話可能可失效 02/21 16:57
: philxiao大是巷子內的!(我有聽沒有懂XD)
: 推 wuliou:我碰過的FN幾乎都沒有KEYCODE 02/21 17:36
: 推 TeCn:fn大都抓不到,至少我手邊這幾把60%鍵盤的fn都沒辦法動 02/21 23:07
: 推 philxiao:我手上的鍵盤正好就是Fn有scan code的,改天來試試remap 02/21 23:18
: → cssh:蠻好奇 Fn有keycode是會送什麼信號? 02/22 01:14
: 推 philxiao:回樓上C大,軟體掃到E0_63 (小算盤是E0_21) 02/22 02:49
: → philxiao:假如可以的話,看能否教我怎麼看這些16進位碼?感恩~ 02/22 02:51
: 推 SR498:喔喔?Fn有辦法用這程式變成win key嗎? 這樣黑武士就可用了 02/22 09:28
: 我從AutoHotKey的中文化說明書學的方法在下面
: 我的Thinkpad X220的Fn鍵有scan code,試過以AutoHotKey把 Fn改成 win了。
: 先在腳本內強制安裝鍵盤鉤子....
: 簡單說就是在AHK腳本加上兩行
: #InstallKeybdHook ;安裝鍵盤鉤子
: #x::ExitApp ;因為安裝鍵盤鉤子要退出腳本而設的快捷鍵win+x
: 執行加上上述兩行的腳本,對螢幕右下角運行中的程式腳本點右鍵,點「open」,
: 出現視窗後點選「view」,點選「key history and script info」。
: 然後按你那個fn鍵,在點F5更新視窗,看看sc欄位的號碼是多少,
: 像我鍵盤的fn相應的scan code(就是上述的sc欄位)是163。
: 因此向我要把fn鍵改成win鍵只要在腳本多加一行
: sc163::send {Lwin}
: 如果sc欄位沒有出現數字,這應該就是代表這個fn鍵沒有scan code。
: → philxiao:白武士的Fn應該沒有scan code,我有測試過XD 02/22 18:38
: 推 vincentpp:阿..所以白武士暫時無解了.. 02/22 18:52
: → vincentpp:我就是因為沒有Win鍵才一直沒有換上 02/22 18:53
我實驗Fn鍵的鍵盤是X220的前輩:X201,所以我猜會是一樣的;

用來Scan的軟體是Sharpkeys,OS是Windows XP
Fn鍵掃描出來顯示的是E0_63,可以再用Sharpkeys修改成其他按鍵,包括小算盤:E0_21

(有網友可以提供些scan code的資料嗎?例如編碼格式?)


而且妙的是,這樣修改(需要重開機)以後,Fn鍵還是可以保留原本的功能

a.單獨按下Fn再放開,會跳出小算盤;假如按很久不放會跳出一堆小算盤;

b.按下原本的Fn組合鍵,例如「Fn+F4=待命;Fn+↓=Play」依然可以生效!
(但有幾個地方要注意:
1.組合鍵要按很快,不能持續按住Fn,不然小鍵盤會跳出來
2.我沒有辦法測完所有Fn熱鍵,因為這部X201有些軟體我沒裝,Fn本來就無效
3.組合鍵偶而還是會出現失效的情形 )

我又作了一個測試,把Fn鍵改成Ctrl,但是這就無法使用,
結論應該是改成原本就需要組合功能的三鍵:Ctrl、Alt、Shift不能用Fn改

不知道pwpr316提供的AutoHotKey改法,改成Ctrl、Alt、Shift,能否順利使用?
也再次感謝你的教學!自己也是有初步在摸AutoHotKey,很有幫助~


----

另外請問pwpr316,你的X220,
用KeybdHook去抓Fn+↓,可以抓到「Play」的scan code(可能是122)嗎?

假如可以,
可否再試其他Fn無scam code的鍵盤(例如DK9008的Fn+F4=Play)是否抓到同樣code?

非常謝謝!

----

以下是我之前用Sharpkeys測試過Fn的鍵盤,全都抓不到scan code:
Ducky 9008 G2 Pro
Ducky 9087 Shine 2
Microsoft Natural Ergonomic Desktop 7000
Cherry G84-4100
TT Meka G1

--

All Comments

Wallis avatarWallis2014-02-23
妙點很正常 FN+?是鍵盤韌體送的 單按FN是被修改後的結果
Catherine avatarCatherine2014-02-24
回c大,原理我也是這樣猜想 這樣改可以兩用,滿不錯,妙!
Xanthe avatarXanthe2014-02-25
我一直以為按下FN只有鍵盤自己有感覺XD
Olga avatarOlga2014-02-28
X220的Fn+下的scan code的確是122。
Mia avatarMia2014-03-03
感謝pw大,有空的話可試試看其他鍵盤的Fn會不會有122,謝
Megan avatarMegan2014-03-06
我其他有fn的就只有race,現在不再手邊,有消息回你。
Lydia avatarLydia2014-03-11
關於用fn重映射成shift,ctrl,alt,win應該都是有觸發。但是
Skylar DavisLinda avatarSkylar DavisLinda2014-03-12
如果是win(fn映成win或a映成win)+L,沒辦法觸發原本的功能
ctrl,alt,shift也是一樣,只要是複合鍵就不行。
Candice avatarCandice2014-03-16
但是映成alt和win會因為這兩鍵自有功能,而有反應。
Yedda avatarYedda2014-03-21
pw大你和我用Sharpkeys改出來結果一樣,複合鍵皆失敗
Elizabeth avatarElizabeth2014-03-24
Win單用可以、Win+D/M/L…都不行
Suhail Hany avatarSuhail Hany2014-03-27
我LOL都用這個喊走哪路說,超快
Caroline avatarCaroline2014-03-28
看來Sharpkeys和KeyTweak這兩個軟體都是修改註冊表的~。
Callum avatarCallum2014-03-30
還有MapKeyboard也是修改註冊表
Bennie avatarBennie2014-04-02
太感謝了,我把Scroll Lock改成小算盤了 :P
Lydia avatarLydia2014-04-04
抓不到race的fn鍵。另外race預設的Volume_Mute等多媒體鍵
Donna avatarDonna2014-04-04
和我用AHK寫出來的多媒體鍵,相應功能鍵scan code都不同。