2013-12-10 4 views
2

Мне удалось найти скрипт, который запускает контроллер xbox 360, чтобы гудеть (вибрировать), но я не могу заставить его выключить. Есть ли способ установить это, так что через 5 секунд грохот остановится?Xbox 360 вибрирует грохот?

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,) 

Благодаря

+2

Вы пробовали 'set_vibration (0, 0, 0)'? – Tyler

ответ

1

Похоже, у вас есть все, что вам нужно прямо перед вами с помощью этого сценария. Функция set_vibration Помощник принимает 3 входных аргумента:

  • идентификатор контроллера (0 в вашем обстоятельстве)
  • левой вибрации двигателя по шкале от 0 (выключено) до 1,0 (полный на) - вы получили это набор 50 % при использовании 0,5
  • правый вибрации двигателя (также 0 - 1.0)

так, чтобы установить его вибрировать при 50% -ной мощности только на 5 секунд, попробовать что-то вроде:

import time 
set_vibration(0, 0.5, 0.5) 
time.sleep(5) 
set_vibration(0, 0, 0) 

предоставлено это всего лишь путем проверки вашего скрипта и не проверено

+0

Привет, спасибо, что работал теперь, глядя на него. Я думал, что это будет что-то более сложное. Теперь я хочу назначить гул (этот скрипт) на триггер события, поэтому, когда левый джойстик нажат на контроллере xbox 360, пэд играет этот сценарий и грохочет. – RKEONECS

Смежные вопросы