Pythonでキーボードの押下を追跡する方法(pynputを使用)


Pythonでキーボードの押下を追跡するために、pynputライブラリを使用する方法を説明します。pynputは、マウスやキーボードなどの入力デバイスを制御するためのPythonライブラリです。

まず、pynputライブラリをインストールします。以下のコマンドを使用して、pipを介してpynputをインストールします。

pip install pynput

次に、以下のコード例を使用して、キーボードの押下を追跡する方法を示します。

from pynput import keyboard
def on_press(key):
    try:
        print('Key {0} pressed.'.format(key.char))
    except AttributeError:
        print('Special key {0} pressed.'.format(key))
def on_release(key):
    print('Key {0} released.'.format(key))
    if key == keyboard.Key.esc:
        # キーボードのESCキーが押された場合は終了します
        return False
# キーボードのイベントを監視します
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
    listener.join()

このコードでは、on_press関数とon_release関数を定義し、keyboard.Listenerを使用してキーボードのイベントを監視しています。on_press関数はキーが押されたときに呼び出され、on_release関数はキーが離されたときに呼び出されます。

on_press関数では、押されたキーが特殊キーかどうかをチェックし、特殊キーの場合はkeyオブジェクトをそのまま表示します。それ以外の場合は、key.charを使用して押されたキーの文字表現を表示します。

on_release関数では、離されたキーを表示します。また、keyboard.Key.escが押された場合には、プログラムを終了するようにしています。

このコードを実行すると、キーボードのイベントが監視され、キーが押されたときと離されたときに対応するメッセージが表示されます。ESCキーを押すとプログラムが終了します。

以上が、Pythonでキーボードの押下を追跡する方法の一例です。pynputライブラリを使用することで、さまざまなキーボードイベントを処理することができます。