尝试进行游标锁定,但由于未知原因无法正常工作
Trying to make a cursor lock, not working for unknown reasons
请帮助我,没有错误,只是在我按 H 后按 N 时不会调用 setDisabled。
如果有人知道如何改进或修复,请提供帮助。
代码:
import pyautogui
import keyboard
pyautogui.FAILSAFE = False
enabled = False
def setDisabled(a):
global enabled
print 'setDisabled: ' + str(enabled)
enabled = False
print 'setDisabled: ' + str(enabled)
resetMouse()
keyboard.on_release_key('n', setDisabled)
def resetMouse():
global enabled
print 'resetMouse: ' + str(enabled)
if enabled is True:
pyautogui.moveTo(1, 1, 0)
resetMouse()
else:
print "no"
def setEnabled(a):
global enabled
print 'setEnabled: ' + str(enabled)
enabled = True
print 'setEnabled: ' + str(enabled)
resetMouse()
keyboard.on_release_key('h', setEnabled)
resetMouse()
当你按 h
然后 keyboard
运行s resetMouse
再次 运行s resetMouse
然后它 运行 s 又是 resetMouse
所以这个函数永远不会结束 - 你有递归 - 它永远不会回到 keyboard
并且它无法检查其他键。
您必须以不同的方式 运行 resetMouse
- 即。你可以 运行 它在循环中保持程序 运行ning。 resetMouse
不应该再 运行 resetMouse
但这个循环应该 运行.
import pyautogui
import keyboard
import time
# --- functions ---
def setDisabled(a):
global enabled
print('setDisabled: ' + str(enabled))
enabled = False
print('setDisabled: ' + str(enabled))
#resetMouse()
def setEnabled(a):
global enabled
print('setEnabled: ' + str(enabled))
enabled = True
print('setEnabled: ' + str(enabled))
#resetMouse()
def resetMouse():
global enabled
#print('resetMouse: ' + str(enabled))
if enabled: # is True:
pyautogui.moveTo(1, 1, 0)
#else:
# print("no")
# --- main ---
pyautogui.FAILSAFE = False
enabled = False
keyboard.on_release_key('n', setDisabled)
keyboard.on_release_key('h', setEnabled)
while True:
#time.sleep(1) # to use less CPU
resetMouse()
请帮助我,没有错误,只是在我按 H 后按 N 时不会调用 setDisabled。 如果有人知道如何改进或修复,请提供帮助。 代码:
import pyautogui
import keyboard
pyautogui.FAILSAFE = False
enabled = False
def setDisabled(a):
global enabled
print 'setDisabled: ' + str(enabled)
enabled = False
print 'setDisabled: ' + str(enabled)
resetMouse()
keyboard.on_release_key('n', setDisabled)
def resetMouse():
global enabled
print 'resetMouse: ' + str(enabled)
if enabled is True:
pyautogui.moveTo(1, 1, 0)
resetMouse()
else:
print "no"
def setEnabled(a):
global enabled
print 'setEnabled: ' + str(enabled)
enabled = True
print 'setEnabled: ' + str(enabled)
resetMouse()
keyboard.on_release_key('h', setEnabled)
resetMouse()
当你按 h
然后 keyboard
运行s resetMouse
再次 运行s resetMouse
然后它 运行 s 又是 resetMouse
所以这个函数永远不会结束 - 你有递归 - 它永远不会回到 keyboard
并且它无法检查其他键。
您必须以不同的方式 运行 resetMouse
- 即。你可以 运行 它在循环中保持程序 运行ning。 resetMouse
不应该再 运行 resetMouse
但这个循环应该 运行.
import pyautogui
import keyboard
import time
# --- functions ---
def setDisabled(a):
global enabled
print('setDisabled: ' + str(enabled))
enabled = False
print('setDisabled: ' + str(enabled))
#resetMouse()
def setEnabled(a):
global enabled
print('setEnabled: ' + str(enabled))
enabled = True
print('setEnabled: ' + str(enabled))
#resetMouse()
def resetMouse():
global enabled
#print('resetMouse: ' + str(enabled))
if enabled: # is True:
pyautogui.moveTo(1, 1, 0)
#else:
# print("no")
# --- main ---
pyautogui.FAILSAFE = False
enabled = False
keyboard.on_release_key('n', setDisabled)
keyboard.on_release_key('h', setEnabled)
while True:
#time.sleep(1) # to use less CPU
resetMouse()