[파이썬] pyautogui 마우스와 키보드 이벤트 로깅

PyAutoGUI is a Python module that allows us to programmatically control the mouse and keyboard. In addition to its core functionalities, PyAutoGUI also provides a way to log mouse and keyboard events. This feature can be quite useful when we want to collect data or debug our code.

In this blog post, we’ll explore how to log mouse and keyboard events using PyAutoGUI in Python.

Installation

Before we can start using PyAutoGUI, we need to install it. You can install it using pip by running the following command:

pip install pyautogui

Logging Mouse Events

To log mouse events, we need to use the pyautogui.displayMousePosition() function. This function will continuously print the current mouse position to the console.

Here’s an example of how to use it:

import pyautogui

# Start logging mouse events
pyautogui.displayMousePosition()

When you run this code, you will see the current mouse position printed to the console. Move your mouse around, and you will see the position being updated in real-time. Press Ctrl+C to stop logging the mouse events.

Logging Keyboard Events

To log keyboard events, we need to use the pyautogui.KEYBOARD_KEYS attribute to access the list of available keyboard keys. We can then listen for keyboard events using the keyboard module from the pynput library.

Here’s an example of how to log keyboard events:

import pyautogui
from pynput import keyboard

# Define the callback function for keyboard events
def on_press(key):
    try:
        # Print the key code when a key is pressed
        print('Key pressed: {0}'.format(key.char))
    except AttributeError:
        # Print special keys when a key is pressed
        print('Key pressed: {0}'.format(key))

# Start logging keyboard events
with keyboard.Listener(on_press=on_press) as listener:
    listener.join()

In this example, we import the keyboard module from the pynput library and define a callback function called on_press that will be called whenever a key is pressed. The function checks if the pressed key is a special key or a regular alphanumeric key and prints the corresponding information.

Run this code and press keys on your keyboard. You will see the pressed key information printed to the console. Press Ctrl+C to stop logging the keyboard events.

Conclusion

Logging mouse and keyboard events using PyAutoGUI can be extremely helpful when developing automation scripts, testing user interactions, or collecting data for analysis. By using the displayMousePosition() function and the pynput library, we can easily log mouse and keyboard events in our Python applications.

Remember to install PyAutoGUI and the pynput library before running the examples in this blog post. Happy logging!