精華區beta EZsoft 關於我們 聯絡資訊
軟體名稱:AutoHotkey 特殊符號快速鍵 官方網站:http://www.autohotkey.com/ 軟體分類:鍵盤快速鍵 執行平台:MS-Windows 軟體特色:詳見程式碼說明 推薦原因:取代螢幕小鍵盤的特殊符號輸入 誰適合用:傳統注音輸入法使用者 附註: 將以下程式碼剪下來存成 .ahk 用 AutoHotkey 執行就可以了 ; -------------------------------------------------------------------- ; ; 《特殊符號快速鍵》 ; ; 【功能說明】 ; ; 使用經由剪貼簿送出字串的方式,在指定的應用程式中以快速鍵輸入特殊符號 ; ; -------------------------------------------------------------------- ; -------------------------------------------------------------------- ; 指定使用特殊符號快速鍵的應用程式 (可依需要自行增減或修改) ; ; * 指定應用程式的目的是為了避免切換應用程式時,必須經常 [開啟/關閉] ; 特殊符號快速鍵的麻煩 (特殊符號快速鍵開關:Win + P) ; ; * App1~App5 是應用程式的視窗標題或 ahk_class 屬性 ; (ahk_class 請用 AutoHotkey 的 Window Spy 工具查看) ; ; * AppCount 是應用程式的總數 ; -------------------------------------------------------------------- App1 := "ahk_class Notepad" ; 記事本 App2 := "ahk_class OpusApp" ; Word 2000 App3 := "ahk_class rctrl_renwnd32" ; Outlook 2000 App4 := "ahk_class ATH_Note" ; Outlook Express App5 := "ahk_class IMWindowClass" ; Windows Live Messenger AppCount = 5 ; -------------------------------------------------------------------- ; 設定特殊符號快速鍵 (可依需要自行修改) ; ; * 設定以 Alt + <按鍵> 來輸入特殊符號 ; 按鍵值請參考 AutoHotkey 的說明文件 ; -------------------------------------------------------------------- SetHotkey: SetKeyLabel("!1", "Alt1") SetKeyLabel("!2", "Alt2") SetKeyLabel("!3", "Alt3") SetKeyLabel("!4", "Alt4") SetKeyLabel("!5", "Alt5") SetKeyLabel("!6", "Alt6") SetKeyLabel("!7", "Alt7") SetKeyLabel("!8", "Alt8") SetKeyLabel("!9", "Alt9") SetKeyLabel("!0", "Alt0") SetKeyLabel("!-", "Alt-") SetKeyLabel("!=", "Alt=") SetKeyLabel("!\", "Alt\") SetKeyLabel("!Q", "AltQ") SetKeyLabel("!W", "AltW") SetKeyLabel("!E", "AltE") SetKeyLabel("!R", "AltR") SetKeyLabel("!T", "AltT") SetKeyLabel("!Y", "AltY") SetKeyLabel("!U", "AltU") SetKeyLabel("!I", "AltI") SetKeyLabel("!O", "AltO") SetKeyLabel("!P", "AltP") SetKeyLabel("![", "Alt[") SetKeyLabel("!]", "Alt]") SetKeyLabel("!A", "AltA") SetKeyLabel("!S", "AltS") SetKeyLabel("!D", "AltD") SetKeyLabel("!F", "AltF") SetKeyLabel("!G", "AltG") SetKeyLabel("!H", "AltH") SetKeyLabel("!J", "AltJ") SetKeyLabel("!K", "AltK") SetKeyLabel("!L", "AltL") SetKeyLabel("!;", "Alt;") SetKeyLabel("!'", "Alt'") SetKeyLabel("!Z", "AltZ") SetKeyLabel("!X", "AltX") SetKeyLabel("!C", "AltC") SetKeyLabel("!V", "AltV") SetKeyLabel("!B", "AltB") SetKeyLabel("!N", "AltN") SetKeyLabel("!M", "AltM") SetKeyLabel("!,", "AltComma") SetKeyLabel("!.", "Alt.") SetKeyLabel("!/", "Alt/") SetKeyLabel("!Ins", "AltIns") SetKeyLabel("!Del", "AltDel") SetKeyLabel("!Home", "AltHome") SetKeyLabel("!End", "AltEnd") Return ; -------------------------------------------------------------------- ; 定義快速鍵輸出的特殊符號 (可依需要自行修改) ; ; * 特殊符號鍵位跟螢幕小鍵盤一樣,如果忘記了直接開螢幕小鍵盤看比較快 ; ; * 另外新增四個螢幕小鍵盤沒有對應的特殊符號 ; Alt + Ins ↖ ; Alt + Del ↙ ; Alt + Home ↗ ; Alt + End ↘ ; -------------------------------------------------------------------- Alt1: SendString("┌") Return Alt2: SendString("┬") Return Alt3: SendString("┐") Return Alt4: SendString("〝") Return Alt5: SendString("〞") Return Alt6: SendString("‘") Return Alt7: SendString("’") Return Alt8: SendString("“") Return Alt9: SendString("”") Return Alt0: SendString("『") Return Alt-: SendString("』") Return Alt=: SendString("「") Return Alt\: SendString("」") Return AltQ: SendString("├") Return AltW: SendString("┼") Return AltE: SendString("┤") Return AltR: SendString("※") Return AltT: SendString("〈") Return AltY: SendString("〉") Return AltU: SendString("《") Return AltI: SendString("》") Return AltO: SendString("【") Return AltP: SendString("】") Return Alt[: SendString("﹝") Return Alt]: SendString("﹞") Return AltA: SendString("└") Return AltS: SendString("┴") Return AltD: SendString("┘") Return AltF: SendString("○") Return AltG: SendString("●") Return AltH: SendString("↑") Return AltJ: SendString("↓") Return AltK: SendString("!") Return AltL: SendString(":") Return Alt;: SendString(";") Return Alt': SendString("、") Return AltZ: SendString("─") Return AltX: SendString("│") Return AltC: SendString("◎") Return AltV: SendString("§") Return AltB: SendString("←") Return AltN: SendString("→") Return AltM: SendString("。") Return AltComma: SendString(",") Return Alt.: SendString("‧") Return Alt/: SendString("?") Return AltIns: SendString("↖") Return AltDel: SendString("↙") Return AltHome: SendString("↗") Return AltEnd: SendString("↘") Return ; -------------------------------------------------------------------- ; 特殊符號快速鍵開關:Win + P ; -------------------------------------------------------------------- #P::Suspend ; -------------------------------------------------------------------- ; 設定特殊符號快速鍵執行區段標籤 ; -------------------------------------------------------------------- SetKeyLabel(key_press, key_label) { global AppCount Loop, %AppCount% { AppActive := App%A_Index% Hotkey, IfWinActive, %AppActive% Hotkey, %key_press%, %key_label% } } ; -------------------------------------------------------------------- ; 經由剪貼簿送出字串 ; -------------------------------------------------------------------- SendString(string) { Clipboard := string SendInput ^V } ---------------------------------------------------------------------- 已知的問題: * 因為是經由剪貼簿送出字串,剪貼簿原本的資料會被覆蓋過去,[複製/貼上] 資料時要留意一下 * 連續輸入同一特殊符號時,請不要壓住快速鍵不放,以免 AutoHotkey 來不及 處理,建議先輸入一個特殊符號,再用貼上 (Ctrl + V) 來連續輸入 如有其它問題,歡迎指教 囧> 本著作依據 Creative Commons 姓名標示-非商業性-相同方式分享 授權條款為授權 http://creativecommons.org/licenses/by-nc-sa/2.0/tw/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.248.159.124