Pythonでは、キーイベントを検知することができます。
本記事では、ライブラリを用いたキーイベントの検知方法を紹介します。

Pythonのキーイベント検知方法を紹介します
この記事でわかること
- キーイベントとは
- pynputライブラリによるキーイベント検知
目次
キーイベントとは
キーイベントとは、キーボードの押下をプログラムで検知する仕組みです。
主に以下のイベントを検知することができます。
イベント | 検知内容 |
---|---|
KeyDown | キーが押下された |
KeyUp | キーが話された |
KeyPress | キーが押下されて文字入力された |
pynputライブラリによるキーイベント検知
pynputライブラリでキーイベント検知することができます。
ライブラリのインストール
pynputライブラリをインストールします。
コマンドライン
pip install pynput
キーイベント検知
pynputライブラリでキーイベント検知します。
ソースコード
from pynput import keyboard
# 押下されているキーを記録
pressed_keys = set()
# キーの組み合わせを定義
COMBO = {keyboard.Key.ctrl, keyboard.Key.shift}
def on_press(key):
pressed_keys.add(key)
print(f"{key}が押されました")
if COMBO.issubset(pressed_keys):
print("Ctrl + Shiftを検知しました")
def on_release(key):
pressed_keys.discard(key)
print(f"{key}が離されました")
if key == keyboard.Key.esc:
# ESCで終了
print("ESCを検知しました")
print("プログラムを終了します")
return False
# リスナーを実行
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()
コマンド実行例
$ python3 -B python-key-event-pyput.py
'a'が押されました
a'a'が離されました
'b'が押されました
b'b'が離されました
'c'が押されました
c'c'が離されました
Key.ctrlが押されました
Key.shiftが押されました
Ctrl + Shiftを検知しました
Key.shiftが離されました
Key.ctrlが離されました
Key.escが押されました
^[Key.escが離されました
ESCを検知しました
プログラムを終了します
まとめ
Pythonでキーイベントを検知する方法を紹介しました。
キーイベントの検知は
- pyputライブラリで検知できる
キーイベントの検知は、標準入力以外でキー入力を検知する方法の一つです。
特定のキー入力で、プログラムを終了させたい場合や、特定の動作をさせたい場合に有効です。