由於先前這篇用AutoHotkey改造ThinkPad X61按鍵提出了不使用滑鼠而只用鍵盤來瀏覽FireFox網頁的幾個作法,本篇除了再把指令再做調整修正外,再加上一個配合Super DragAndGo附加元件的按鍵,只要在超連結上按個X鍵,就能將該連結開啟在新分頁。
首先要修改的是增加一個瀏覽按鍵的切換鍵,按第一下讓瀏覽鍵生效,當要在網頁上輸入文字時再按第二次以關閉其功能,如此才能正常輸入,我使用的是〔Z〕鍵:
;定義一個共用變數
useBrowseKey = 1
; 切換瀏覽鍵
toggleFirefoxKeys() {
global useBrowseKey ;;用global宣告要使用共用變數useBrowseK
if (useBrowseKey = 1)
useBrowseKey = 0
else
useBrowseKey = 1
return
}
; 按〔Z〕切換useBrowseKeys的值
~z::
toggleFirefoxKeys()
return
; 修改先前寫好的函數,加入useBrowseKey的判斷
firefox(key) {
WinGetTitle, sTitle, A ; 取得作用中視窗的標題
sProgram := getProgram(sTitle)
;MsgBox %sProgram% - %key
if (sProgram = "FIREFOX") {
global useBrowseKey
;;MouseGetPos, x, y, id, control
if (useBrowseKey = 1) {
Send %key%
}
}
return
}
接著,再加上用〔X〕鍵執行Super DragAndGo的操作,也就是按下左鈕不放再往外拖拉:
~x::
WinGetTitle, sTitle, A ; 取得作用中視窗的標題
sProgram := getProgram(sTitle)
if (sProgram = "FIREFOX") {
if (useBrowseKey = 1) {
MouseGetPos, x, y, id, control
Click down
MouseMove, x, y-20
Click up
}
}
return
目前提供的按鍵彙總如下:
| 按鍵 | 功能說明 |
|---|---|
| b | 下一頁;〔PgDn〕在鍵盤的右上角很不好按,因此修改成〔b〕鍵 |
| h | 上一頁,把〔h〕設成〔PgUp〕 |
| v | 下一列,把〔v〕設成〔Down〕 |
| g | 上一列,把〔g〕設成〔Up〕 |
| , | 縮小頁面文字;用逗點的原因是小於也是這個按鍵,較好聯想 |
| . | 放大頁面文字;用逗點的原因是大於也是這個按鍵,較好聯想 |
| x | Super DragAndGo,將游標位置的超連結開啟在新分頁 |
| z | 切換上述按鍵是否生效 |
##
您可能也會有興趣的類似文章
- 用AutoHotkey統一不同工具的偵錯功能鍵 (0則留言, 2008/03/19)
- 用AutoHotkey改造ThinkPad X61按鍵 (2則留言, 2008/03/23)
- AutoHotkey與Google+ Commander合用-以滑鼠移動訊息位置 (0則留言, 2011/10/31)
- [Tools] 常用的AutoHotKey設定 (9則留言, 2005/05/12)
- 用AutoHotkey輕鬆製作螢幕小鍵盤 (12則留言, 2008/03/16)
- 完全用鍵盤來操作FireFox的擴充:surfkeys+LoL (0則留言, 2008/09/07)
- 用AutoHotkey改造特殊按鍵 (5則留言, 2008/03/19)
- 支援Unicode的Autohotkey終於浮上抬面! (0則留言, 2010/10/16)
- 改寫AutoHotkey輸出中文字串的寫法 (4則留言, 2009/06/20)
- [AutoHotkey] 在檔案總管裡按滑鼠滾輪切換到上層資料夾 (3則留言, 2011/06/23)
- [Tools] 撰寫AutoHotKey指令以複製檔案 (2則留言, 2005/06/11)
- 如何轉換AutoHotkey的預設分隔字元:冒號 (2則留言, 2008/03/17)
- AutoHotkey輸出中文的方法 (4則留言, 2008/03/01)
- [AutoHotkey] 連按兩次Escape鍵來關閉視窗 (18則留言, 2006/05/11)
- 使用Autohotkey開發的熱字串替換工具:Texter (1則留言, 2007/03/06)















大大您寫的這個autohotkey,對我真的很有幫助,謝謝您無私的分享,也因為這個指令我目前正在學習如何使用autohotkey,但關於您寫的這個指令有一些不懂的地方是否能向您請教,問題如下:
:= 代表的是什麼意思
Instr() 在英文官網上看它的解釋實在看不懂,它的使用方法和意義到底是什麼呢?
如果不很麻煩您的情況下,是否能請您做個指導,謝謝!!
謝謝您的解說,非常的詳盡
感激不盡~~