AutoHotkey 代碼片段分享

Alt 快捷鍵及組合快捷鍵

保留 Alt 方案

很多朋友都喜歡用 Alt 作為快捷鍵前綴,同時又不想影響該快捷鍵與 Ctrl、Shift 的組合功能,比如方向快捷鍵。這種時候要主動判斷一下這些鍵的狀態(tài),網(wǎng)上其實(shí)已經(jīng)有實(shí)現(xiàn)該功能的代碼,但是很多都不夠簡潔,這里給大家分享一個我自己編寫,認(rèn)為比較簡潔的版本。

ComboKey(key)
{
    if GetKeyState("Ctrl")
        key := "^" + key
    
    if GetKeyState("Shift")
        key := "+" + key
    
    send %key%
}

; LAlt + Key
*<!i::ComboKey("{Up}")
*<!k::ComboKey("{Down}")
*<!l::ComboKey("{Right}")
*<!j::ComboKey("{Left}")
*<!u::ComboKey("{Home}")
*<!o::ComboKey("{End}")

這種寫法的好處是可以保留該 Alt 鍵本身的功能,還可以用它來觸發(fā)一些系統(tǒng)快捷鍵,比如 Alt + Tab。
但同時也帶來了問題,比如在一些彈出菜單中,無法使用方向快捷鍵,因?yàn)?Alt 鍵會讓菜單消失。于是我寫了第二套方案。

重映射方案

#InputLevel 1
LAlt::NumpadIns

#InputLevel 0
NumpadIns & i::send {blind}{Up}
NumpadIns & k::send {blind}{Down}
NumpadIns & j::send {blind}{Left}
NumpadIns & l::send {blind}{Right}
NumpadIns & u::send {blind}{Home}
NumpadIns & o::send {blind}{End}

這個方案的思路是,先把 Alt 映射到一個平時根本不會用到的鍵上,然后把這個鍵當(dāng) Fn 鍵用,可以玩很多組合。不會影響和 Ctrl 等鍵的配合,而且在彈出菜單中也可以正常使用。

感謝閱讀,Jalon 原創(chuàng),轉(zhuǎn)載署名,商用聯(lián)系本人。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容