[python] 파이썬에서 키보드 이벤트 리스너 사용하기

파이썬에서 키보드 이벤트를 감지하고 처리해야 할 때가 있습니다. 이를 위해 파이썬에서는 keyboard 라이브러리를 사용할 수 있습니다. keyboard 라이브러리는 파이썬에서 키보드 이벤트를 캡처하고 처리하는 기능을 제공합니다.

keyboard 라이브러리 설치하기

먼저, keyboard 라이브러리를 설치해야 합니다. 다음 명령을 사용하여 keyboard 라이브러리를 설치할 수 있습니다.

pip install keyboard

키보드 이벤트 리스너 생성하기

keyboard 라이브러리를 이용하여 키보드 이벤트를 감지하고 처리하려면, keyboard.on_press() 또는 keyboard.on_release() 함수를 사용해야 합니다. 이 함수들은 각각 키가 눌렸을 때와 키가 떼어졌을 때 호출됩니다.

아래는 키보드 이벤트 리스너를 생성하는 예제 코드입니다.

import keyboard

def on_key_press(event):
    print('Key pressed:', event.name)

def on_key_release(event):
    print('Key released:', event.name)

keyboard.on_press(on_key_press)
keyboard.on_release(on_key_release)

# 키보드 이벤트 감지 시작
keyboard.wait()

이 예제 코드에서는 on_key_press() 함수가 키가 눌렸을 때 호출되어 해당 키의 이름을 출력하고, on_key_release() 함수가 키가 떼어졌을 때 호출되어 해당 키의 이름을 출력합니다. 마지막으로 keyboard.wait() 함수를 사용하여 키보드 이벤트를 계속 감지할 수 있도록 합니다.

특정 키 이외의 이벤트 무시하기

만약 특정 키 이외의 이벤트를 무시하고 싶다면, keyboard 라이브러리의 add_hotkey() 함수를 사용할 수 있습니다. 이 함수를 사용하면 특정 키를 눌렀을 때만 이벤트가 발생하도록 설정할 수 있습니다.

아래는 add_hotkey() 함수를 사용하여 ‘Ctrl + Shift + A’ 키를 눌렀을 때만 이벤트가 발생하도록 설정하는 예제 코드입니다.

import keyboard

def on_hotkey():
    print('Hotkey pressed: Ctrl + Shift + A')

keyboard.add_hotkey('Ctrl + Shift + A', on_hotkey)

# 키보드 이벤트 감지 시작
keyboard.wait()

위 코드에서는 add_hotkey() 함수를 사용하여 ‘Ctrl + Shift + A’ 키를 눌렀을 때만 on_hotkey() 함수가 호출되도록 설정했습니다.

참고 자료