ไม่น่าหงุดหงิดไหม เมื่อแอปที่เกือบเหมือนกัน ใช้ Key Combination ต่างกัน เพื่อให้ผลลัพธ์เดียวกัน? แย่กว่านั้น คุณเกลียดมั้ย เมื่อซอฟต์แวร์บังคับใช้ Keyboard Shortcut ที่ซับซ้อน โดยไม่ให้ตัวเลือก Remap? ไม่ได้ดีไหม ถ้าคุณมีการควบคุมแบบเต็มที่ ต่อวิธีการทำงานของคีย์บอร์ดในทุกแอปพลิเคชัน? 没错 这可行,多亏了 AutoHotkey。
ด้วย AutoHotkey คุณสามารถ Remap คีย์บอร์ดทั้งหมด หรือสร้าง Shortcut แบบกำหนดเอง ทั้ง "Global" และ "เฉพาะแอปพลิเคชัน" แยกกัน หากคุณต้องการ คุณแม้แต่สามารถมี Custom String ข้อความ หรือแม้แต่ Template ทั้งหมด สำหรับแต่ละแอป ผูกกับ Key Combination เดียวกัน คุณต้องการแค่ AutoHotkey และ Text Editor แม้ Notepad ก็พอ ดูน่าสนใจไหม? มาเริ่มเลย
เริ่มต้นกับ Windows Spy ใน AutoHotkey
ปัจจุบัน คีย์บอร์ดหลายตัวมาพร้อมซอฟต์แวร์สร้าง Shortcut และ Macro แบบกำหนดเอง อย่างไรก็ตาม ตามที่เราจะเห็น AutoHotkey มีความหลากหลายมากกว่า เพราะมัน Keyboard-agnostic (ไม่ขึ้นกับคีย์บอร์ดเฉพาะ)
ด้วยมัน "การปรับแต่งคีย์บอร์ด" ของคุณ จะไม่ถูกผูกกับคีย์บอร์ดตัวใดตัวหนึ่ง คุณจะนำ Script การปรับแต่งไปคอมพิวเตอร์อื่น และมี Custom App Shortcuts และ Shortcodes ทำงานได้ทันที
เนื่องจากในบทความนี้เราเริ่มทันที หากคุณต้องการการแนะนำ AutoHotkey ให้ถูกต้อง ดู Quick AutoHotkey Guide for Beginners ของเรา
เริ่มด้วยการดาวน์โหลด AutoHotkey จากเว็บไซต์อย่างเป็นทางการ ติดตั้งเหมือนแอปทั่วไป คุณไม่ต้องรันหลังจากนั้น มันจะทำงานอัตโนมัติเมื่อคุณรัน Script ที่เขียนสำหรับมัน ดังนั้น มาสร้าง Script กัน
เมื่อติดตั้ง AutoHotkey แล้ว คลิกขวาที่ไหนก็ได้ บนเดสก์ท็อป หรือในโฟลเดอร์ที่ต้องการสร้าง Script เลือก New > AutoHotkey Script ตั้งชื่อ Script แล้วกด Enter
ด้วย AutoHotkey คุณสามารถสร้าง Shortcut "Global" ที่ทำงานทุกที่ หรือ "App-specific" ที่ทำงานเฉพาะในหน้าต่างของแอปพลิเคชันที่ Active อยู่ เพื่อ "Target" แอปพลิเคชันเฉพาะ คุณต้องระบุมันใน Script AutoHotkey ช่วยได้ด้วย Windows Spy ของมัน
ดับเบิลคลิกที่ Script ว่างของคุณเพื่อรัน มันจะรัน AutoHotkey ด้วย คลิกขวาที่ไอคอน AutoHotkey บน System Tray เลือก Window Spy จากเมนู
เพื่อหา Identifier ที่ต้องการ Target แอปพลิเคชัน ให้ทิ้ง Window Spy บนหน้าจอ และคลิกที่หน้าต่างของแอปของคุณ จากนั้นสังเกต entry ahk_class, ahk_exe, และ ahk_pid ที่ด้านบนของหน้าต่าง Window Spy ในกรณีของเรา เราต้องการ Target แอปจดบันทึกยอดนิยม Obsidian เนื่องจากซอฟต์แวร์อื่นอาจมี ahk_class และ ahk_pid คล้ายกัน เราใช้ Executable file เป็น Target โดยใช้ ahk_exe Obsidian.exe ตามที่ Window Spy แสดง
เมื่อคุณรู้ Target แล้ว ถึงเวลาเขียน Script
ถึงเวลาสร้าง Script ใน AutoHotkey
คลิกขวาที่ Script ของคุณ เลือก Edit Script เปิดใน Text Editor เริ่มต้น ตามที่คุณจะเห็น มันจะ Pre-populated ด้วยค่าบางอย่าง ช่วยเรื่อง Compatibility และ Performance ข้ามไป ให้กด Enter 1-2 ครั้ง และ Target แอปของคุณด้วย:
#IfWinActive APP_IDENTIFIER
แทนที่ APP_IDENTIFIER ด้วย Target จริงที่คุณคัดลอกจาก Window Spy ของ AutoHotkey ในกรณีของเรา แปลได้เป็น:
#IfWinActive ahk_exe Obsidian.exe
เมื่อเขียน Script AutoHotkey คุณสามารถใช้สัญลักษณ์ต่อไปนี้สำหรับ Modifier Keys บนคีย์บอร์ด:
- ! สำหรับ Alt
- + สำหรับ Shift
- ^ สำหรับ CTRL
- # สำหรับ Windows Key
ก่อนสร้าง Shortcut จริง ทดสอบว่า Script จะทำงานเฉพาะเมื่อแอปที่เลือก Active อยู่จริง วิธีง่ายที่สุดคือ ใช้สิ่งที่ AutoHotkey เรียกว่า "Message Box" หรือ "msgbox"
พิมพ์ต่อไปนี้ โดยตรงใต้บรรทัดที่คุณ Target แอปที่เลือก:
^a::
msgbox it works!
return
ถ้าแปลเป็นภาษาไทยธรรมดา จะประมาณนี้:
- เมื่อกด CTRL + A พร้อมกันบนคีย์บอร์ด...
- ... แสดง Message Box บนหน้าจอ ว่า "it works!"
- เมื่อผู้ใช้ยอมรับ Message Box ให้กลับสู่สถานะเดิม
รัน Script ของคุณ กด CTRL + A บนคีย์บอร์ด และไม่ควรเกิดอะไรขึ้น เพราะคุณ Target แอปเฉพาะ แต่ยังไม่ Switch ไปที่มัน ดังนั้น ให้ Activate หน้าต่างของแอปนั้น กดชุดปุ่มเดิม ควรจะเห็น Message Box โผล่ขึ้น บอกว่า "it works"
ตอนนี้ Switch กลับไปแอปอื่น ลองชุดปุ่มเดิม หวังว่าไม่ควรเกิดอะไรขึ้น หากเป็นเช่นนั้น แสดงว่า MSGFOX ทำงานเฉพาะในแอปที่คุณ Target นั่นคือผลลัพธ์ที่เราต้องการจาก Script นี้
หาก Keybind "รั่ว" ไปแอปอื่น ตรวจสอบ Syntax อีกครั้ง ให้แน่ใจว่าไม่มี Typo ใน Target ที่เลือก
วิธีสร้าง Keyboard Profile แบบกำหนดเองสำหรับแอปของคุณ
AutoHotkey ทำให้ Remap ได้ง่ายว่าปุ่มบนคีย์บอร์ดทำอะไร ทั้งตัวเดียวและเมื่อรวมกัน คุณอยากสลับปุ่ม A และ B? ใน Syntax AutoHotkey จะเป็นแบบนี้:
a::b
b::a
อย่างไรก็ตาม คุณอาจไม่ต้องการ Remap ปุ่มเดี่ยว แต่ต้องการ Multi-key Combination พร้อม Modifier Keys หนึ่งหรือมากกว่า ทำการกระทำเฉพาะเจาะจง
เพื่อต่อยอดจากตัวอย่างก่อน หากคุณต้องการให้ B ปรากฏเมื่อกด CTRL+A และในทางกลับกัน A ปรากฏเมื่อกด CTRL+B ลอง:
^a::b
^b::a
แน่นอน นี่เป็นเพียงตัวอย่าง ในชีวิตจริง การกดหลายปุ่มเพื่อพิมพ์ตัวอักษรเดียว คือนิยามของ Counterproductive ในทางตรงข้าม การกำหนด Text Strings ให้กับ Key Combination สามารถเร่งการป้อนข้อความได้มาก เพื่อให้ชื่อ อีเมล หรือข้อความใดๆ ถูกพิมพ์เมื่อคุณกด Key Combination คุณสามารถใช้คำสั่ง "send" ของ AutoHotkey คำสั่งนี้ "บอก" AutoHotkey ตามชื่อว่า "ส่ง" String ข้อความที่ตามมา ไปยัง Active Window ในการทำงาน อาจดูแบบนี้:
^+O::
send Odysseas
return
ใน Script ด้านบน:
- เราเริ่มด้วยการ "บอก" AutoHotkey ว่าควรทำบางอย่าง เมื่อเรากด Shift + CTRL + O พร้อมกัน
- "บางอย่าง" นั้นคือ ส่ง String "Odysseas" ซึ่งเป็นชื่อของผู้เขียน ไปยัง Active Window
- สุดท้าย ด้วย "return" เราระบุว่า "เพียงเท่านี้ ขอบคุณ AutoHotkey!"
ลองทดลอง Key Combination ต่างๆ และให้ AutoHotkey ส่ง Text Strings ต่างๆ ไปยังแอปที่คุณเลือก คุณสามารถมีหลาย Rules ใน Script เดียวกัน
การใช้ Key Combination ป้อน Text Strings อาจช่วยป้อนชื่อและอีเมลทันที แต่ไม่直观 เมื่อพิมพ์ หลังจากผ่านไปสักพัก จะยากที่จะจดจำว่า Shortcut โหลดทำอะไร นี่คือที่ที่ Text Expansion ช่วยได้
แทนที่จะ Map Key Combination ไป Text Strings แบบเฉพาะเจาะจง AutoHotkey อนุญาตให้กำหนด Shortcodes แล้วเมื่อตรวจพบว่าคุณพิมพ์ Shortcode หนึ่ง มันสามารถแทนที่ด้วย Text String ยาวได้อัตโนมัติ มันง่ายแค่:
:*:MUO~::Make Use Of
- " :*: " ที่ต้นบรรทัด ระบุว่าเป็น Rule ของ Text Expansion
- ตามด้วย Shortcode ซึ่งในกรณีของเราคือ "MUO~"
- เหมือน Shortcut " :: " คือ ตัวดำเนินการตรรกะเทียบเท่า "=" ในสถานการณ์นี้
- ชิ้นสุดท้ายคือ String ข้อความจริง ที่เราต้องการแทนที่ "MUO~"
ด้วย Rule นี้ ทุกครั้งที่เราพิมพ์ MUO~ ในแอปที่ Target AHK จะแทรกแซงและแทนที่ด้วย Make Use Of
หลังจากคุณกำหนด Rules สำหรับแอปหนึ่งเสร็จ คุณสามารถ Target อีกแอปได้ในวิธีเดียวกัน ใช้ "#IfWinActive APP_IDENTIFIER" อีกครั้ง คราวนี้ Target หน้าต่างแอปอีกตัว และพิมพ์ Rules สำหรับมัน โดยตรงใต้
ทำซ้ำเท่าที่ต้องการ สร้าง Profile ของ Shortcuts และ Shortcodes เฉพาะแอป
เนื่องจาก Script AutoHotkey โดยพื้นฐานคือ Text Files นี่คือไอเดียน่าสนใจ: รวม Script อื่นๆ เข้าใน Script ของคุณ และทำให้เป็น App-specific ด้วย! ดู List of cool AutoHotkey Scripts ของเรา เลือกที่ชอบ แทนที่จะใช้เป็น Standalone Script ให้เปิดใน Text Editor
คัดลอกเนื้อหา และเพิ่มใต้ Section ที่ Target แอปของ Script คุณ Save และ Re-run Script ทฤษฎีแล้ว Script เหล่านั้นควรทำงานเป็นส่วนหนึ่งของ Script คุณ เมื่อแอปที่คุณ Target Active อยู่
ทำให้คีย์บอร์ดของคุณฉลาดขึ้นด้วย AutoHotkey
ตามที่คุณจะพบในระยะยาว การสร้าง Script แบบนี้เป็นกระบวนการ ไม่ใช่เรื่องครั้งเดียว ตามที่ความต้องการและวิธีการใช้ซอฟต์แวร์ของคุณเปลี่ยนไป Script ของคุณก็จะเปลี่ยนไปด้วย
โดยการขยายและปรับแต่ง Script ของคุณอย่างต่อเนื่อง คุณอาจเร็วๆ นี้รู้สึกเหมือน Hacker ในซีรีส์ที่ไม่รู้เทคโนโลยี โดยกดปุ่มครึ่งโหล หรือ Combination แปลกๆ ที่คุณรู้คนเดียว คุณทำให้กำแพงข้อความปรากฏบนหน้าจอ ดูเหมือนเวทมนตร์