我已经设法找到一个脚本,启动xbox 360控制器隆隆(振动),但我不能让它关闭。有没有办法在5秒后设置它以使隆隆声停止?
import ctypes
# Define necessary structures
class XINPUT_VIBRATION(ctypes.Structure):
_fields_ = [("wLeftMotorSpeed", ctypes.c_ushort),
("wRightMotorSpeed", ctypes.c_ushort)]
xinput = ctypes.windll.xinput1_1 # Load Xinput.dll
# Set up function argument types and return type
XInputSetState = xinput.XInputSetState
XInputSetState.argtypes = [ctypes.c_uint, ctypes.POINTER(XINPUT_VIBRATION)]
XInputSetState.restype = ctypes.c_uint
# Now we're ready to call it. Set left motor to 100%, right motor to 50%
# for controller 0
vibration = XINPUT_VIBRATION(65535, 32768)
XInputSetState(0, ctypes.byref(vibration))
# You can also create a helper function like this:
def set_vibration(controller, left_motor, right_motor):
vibration = XINPUT_VIBRATION(int(left_motor * 65535), int(right_motor * 65535))
XInputSetState(controller, ctypes.byref(vibration))
# ... and use it like so
set_vibration(0, 0.5, 0.5,)
由于
答案 0 :(得分:2)
看起来你已经拥有了这个脚本所需的一切。 set_vibration辅助函数有3个输入参数:
所以要将它设置为以50%的功率振动仅5秒,尝试类似:
import time
set_vibration(0, 0.5, 0.5)
time.sleep(5)
set_vibration(0, 0, 0)
授予此权限只需检查您的脚本,而不是经过测试