我正在Python的瓶子框架中运行一个网站,我正在使用pynput包中的键盘侦听器。当按下delete键时,侦听器停止。当HTML文件中的某个按钮被点击时,我希望监听器停止。我想用JavaScript编写一个函数,当点击按钮时将执行该函数,该函数将触发按下delete键(从而使侦听器停止)
我在互联网上发现了许多JS函数,它们会触发删除按钮被按下,但在这些例子中,键盘侦听器都没有停止。Python中的侦听器从未识别出这些事件。有没有人知道如何编写这样的JS函数,该函数将触发按键,并且Python中的侦听器将识别按键已被按下
编辑:
以下是我的代码的一部分(pynput部分):
def on_press(key):
try:
k = key.char
except:
k = key.name
print('Key pressed: ' + k)
if k in ['left', 'right', 'up', 'down', 'delete']:
#print('Key pressed: ' + k)
return False
def dobi_smer():
listener = keyboard.Listener(on_press = on_press)
listener.start()
listener.join()
with keyboard.Events() as events:
for event in events:
if event.key == keyboard.Key.left:
return 'L'
elif event.key == keyboard.Key.right:
return 'R'
elif event.key == keyboard.Key.up:
return 'U'
elif event.key == keyboard.Key.down:
return 'D'
elif event.key == keyboard.Key.delete:
return 'X'
它会监听键盘,直到按下其中一个箭头或delete键
根据答案,我已经在我的网站上创建了一个新页面,模拟正在按下的删除键。下面是瓶子里的代码:
@bottle.post("/igraj/prekini/")
def igraj_prekini():
print("bla")
keyboard.press(keyboard.Key.delete)
keyboard.release(keyboard.Key.delete)
我尝试使用AJAX发送此post请求,并使用以下功能:
function prekini() {$.post("/igraj/prekini/")}
及
function prekini() {$.ajax('/igraj/prekini/', {type: 'POST'})}
但这两个函数都不能工作,因为从未访问过page/igraj/prekini/。(字符串“bla”从未打印)
您可以在html中创建一个stop
button
,并在该按钮中创建一个write javascript函数来侦听click
。现在,当clicked
表示button
时,函数就可以工作了。因此,在该函数中,您可以编写AJAX代码来调用一些url,如/stop_pynput
和bottle
中的/stop_pynput
路由,如您的主页/
。然后编写代码,在那里停止pynput
,或者在那里调用一些函数并返回一些东西。所以,现在你必须掌握用我的想法解决这个问题的技巧,如果你已经知道这一点,那么这是最好的,但是如果你不熟悉ajax,那么试着在评论中询问它以列表形式执行的步骤:
如果有任何疑问,请随时发表评论
相关问题 更多 >
编程相关推荐