Pythonはkeyboardを使用してキーボードイベントを傍受する
12092 ワード
文書ディレクトリ 1. を押します. 2. インストール 3. キー文字 4. 一般的な方法 4.1. [wait()](https://github.com/boppreh/keyboard#keyboard.wait) 4.2. [add_hotkey()](https://github.com/boppreh/keyboard#keyboard.add_hotkey) 4.3. [record()](https://github.com/boppreh/keyboard#keyboard.record) 4.4. [hook()](https://github.com/boppreh/keyboard#keyboard.hook) 4.5. [on_press()](https://github.com/boppreh/keyboard#keyboard.on_press) 4.6. [KeyboardEvent()](https://github.com/boppreh/keyboard#keyboard.KeyboardEvent) 4.7. [すべてAPI](https://github.com/boppreh/keyboard#api)
1.
マウスイベントのリスニングは、pynputを使用してPythonがマウスイベントをリスニングすることを参照してください.
2.インストール
ホームページ
3.キー文字
4.一般的な方法
4.1. wait()
リスニングキーは、キーが設定されていない場合、この文の前のキーをリスニングします.キーが設定されている場合、キーを押すとリスニングが停止し、次のような文が実行されます.
4.2. add_hotkey()
ホットキーを設定し、一般的にwait()と組み合わせて使用します.waitリスニングでは、ホットキーを押すと対応する関数が実行されます.例:
4.3. record()
キーボードイベントを記録し、untilパラメータを追加すると、キーを押したときにリスニングを終了するように設定できます.waitメソッドに似ています.例:
4.4. hook()
すべてのキーイベントをバインドし、キーを押したり放したりするとトリガーされるコールバック関数の例を示します.
4.5. on_press()
任意のキーを押すとコールバック関数がトリガーされます
4.6. KeyboardEvent()
3つの共通パラメータ:event_type、scan_code、nameは、それぞれキータイプ(down/up)、キー番号(各キーに対応する)、キー名を表します.例:
4.7. すべてのAPI
1.
マウスイベントのリスニングは、pynputを使用してPythonがマウスイベントをリスニングすることを参照してください.
2.インストール
ホームページ
pip install keyboard
3.キー文字
#
'1'
'a'
...
#
'ctrl'
'alt'
'shift'
'enter'
'esc'
'f1'
...
#
'up'
'down'
'left'
'right'
#
'ctrl'+'alt'+'a'
...
4.一般的な方法
4.1. wait()
リスニングキーは、キーが設定されていない場合、この文の前のキーをリスニングします.キーが設定されている場合、キーを押すとリスニングが停止し、次のような文が実行されます.
import keyboard
print(0)
keyboard.wait('a')
# a ,
print(1)
keyboard.wait('b')
print(2)
keyboard.wait('c')
print(3)
keyboard.wait()
# :
# 0
# 1
# 2
# 3
#
# abc( ) 0123, ,
4.2. add_hotkey()
ホットキーを設定し、一般的にwait()と組み合わせて使用します.waitリスニングでは、ホットキーを押すと対応する関数が実行されます.例:
import keyboard #
def test_a():
print('aaa')
def test(x):
print(x)
if __name__ == '__main__':
keyboard.add_hotkey('f1', test_a)
# f1 aaa
keyboard.add_hotkey('ctrl+alt', test, args=('b',))
# ctrl+alt b
keyboard.wait()
#wait ,
4.3. record()
キーボードイベントを記録し、untilパラメータを追加すると、キーを押したときにリスニングを終了するように設定できます.waitメソッドに似ています.例:
import keyboard
keyboard.add_hotkey('ctrl', print, args=('aaa',))
keyboard.add_hotkey('alt', print, args=('bbb',))
recorded = keyboard.record(until='esc')
# esc ,
print(recorded)
# :
# aaa
# aaa
# bbb
# [KeyboardEvent(ctrl down), KeyboardEvent(ctrl up), KeyboardEvent(ctrl down),
# KeyboardEvent(ctrl up), KeyboardEvent(alt down), KeyboardEvent(alt up),
# KeyboardEvent(esc down)]
4.4. hook()
すべてのキーイベントをバインドし、キーを押したり放したりするとトリガーされるコールバック関数の例を示します.
import keyboard
def callback(x):
print(x)
print()
keyboard.hook(callback)
# , callback, ,
keyboard.wait()
4.5. on_press()
任意のキーを押すとコールバック関数がトリガーされます
import keyboard
def callback(x):
print(x)
print()
keyboard.on_press(callback)
# ( ), callback, ,
keyboard.wait()
4.6. KeyboardEvent()
3つの共通パラメータ:event_type、scan_code、nameは、それぞれキータイプ(down/up)、キー番号(各キーに対応する)、キー名を表します.例:
import keyboard
def abc(x):
a = keyboard.KeyboardEvent('down', 28, 'enter')
# a enter , ,
# hook , x.scan_code
if x.event_type == 'down' and x.name == a.name:
print(" enter ")
# enter ,
keyboard.hook(abc)
# keyboard.hook_key('enter', bcd)
# recorded = keyboard.record(until='esc')
keyboard.wait()
# :
# enter
# enter
4.7. すべてのAPI