Cách sử dụng AutoKey để tự động hóa trò chơi Linux

How Use Autokey Automate Linux Games



AutoKey là một tiện ích tự động hóa máy tính để bàn dành cho Linux và X11, được lập trình bằng Python 3, GTK và Qt. Sử dụng chức năng viết lệnh và MACRO, bạn có thể tự động hóa các thao tác nhấn phím, nhấp chuột và hầu hết các phần của giao diện máy tính để bàn. Nếu bạn đang tìm kiếm một giải pháp thay thế cho chương trình Windows AutoHotkey , AutoKey là lựa chọn tốt nhất hiện nay cho người dùng Linux.

Lưu ý rằng đây chỉ là ứng dụng X11, bộ phận hỗ trợ của Wayland chưa được thêm vào ứng dụng tại thời điểm viết bài này.







Một số tính năng của AutoKey là:



  • Hỗ trợ các từ viết tắt có thể tự động mở rộng một vài ký tự thành bất kỳ câu và khối văn bản thường được sử dụng nào của bạn.
  • Hỗ trợ gửi các tổ hợp phím và click chuột tùy ý.
  • Hỗ trợ chỉ định các quy tắc cho một cửa sổ ứng dụng cụ thể.
  • Các tập lệnh Python 3 có thể được sử dụng để viết các quy tắc tự động hóa.
  • Khả năng kiểm soát các chức năng của cửa sổ như phóng to, thay đổi kích thước và di chuyển.
  • Đi kèm với một tập hợp các ví dụ được định cấu hình sẵn để tạo tập lệnh dễ dàng hơn.
  • Khả năng hiển thị cửa sổ bật lên menu tùy chỉnh với danh sách các lựa chọn.
  • Khả năng ghi lại các lần gõ phím và nhấp chuột.
  • Khả năng đặt phím nóng mà không cần phím bổ trợ.
  • Các tập lệnh tự động hóa có tính di động và có thể dễ dàng chia sẻ với những người dùng khác.

Hướng dẫn này sẽ chỉ cho bạn một số ví dụ AutoKey hữu ích cho người chơi Linux. Để bắt đầu, hãy cài đặt các gói Autokey Ubuntu từ trang GitHub của nó. Tải xuống các tệp được đề cập bên dưới từ ở đây



  • autokey-common_x.xx.x-x_all.deb
  • autokey-gtk_x.xx.x-x_all.deb hoặc autokey-qt_x.xx.x-x_all.deb (chỉ tải xuống một)

Sau khi tải xuống các tệp, hãy chạy các lệnh sau theo thứ tự:





$sudođúng cáchTải về./autokey-common_0.95.8-0_all.deb
$sudođúng cáchTải về./autokey-gtk_0.95.8-0_all.deb

Người ta thường thấy nhiều trò chơi PC sử dụng phím để lưu nhanh và tải nhanh. Tuy nhiên, nhiều trò chơi PC khác, đặc biệt là các cổng giao diện điều khiển có một cách tẻ nhạt để lưu trò chơi khi bạn phải điều hướng qua nhiều tùy chọn menu. Đây là một mô hình nhanh mà tôi đã vẽ minh họa điều này (xin lỗi về kỹ năng vẽ của tôi):



Trò chơi muốn bạn nhấn phím để tạm dừng trò chơi, sau đó nhấn phím mũi tên, sau đó nhấn phím để lưu trò chơi, tiếp theo là phím một lần nữa để quay lại trò chơi. Toàn bộ quá trình này có thể được tự động hóa dễ dàng và ánh xạ tới khóa bằng AutoKey. Kiểm tra mã tập lệnh bên dưới:

nhập khẩuthời gian
keyboard.send_key('')
thời gian ngủ(0,25)
keyboard.send_key('')
thời gian ngủ(0,25)
keyboard.send_key('')
thời gian ngủ(0,25)
keyboard.send_key('')

Để thêm tập lệnh này vào AutoKey, hãy khởi chạy ứng dụng và sau đó nhấp vào thư mục hiển thị hoặc nhấp vào thư mục tùy chỉnh do bạn tạo để đánh dấu nó. Bấm vào Tệp> Mới> Tập lệnh tùy chọn menu để tạo một tập lệnh mới bên trong thư mục đó, như được hiển thị trong ảnh chụp màn hình bên dưới:

Đổi tên tập lệnh này thành Quicksave và đặt đoạn mã trên vào bên trong nó. Sau đó nhấp vào nút Hotkey ở dưới cùng, như được hiển thị trong ảnh chụp màn hình bên dưới:

Trên màn hình tiếp theo, nhấp vào nút Nhấn để đặt và sau đó nhấn phím để ánh xạ nó với tập lệnh.

Chìa khóa:(Không có)sẽ thay đổi thành Key:<f5>.

Nhấp vào OK và nhấn để lưu tập lệnh. Luôn nhớ lưu tập lệnh nếu không sẽ không có gì được thực thi khi bạn nhấn phím nóng được ánh xạ.

Quicksave keymapping hiện đã sẵn sàng để sử dụng. Lần tới khi bạn nhấn phím, một loạt các lần nhấn phím sẽ được thực hiện theo thứ tự.

Lưu ý rằng chúng tôi đã thay đổi chức năng của khóa trên toàn hệ điều hành, miễn là AutoKey đang chạy và được gắn vào khay hệ thống. Để hạn chế nó trong một cửa sổ hoặc ứng dụng cụ thể, bạn sẽ phải chỉ định các quy tắc cửa sổ bằng cách nhấp vào nút Bộ lọc Cửa sổ ở dưới cùng.

Bạn cũng có thể sử dụng cùng một tập lệnh ở trên để tạo một tập lệnh tải nhanh. Bạn chỉ cần xóa dòng cho phím mũi tên và sau đó ánh xạ tập lệnh thành phím.

Nếu bạn đang tìm kiếm các tên khóa chính xác để sử dụng trong tập lệnh AutoKey Python 3, có thể tìm thấy danh sách tất cả các mã khóa đặc biệt có thể sử dụng trong AutoKey ở đây . Bất kỳ khóa nào không được đề cập trong trang trên đều có thể được chèn bằng dấu ngoặc kép hoặc đơn. Ví dụ: keyboard.send_key (‘5’), keyboard.send_key (‘p’), v.v.

Ví dụ 2: Uống liên tiếp hai lọ thuốc sức khỏe trong trò chơi nhập vai

Giả sử phím nóng để uống thuốc tăng sức khỏe trong trò chơi của bạn, kịch bản sẽ là:

keyboard.send_key('NS',lặp lại=2)

Giá trị của biến lặp lại cũng có thể được thay đổi thành bất kỳ số nào khác. Bạn có thể làm theo các bước trong ví dụ đầu tiên để ánh xạ tập lệnh tới phím nóng bạn muốn.

Ví dụ 3: Chế độ Burst cho Súng trong Trò chơi Bắn súng

Sử dụng đoạn mã dưới đây, bạn có thể sử dụng phím bản đồ để bắn súng ba lần liên tiếp. Cách bắn ban đầu trong game là bấm chuột trái một lần.

# nút chuột: trái = 1, giữa = 2, phải = 3
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)

Tập lệnh trên sẽ thực hiện nhấp chuột trái ba lần liên tiếp. Có thể thêm các câu lệnh bổ sung nếu bạn muốn thực hiện nhấp chuột trái nhiều hơn ba lần.

Bạn có thể làm theo các bước trong ví dụ đầu tiên để ánh xạ tập lệnh tới phím nóng.

Ví dụ 4: Tạo Menu trò chơi tùy chỉnh / Biến trò chơi thời gian thực thành trò chơi theo lượt

Sử dụng chức năng menu danh sách của AutoKey, chúng tôi sẽ hiển thị menu dưới dạng lớp phủ trên đầu trò chơi đang chạy. Menu này sẽ lấy tiêu điểm từ trò chơi và trả lại sau khi thực hiện một cú nhấp chuột vào một trong các mục menu. Sau khi tiêu điểm được trả lại, một tổ hợp phím tự động sẽ được thực hiện để gọi một chức năng trong trò chơi.

Hãy nhìn vào bức ảnh này:

Trong thư mục GameMenu, tôi đã tạo một thư mục con có tên là Show. Cả hai thư mục GameMenu và Show đều có các mục con. Đây là mã tôi đã đặt bên trong mỗi mục con:

  • Khoảng không quảng cáo: keyboard.send_key (‘i’)
  • Bản đồ: keyboard.send_key (‘m’)
  • Quay lại Trò chơi: keyboard.send_key (‘’)
  • Chuyển sang Assault Rifle: keyboard.send_key (‘2’)
  • Chuyển sang SMG: keyboard.send_key (‘1’)

Tại đây, thư mục GameMenu được ánh xạ tới key và đây là giao diện bên trong trò chơi đang chạy:

Mỗi mục trong menu có một số đứng trước nhãn của nó. Bạn có thể gọi bất kỳ mục menu nào bằng cách nhấn phím số tương ứng trên bàn phím. Ví dụ, nhấn phím ở đây sẽ chuyển súng sang súng trường tấn công.

Một bản trình diễn GIF nhỏ của ví dụ này (nhấp vào hình ảnh hoặc nhấp chuột phải và mở GIF trong tab mới nếu hoạt ảnh dừng bên dưới):

Phương pháp này có thể không hoạt động với tất cả các trò chơi, tùy thuộc vào cách chúng xử lý kết xuất toàn màn hình và cửa sổ. Một số trò chơi không tạm dừng khi mất tiêu điểm trong khi những trò chơi khác thì không. Nếu trò chơi tạm dừng khi mất tiêu điểm, về cơ bản bạn đã chuyển đổi một trò chơi thời gian thực thành một trò chơi theo lượt bằng cách sử dụng tập lệnh AutoKey này.

Ví dụ này sẽ hoạt động với các trò chơi theo từng trường hợp. Tuy nhiên, trong thử nghiệm của mình, tôi đã đạt được kết quả khá tốt với cả game native và Steam Proton / Wine.

Phần kết luận

Tất cả các ví dụ được đề cập ở đây là cơ bản, chủ yếu tập trung cho các game thủ Linux. Chúng chỉ bao gồm một phần của API mạnh mẽ của AutoKey. AutoKey có thể tự động hóa rất nhiều quy trình làm việc của bạn bằng cách sử dụng các tính năng tạo kịch bản cho phần mềm hàng ngày hoặc phần mềm phức tạp. Một vài ví dụ khác có sẵn trong tài liệu chính thức của ứng dụng.