Có phiền không khi ứng dụng gần như giống hệt nhau dùng tổ hợp phím khác để đạt cùng kết quả? Tệ hơn, bạn có ghét khi phần mềm kiên quyết dùng phím tắt bí ẩn mà không cung cấp tùy chọn remap? Có tuyệt vời không khi bạn có kiểm soát tuyệt đối về cách bàn phím hoạt động trong mọi ứng dụng? Vâng, điều đó có thể, nhờ AutoHotkey.
Với AutoHotkey, bạn có thể remap toàn bộ bàn phím hoặc tạo phím tắt tùy chỉnh, cả "toàn cục (globally)" và cho từng ứng dụng riêng lẻ. Nếu muốn, bạn thậm chí có thể có chuỗi văn bản tùy chỉnh — thậm chí toàn bộ mẫu — cho mỗi app gán vào cùng tổ hợp phím. Bạn chỉ cần AutoHotkey và trình soạn thảo văn bản — ngay cả Notepad cũng được. Nghe thú vị? Hãy bắt đầu ngay.
Bắt Đầu Với Windows Spy Trong AutoHotkey
Ngày nay, nhiều bàn phím đi kèm phần mềm tạo phím tắt và macro tùy chỉnh. Tuy nhiên, như chúng ta sẽ thấy, AutoHotkey linh hoạt hơn vì nó không phụ thuộc bàn phím.
Với nó, "tùy chỉnh bàn phím" của bạn sẽ không bị gắn với bàn phím cụ thể. Bạn sẽ có thể mang script tùy chỉnh đến máy tính khác và chạy phím tắt và mã ngắn tùy chỉnh cho app ngay lập tức.
Vì trong bài này chúng ta "bắt đầu chạy ngay", nếu bạn muốn giới thiệu đúng về AutoHotkey, hãy xem hướng dẫn nhanh AutoHotkey cho người mới.
Bắt đầu bằng cách tải AutoHotkey từ trang chính thức. Sau đó, cài đặt như ứng dụng bình thường. Bạn không phải chạy nó sau đó. Nó bật hoạt động tự động khi bạn chạy script làm cho nó. Vậy, hãy tạo script như vậy.
Với AutoHotkey đã cài, chuột phải bất kỳ đâu, trên màn hình nền hoặc trong thư mục bạn muốn tạo script. Chọn Mới > AutoHotkey Script. Đặt tên cho script-to-be và nhấn Enter.
Với AutoHotkey, bạn có thể tạo phím tắt "toàn cục" hoạt động mọi nơi hoặc phím tắt riêng ứng dụng chỉ hoạt động bên trong cửa sổ ứng dụng đang hoạt động. Để "nhắm mục tiêu" ứng dụng cụ thể, bạn phải xác định nó trong script. AutoHotkey giúp với điều đó qua Window Spy.
Nhấp đúp vào script trống hiện tại để chạy nó, và với nó, AutoHotkey. Chuột phải vào biểu tượng AutoHotkey trên khay Windows, và chọn Window Spy từ menu bật lên.
Để tìm định danh cần thiết để nhắm ứng dụng, giữ Window Spy trên màn hình, và nhấp vào cửa sổ app. Sau đó, chú ý các mục ahk_class, ahk_exe, và ahk_pid, ở đầu cửa sổ Window Spy. Trong trường hợp chúng tôi, chúng tôi muốn nhắm ứng dụng ghi chú phổ biến Obsidian. Vì phần mềm khác có thể có ahk_class và ahk_pid tương tự, chúng tôi dùng file thực thi làm mục tiêu, dùng ahk_exe Obsidian.exe, như được nhắc trong Window Spy.
Khi bạn biết mục tiêu, đã đến lúc viết script.
Đã Đến Lúc Tạo Script Trong AutoHotkey
Chuột phải vào script và chọn Chỉnh sửa Script (Edit Script) để mở trong trình soạn thảo mặc định. Như bạn sẽ thấy, nó sẽ được điền trước một số giá trị giúp tương thích và hiệu năng. Bỏ qua chúng, nhấn Enter một hoặc hai lần, và nhắm app bằng:
#IfWinActive APP_IDENTIFIER
Thay APP_IDENTIFIER bằng mục tiêu thực tế bạn sao chép từ Window Spy của AutoHotkey. Trong trường hợp chúng tôi, điều này chuyển thành:
#IfWinActive ahk_exe Obsidian.exe
Khi viết script AutoHotkey, bạn có thể dùng các ký hiệu sau cho phím chỉnh sửa trên bàn phím:
- ! cho Alt
- + cho Shift
- ^ cho CTRL
- # cho phím Windows
Trước khi tạo phím tắt thực tế, hãy kiểm tra xem script có thực sự chỉ hoạt động khi ứng dụng bạn chọn đang hoạt động không. Cách dễ nhất là dùng "hộp tin nhắn" hoặc "msgbox" như AutoHotkey gọi.
Gõ dòng sau ngay dưới dòng bạn nhắm ứng dụng:
^a::
msgbox it works!
return
Nếu dịch sang tiếng Việt đơn giản, sẽ trông như:
- Khi CTRL + A được nhấn cùng lúc...
- ... hiển thị hộp tin nhắn trên màn hình ghi "it works!".
- Khi người dùng xác nhận hộp tin nhắn, quay lại trạng thái trước.
Chạy script, nhấn CTRL + A trên bàn phím, và không nên có gì xảy ra. Đó là vì bạn đã nhắm ứng dụng cụ thể nhưng chưa chuyển sang nó. Vì vậy, kích hoạt cửa sổ ứng dụng đó, nhấn tổ hợp phím đó, và bạn sẽ thấy hộp tin nhắn bật lên ghi "it works".
Bây giờ, chuyển lại bất kỳ ứng dụng nào khác và thử lại tổ hợp phím. Hy vọng không có gì xảy ra. Nếu vậy, nghĩa là MSGBOX chỉ kích hoạt trong app bạn nhắm, đây là kết quả mong muốn từ script này.
Nếu phím tắt "rò rỉ" vào app khác, kiểm tra lại cú pháp, và đảm bảo không có lỗi chính tả trong mục tiêu bạn chọn.
Cách Tạo Hồ Sơ Bàn Phím Tùy Chỉnh Cho App Của Bạn
AutoHotkey làm cho việc remap phím bàn phím dễ dàng, cả riêng lẻ và khi kết hợp. Bạn muốn hoán đổi phím A và B? Trong cú pháp AutoHotkey, trông như sau:
a::b
b::a
Tuy nhiên, bạn có thể không muốn remap phím đơn lẻ, mà muốn tổ hợp nhiều phím, với một hoặc nhiều phím chỉnh sửa, thực hiện hành động cụ thể.
Để xây dựng trên ví dụ trước, nếu bạn muốn B xuất hiện khi nhấn CTRL+A và ngược lại, A xuất hiện khi nhấn CTRL+B, hãy thử:
^a::b
^b::a
Tất nhiên, đây chỉ là ví dụ. Trong đời thực, nhấn nhiều phím để gõ một ký tự là định nghĩa của việc chống lại năng suất. Ngược lại, gán chuỗi văn bản vào tổ hợp phím có thể tăng tốc độ nhập văn bản đáng kể. Để tên, email, hoặc bất kỳ đoạn văn nào được gõ khi bạn nhấn tổ hợp phím, bạn có thể dùng lệnh "send" của AutoHotkey. Lệnh này "bảo" AutoHotkey, như tên nó, "gửi" chuỗi văn bản theo sau đến cửa sổ hoạt động. Trong hành động, nó có thể trông như sau:
^+O::
send Odysseas
return
Trong script trên:
- Chúng ta bắt đầu bằng cách "bảo" AutoHotkey nó nên làm gì khi nhấn Shift + CTRL + O cùng lúc.
- "Điều đó" là gửi chuỗi "Odysseas", tên của người viết, đến cửa sổ hoạt động.
- Cuối cùng, với "return", chúng ta nói tương đương "đủ rồi, cảm ơn, AutoHotkey!".
Hãy thử nghiệm với các tổ hợp phím khác nhau và để AutoHotkey gửi các chuỗi văn bản khác nhau đến ứng dụng bạn chọn. Bạn có thể có nhiều quy tắc trong cùng script.
Dùng tổ hợp phím nhập chuỗi văn bản có thể hữu ích để nhập ngay tên và email. Tuy nhiên, nó không trực quan khi gõ. Sau một thời gian, khó theo dõi những chục phím tắt làm gì. Đó là nơi mở rộng văn bản (text expansion) giúp ích.
Thay vì ánh xạ tổ hợp phím cụ thể đến chuỗi văn bản, AutoHotkey cho phép bạn định nghĩa mã ngắn (shortcode). Sau đó, khi nó phát hiện bạn gõ một trong số đó, nó tự động thay thế bằng chuỗi văn bản dài hơn. Nó đơn giản như:
:*:MUO~::Make Use Of
- ":*:" ở đầu dòng nói rằng đây là quy tắc mở rộng văn bản.
- Tiếp theo là mã ngắn, trong trường hợp chúng tôi là "MUO~".
- Giống như phím tắt, "::" là tương đương logic của "=" trong kịch bản này.
- Mảnh ghép cuối là chuỗi văn bản thực tế chúng ta muốn thay thế "MUO~".
Với quy tắc này, bất cứ khi nào chúng tôi gõ MUO~ trong app nhắm, AHK sẽ nhảy vào và thay thế bằng Make Use Of.
Sau khi xong định nghĩa quy tắc cho một ứng dụng, bạn có thể nhắm ứng dụng khác chính xác theo cách tương tự. Dùng "#IfWinActive APP_IDENTIFIER" lần nữa, lần này nhắm cửa sổ app khác, và gõ quy tắc cho nó ngay bên dưới.
Lặp lại bao nhiêu lần bạn muốn, tạo hồ sơ phím tắt và mã ngắn riêng cho từng app.
Vì script AutoHotkey về cơ bản là file văn bản, đây là ý tưởng hay: kết hợp script khác vào script của bạn, và cũng làm chúng riêng cho app! Xem danh sách script AutoHotkey thú vị. Chọn bất kỳ cái bạn thích, nhưng thay vì dùng như script độc lập, mở trong trình soạn thảo.
Sao chép nội dung và thêm vào phần nhắm app của script. Lưu và chạy lại script, và về mặt lý thuyết, những script đó nên hoạt động như phần của script khi app bạn nhắm đang hoạt động.
Làm Cho Bàn Phím Của Bạn Thông Minh Với AutoHotkey
Như bạn sẽ thấy trong dài hạn, tạo script như vậy là một quá trình, không phải việc một lần. Khi nhu cầu và cách bạn dùng phần mềm thay đổi, script của bạn cũng sẽ thay đổi.
Bằng cách liên tục mở rộng và tinh chỉnh script, bạn có thể sớm cảm thấy như hacker trong series kém hiểu công nghệ. Bằng cách nhấn chục phím, và tổ hợp bí ẩn chỉ bạn biết, bạn có thể làm một bức tường văn bản xuất hiện trên màn hình như phép thuật.