Phím bấm Python linux

Chúng tôi sẽ sử dụng mô-đun pynput để nghe các sự kiện của chuột. Để cài đặt mô-đun này, hãy thực thi

keyboard = Controller[]
1 trong cmd. Xem đầu ra để đảm bảo không có lỗi nào xảy ra;

Để kiểm tra kỹ xem nó đã được cài đặt thành công hay chưa, hãy mở IDLE và thực hiện lệnh

keyboard = Controller[]
2;

Phím mô phỏng

Tạo một tập lệnh mới và lưu nó ở đâu đó để bạn có thể dễ dàng chạy tập lệnh. Nhập

keyboard = Controller[]
3 và
keyboard = Controller[]
4 từ
keyboard = Controller[]
5

from pynput.keyboard import Key, Controller

Tạo một biến có tên là bàn phím và đặt nó thành một thể hiện của

keyboard = Controller[]
4. Bây giờ bằng cách sử dụng biến bàn phím, chúng ta có thể nhấn và nhả phím

keyboard = Controller[]

Nhấn và nhả phím

Sử dụng

keyboard = Controller[]
7 chúng ta có thể nhấn phím và với
keyboard = Controller[]
8 chúng ta có thể nhả phím. Điều này cho phép chúng ta gõ một phím bằng cách nhấn và thả. Bạn chỉ có thể cung cấp cho phương thức này một khóa tại một thời điểm. Dưới đây là một ví dụ về cách gõ chữ 'a'

keyboard.press['a']
keyboard.release['a']

Nhấn và thả các phím đặc biệt

Đối với các phím đặc biệt không thể đưa vào một chuỗi như shift hoặc control, bạn cần tham khảo trang này để xem lớp Key để biết các phím được hỗ trợ. Sử dụng những điều này trong các phương pháp nhấn hoặc nhả sẽ nhấn/nhả phím phù hợp với nó. Ví dụ: nếu tôi muốn nhấn phím Windows, tôi sẽ tìm phím. 'cmd' có mô tả "Một nút lệnh chung. Trên nền tảng PC, phím này tương ứng với phím Super hoặc phím Windows và trên máy Mac, nó tương ứng với phím Command" đó là thứ tôi đang tìm kiếm. Bây giờ cho mã

keyboard.press[Key.cmd]
keyboard.release[Key.cmd]

Phương pháp này cũng cho phép chúng ta nhấn một phím trong khi giữ một phím khác, ví dụ: ctrl+c để sao chép. Để làm điều này, chúng ta sẽ cần nhấn ctrl, nhấn và nhả c rồi nhả ctrl

keyboard.press[Key.ctrl]
keyboard.press['c']
keyboard.release['c']
keyboard.release[Key.ctrl]

Dưới đây là một vài phím đặc biệt phổ biến khác

  • Phím Alt trái
  • xóa lùi
  • Ctrl trái
  • Xóa bỏ
  • đi vào
  • Tẩu thoát
  • F1
  • F5
  • Tạm dừng chơi
  • Trang dưới
  • Phím mũi tên chỉ lên
  • Phần còn lại có thể được tìm thấy trong

Gõ nhiều phím

Một tính năng thú vị được cung cấp bởi lớp là phương thức kiểu. Phương thức này cho phép chúng ta gõ nhiều phím cùng lúc nhưng phải là một chuỗi ký tự. Vì vậy, nếu chúng tôi muốn nhập "Nitratine", chúng tôi sẽ thực hiện

keyboard.type['Nitratine']

Phương pháp này cũng hỗ trợ khoảng trắng nhưng khi nhập, hãy sử dụng ký tự dòng mới [\n] và ký tự tab [\t] cho các tab

keyboard.type['This is one line.\nAnd this is the next line.\n\tThis line has been tabbed in.']

Đặt độ trễ ngẫu nhiên giữa mỗi lần nhấn phím

Để đặt độ trễ ngẫu nhiên giữa mỗi lần nhấn phím, bạn có thể sử dụng

keyboard = Controller[]
9 với một số ngẫu nhiên được truyền cho nó. Đây là một chức năng ví dụ nhỏ tôi đã thực hiện

import time
import random
from pynput.keyboard import Controller

keyboard = Controller[]  # Create the controller

def type_string_with_delay[string]:
    for character in string:  # Loop over each character in the string
        keyboard.type[character]  # Type the character
        delay = random.uniform[0, 2]  # Generate a random number between 0 and 10
        time.sleep[delay]  # Sleep for the amount of seconds generated

type_string_with_delay["This is my string typed with a delay"]

Các vấn đề và câu hỏi thường gặp

Làm cách nào tôi có thể sử dụng bộ điều khiển bàn phím và chuột cùng một lúc?

Khi bạn nhập các lớp, Trình điều khiển sẽ được đặt thành lớp được nhập cuối cùng. Để biết vấn đề là gì, hãy tự hỏi, bạn đã sử dụng bộ điều khiển nào để đặt chuột và bộ điều khiển nào để đặt bàn phím? . Vì vậy, sau đó bạn nên sử dụng

from pynput.keyboard import Key, Controller as KeyboardController
from pynput.mouse import Button, Controller as MouseController

Bây giờ khi bạn muốn sử dụng bộ điều khiển cho chuột, hãy sử dụng MouseController và KeyboardController cho bàn phím

keyboard = KeyboardController[]
mouse = MouseController[]

ModuleNotFoundError/ImportError. Không có mô-đun nào có tên 'pynput'

Bạn đã cài đặt pynput chưa? . Nếu bạn có nhiều phiên bản Python, hãy đảm bảo rằng bạn đang cài đặt pynput trên cùng phiên bản với phiên bản bạn đang chạy tập lệnh

Tôi gặp lỗi SyntaxError

Lỗi cú pháp là do bạn gây ra và tôi không thể đưa ra cách khắc phục nào ngoài việc bảo bạn đọc lỗi. Họ luôn cho biết lỗi ở đâu trong đầu ra bằng dấu ^. Nói chung, những người gặp sự cố này có cách thụt đầu dòng không chính xác, đặt dấu ngoặc ở sai vị trí hoặc viết sai chính tả. Bạn có thể đọc về SyntaxError trên tài liệu của Python

Các lần nhấn phím hoạt động trong Notepad nhưng không phải trò chơi của tôi

pynput sử dụng hàm Win32API có tên là

keyboard.press['a']
keyboard.release['a']
0. Hàm SendInput sẽ chèn các sự kiện đầu vào vào cùng một hàng đợi như một thiết bị phần cứng nhưng các sự kiện được đánh dấu bằng cờ
keyboard.press['a']
keyboard.release['a']
1 có thể được phát hiện bằng móc và sau đó được lọc. Để tránh cờ này, có lẽ bạn phải viết trình điều khiển tùy chỉnh [tham khảo. stackoverflow/Anders]

Hầu hết các trò chơi sẽ tìm kiếm những sự kiện này nếu họ muốn giảm hoạt động của 'bot' vì nó dừng các gói như thế này đang được sử dụng.

Trong github. com/Gautam-J/Self-Driving-Car Tôi đã thấy rằng tệp directkeys. py chứa những điều sau đây

keyboard = Controller[]
0

Giấy phép cho đoạn mã này có thể được tìm thấy ở đây

Tệp này trình bày cách chúng tôi có thể nhấn các phím bằng mã phím DirectX. Liên kết trong tệp không còn tồn tại nhưng vẫn có thể tìm thấy liên kết này trên máy quay lại. Trang này cung cấp các mã khác cho các khóa có thể được mô phỏng

Thật không may, nó sẽ chỉ hoạt động trên Windows [do việc sử dụng

keyboard.press['a']
keyboard.release['a']
2] nhưng một số người có thể thấy rằng nó giải quyết được vấn đề của họ với cờ
keyboard.press['a']
keyboard.release['a']
1

Làm cách nào để phát hiện nhấn phím trong Python Linux?

Để phát hiện thao tác nhấn phím trong python, chúng ta có thể sử dụng mô-đun bàn phím . Nó hoạt động trên cả hệ điều hành Windows và Linux và hỗ trợ tất cả các phím nóng. Bạn có thể cài đặt mô-đun bàn phím trong máy của mình bằng PIP như sau. Để phát hiện nhấn phím, chúng ta sẽ sử dụng hàm is_pressed[] được xác định trong mô-đun bàn phím.

Python có thể mô phỏng tổ hợp phím không?

Python cung cấp một thư viện có tên keyboard được sử dụng để có toàn quyền kiểm soát bàn phím . Đó là một thư viện Python nhỏ có thể kết nối các sự kiện toàn cầu, đăng ký các phím nóng, mô phỏng các lần nhấn phím và hơn thế nữa.

Chủ Đề