我如何编写按键回调?
how do i write a keypress callback?
我正在尝试在 python 3.4.2 中为 Raspberry Pi 编写一段代码,它使用回调来触发某些事件。
目前,我正在使用一个漂亮的 GPIO 命令 (GPIO.add_event_detect) 以及一个 try/except 规则,使脚本暂停并等待某些事情发生。
我想在按下键盘按钮的同时做一些类似的事情(现在不关心是哪一个),有没有一种类似于 GPIO.add_event_detect 的方法?
代码示例:
import RPi.GPIO as GPIO
receiverPin = 14
quitButton = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(receiverPin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(quitButton, GPIO.IN, pull_up_down=GPIO.PUD_UP)
#FUNCTION ACTIVATED BY DESIRED CODE#
def activate(channel):
#do stuff#
def direct_hit(channel):
#do stuff#
GPIO.add_event_detect(receiverPin, GPIO.BOTH, callback=direct_hit)
#DESIRED CODE BLOCK
keypress.add_event_detect(KEYPRESS_ENTER, callback=activate)
try:
GPIO.wait_for_edge(quitButton, GPIO.FALLING)
print("Exiting")
GPIO.cleanup()
quit()
except KeyboardInterrupt:
GPIO.cleanup()
GPIO.cleanup()
有办法吗?记住我是自学的(很差)。
在此先感谢您的帮助。
我为你做了一些研究并找到了这个库:https://github.com/boppreh/keyboard#keyboard.on_press 有事件方法 on_press
只需添加:
import keyboard
keyboard.on_press = yourCallback
希望对您有所帮助。
我正在尝试在 python 3.4.2 中为 Raspberry Pi 编写一段代码,它使用回调来触发某些事件。
目前,我正在使用一个漂亮的 GPIO 命令 (GPIO.add_event_detect) 以及一个 try/except 规则,使脚本暂停并等待某些事情发生。
我想在按下键盘按钮的同时做一些类似的事情(现在不关心是哪一个),有没有一种类似于 GPIO.add_event_detect 的方法?
代码示例:
import RPi.GPIO as GPIO
receiverPin = 14
quitButton = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(receiverPin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(quitButton, GPIO.IN, pull_up_down=GPIO.PUD_UP)
#FUNCTION ACTIVATED BY DESIRED CODE#
def activate(channel):
#do stuff#
def direct_hit(channel):
#do stuff#
GPIO.add_event_detect(receiverPin, GPIO.BOTH, callback=direct_hit)
#DESIRED CODE BLOCK
keypress.add_event_detect(KEYPRESS_ENTER, callback=activate)
try:
GPIO.wait_for_edge(quitButton, GPIO.FALLING)
print("Exiting")
GPIO.cleanup()
quit()
except KeyboardInterrupt:
GPIO.cleanup()
GPIO.cleanup()
有办法吗?记住我是自学的(很差)。
在此先感谢您的帮助。
我为你做了一些研究并找到了这个库:https://github.com/boppreh/keyboard#keyboard.on_press 有事件方法 on_press
只需添加:
import keyboard
keyboard.on_press = yourCallback
希望对您有所帮助。