コード例 #1
0
void CCommandParser::HandleButtonReport(TUint16 aButton)
    {
    TUint16 all(0);
    TRemoteInfo info;    
    info = iObserver.RemoteInfo();
    
    all = aButton & TControllerDataTypes::EWiiMoteButtonAll;
    info.iButtonsHeld = (all & info.iButtons);
    info.iButtonsReleased = ((info.iButtons | info.iButtonsHeld) & ~all);
    info.iButtons = all;            

    iObserver.UpdateRemoteInfo(info);
    
    // button held will be button with repeat flag
    if(IsButtonHeld(info,TControllerDataTypes::EWiiMoteButtonOne))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonOne),TControllerDataTypes::EButtonClickRepeat);

    if(IsButtonHeld(info,TControllerDataTypes::EWiiMoteButtonTwo))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonTwo),TControllerDataTypes::EButtonClickRepeat);

    if(IsButtonHeld(info,TControllerDataTypes::EWiiMoteButtonDown))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonDown),TControllerDataTypes::EButtonClickRepeat);

    if(IsButtonHeld(info,TControllerDataTypes::EWiiMoteButtonUp))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonUp),TControllerDataTypes::EButtonClickRepeat);

    if(IsButtonHeld(info,TControllerDataTypes::EWiiMoteButtonLeft))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonLeft),TControllerDataTypes::EButtonClickRepeat);

    if(IsButtonHeld(info,TControllerDataTypes::EWiiMoteButtonRight))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonRight),TControllerDataTypes::EButtonClickRepeat);

    if(IsButtonHeld(info,TControllerDataTypes::EWiiMoteButtonB))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonB),TControllerDataTypes::EButtonClickRepeat);

    if(IsButtonHeld(info,TControllerDataTypes::EWiiMoteButtonA))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonA),TControllerDataTypes::EButtonClickRepeat);

    if(IsButtonHeld(info,TControllerDataTypes::EWiiMoteButtonPlus))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonPlus),TControllerDataTypes::EButtonClickRepeat);

    if(IsButtonHeld(info,TControllerDataTypes::EWiiMoteButtonMinus))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonMinus),TControllerDataTypes::EButtonClickRepeat);

    if(IsButtonHeld(info,TControllerDataTypes::EWiiMoteButtonHome))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonHome),TControllerDataTypes::EButtonClickRepeat);
    
    // just pressed
    if(IsButtonJustPressed(info,TControllerDataTypes::EWiiMoteButtonOne))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonOne),TControllerDataTypes::EButtonClickJustPressed);

    if(IsButtonJustPressed(info,TControllerDataTypes::EWiiMoteButtonTwo))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonTwo),TControllerDataTypes::EButtonClickJustPressed);

    if(IsButtonJustPressed(info,TControllerDataTypes::EWiiMoteButtonDown))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonDown),TControllerDataTypes::EButtonClickJustPressed);

    if(IsButtonJustPressed(info,TControllerDataTypes::EWiiMoteButtonUp))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonUp),TControllerDataTypes::EButtonClickJustPressed);

    if(IsButtonJustPressed(info,TControllerDataTypes::EWiiMoteButtonLeft))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonLeft),TControllerDataTypes::EButtonClickJustPressed);

    if(IsButtonJustPressed(info,TControllerDataTypes::EWiiMoteButtonRight))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonRight),TControllerDataTypes::EButtonClickJustPressed);

    if(IsButtonJustPressed(info,TControllerDataTypes::EWiiMoteButtonB))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonB),TControllerDataTypes::EButtonClickJustPressed);

    if(IsButtonJustPressed(info,TControllerDataTypes::EWiiMoteButtonA))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonA),TControllerDataTypes::EButtonClickJustPressed);

    if(IsButtonJustPressed(info,TControllerDataTypes::EWiiMoteButtonPlus))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonPlus),TControllerDataTypes::EButtonClickJustPressed);

    if(IsButtonJustPressed(info,TControllerDataTypes::EWiiMoteButtonMinus))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonMinus),TControllerDataTypes::EButtonClickJustPressed);

    if(IsButtonJustPressed(info,TControllerDataTypes::EWiiMoteButtonHome))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonHome),TControllerDataTypes::EButtonClickJustPressed);
    
    // check released buttons    
    if(IsButtonReleased(info,TControllerDataTypes::EWiiMoteButtonOne))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonOne),TControllerDataTypes::EButtonClickReleased);

    if(IsButtonReleased(info,TControllerDataTypes::EWiiMoteButtonTwo))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonTwo),TControllerDataTypes::EButtonClickReleased);

    if(IsButtonReleased(info,TControllerDataTypes::EWiiMoteButtonDown))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonDown),TControllerDataTypes::EButtonClickReleased);

    if(IsButtonReleased(info,TControllerDataTypes::EWiiMoteButtonUp))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonUp),TControllerDataTypes::EButtonClickReleased);

    if(IsButtonReleased(info,TControllerDataTypes::EWiiMoteButtonLeft))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonLeft),TControllerDataTypes::EButtonClickReleased);

    if(IsButtonReleased(info,TControllerDataTypes::EWiiMoteButtonRight))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonRight),TControllerDataTypes::EButtonClickReleased);

    if(IsButtonReleased(info,TControllerDataTypes::EWiiMoteButtonB))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonB),TControllerDataTypes::EButtonClickReleased);

    if(IsButtonReleased(info,TControllerDataTypes::EWiiMoteButtonA))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonA),TControllerDataTypes::EButtonClickReleased);

    if(IsButtonReleased(info,TControllerDataTypes::EWiiMoteButtonPlus))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonPlus),TControllerDataTypes::EButtonClickReleased);

    if(IsButtonReleased(info,TControllerDataTypes::EWiiMoteButtonMinus))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonMinus),TControllerDataTypes::EButtonClickReleased);

    if(IsButtonReleased(info,TControllerDataTypes::EWiiMoteButtonHome))
    	iObserver.SendButtonClick( FindButton(TControllerDataTypes::EWiiMoteButtonHome),TControllerDataTypes::EButtonClickReleased);
    }
コード例 #2
0
	void CInputManager::_Test()
	{
		short stickLeft = GetLeftStickX(0);
		USHORT left = 0;
		USHORT right = 0;
		if (stickLeft < 0)
			left = -stickLeft * 2;
		else
			right = stickLeft * 2;
		SetMotorSpeed(0, left, right);

		if (IsButtonDown(0, Buttons::A))
			DebugManager->Debug(L"A", L"A");
		if (IsButtonDown(0, Buttons::B))
			DebugManager->Debug(L"B", L"B");
		if (IsButtonDown(0, Buttons::Back))
			DebugManager->Debug(L"Back", L"Back");
		if (IsButtonDown(0, Buttons::Down))
			DebugManager->Debug(L"Down", L"Down");
		if (IsButtonDown(0, Buttons::LB))
			DebugManager->Debug(L"LB", L"LB");
		if (IsButtonDown(0, Buttons::Left))
			DebugManager->Debug(L"Left", L"Left");
		if (IsButtonDown(0, Buttons::LeftStick))
			DebugManager->Debug(L"LeftStick", L"LeftStick");
		if (IsButtonDown(0, Buttons::RB))
			DebugManager->Debug(L"RB", L"RB");
		if (IsButtonDown(0, Buttons::Right))
			DebugManager->Debug(L"Right", L"Right");
		if (IsButtonDown(0, Buttons::RightStick))
			DebugManager->Debug(L"RightStick", L"RightStick");
		if (IsButtonDown(0, Buttons::Start))
			DebugManager->Debug(L"Start", L"Start");
		if (IsButtonDown(0, Buttons::Up))
			DebugManager->Debug(L"Up", L"Up");
		if (IsButtonDown(0, Buttons::X))
			DebugManager->Debug(L"X", L"X");
		if (IsButtonDown(0, Buttons::Y))
			DebugManager->Debug(L"Y", L"Y");

		DebugManager->Debug(GetLeftTrigger(0), L"left trigger");
		DebugManager->Debug(GetRightTrigger(0), L"right trigger");
		DebugManager->Debug(GetLeftStickX(0), L"left stick x");
		DebugManager->Debug(GetLeftStickY(0), L"left stick y");
		DebugManager->Debug(GetRightStickX(0), L"right stick x");
		DebugManager->Debug(GetRightStickY(0), L"right stick y");
		DebugManager->Debug(GetLeftTriggerDelta(0), L"left trigger Delta");
		DebugManager->Debug(GetRightTriggerDelta(0), L"right trigger Delta");
		DebugManager->Debug(GetLeftStickXDelta(0), L"left stick x Delta");
		DebugManager->Debug(GetLeftStickYDelta(0), L"left stick y Delta");
		DebugManager->Debug(GetRightStickXDelta(0), L"right stick x Delta");
		DebugManager->Debug(GetRightStickYDelta(0), L"right stick y Delta");

		if (IsButtonPressed(0, Buttons::A))
			printf("A pressed\n");
		if (IsButtonPressed(0, Buttons::B))
			printf("B pressed\n");
		if (IsButtonPressed(0, Buttons::Back))
			printf("Back pressed\n");
		if (IsButtonPressed(0, Buttons::Down))
			printf("Down pressed\n");
		if (IsButtonPressed(0, Buttons::LB))
			printf("LB pressed\n");
		if (IsButtonPressed(0, Buttons::Left))
			printf("Left pressed\n");
		if (IsButtonPressed(0, Buttons::LeftStick))
			printf("LeftStick pressed\n");
		if (IsButtonPressed(0, Buttons::RB))
			printf("RB pressed\n");
		if (IsButtonPressed(0, Buttons::Right))
			printf("Right pressed\n");
		if (IsButtonPressed(0, Buttons::RightStick))
			printf("RightStick pressed\n");
		if (IsButtonPressed(0, Buttons::Start))
			printf("Start pressed\n");
		if (IsButtonPressed(0, Buttons::Up))
			printf("Up pressed\n");
		if (IsButtonPressed(0, Buttons::X))
			printf("X pressed\n");
		if (IsButtonPressed(0, Buttons::Y))
			printf("Y pressed\n");

		if (IsButtonReleased(0, Buttons::A))
			printf("A released\n");
		if (IsButtonReleased(0, Buttons::B))
			printf("B released\n");
		if (IsButtonReleased(0, Buttons::Back))
			printf("Back released\n");
		if (IsButtonReleased(0, Buttons::Down))
			printf("Down released\n");
		if (IsButtonReleased(0, Buttons::LB))
			printf("LB released\n");
		if (IsButtonReleased(0, Buttons::Left))
			printf("Left released\n");
		if (IsButtonReleased(0, Buttons::LeftStick))
			printf("LeftStick released\n");
		if (IsButtonReleased(0, Buttons::RB))
			printf("RB released\n");
		if (IsButtonReleased(0, Buttons::Right))
			printf("Right released\n");
		if (IsButtonReleased(0, Buttons::RightStick))
			printf("RightStick released\n");
		if (IsButtonReleased(0, Buttons::Start))
			printf("Start released\n");
		if (IsButtonReleased(0, Buttons::Up))
			printf("Up released\n");
		if (IsButtonReleased(0, Buttons::X))
			printf("X released\n");
		if (IsButtonReleased(0, Buttons::Y))
			printf("Y released\n");

		if (GamepadConnected())
			printf("gamepad connected\n");
		if (GamepadDisconnected())
			printf("gamepad disconnected\n");

		UINT connectedGamepads = 0;
		for (UINT i = 0; i < XUSER_MAX_COUNT; i++)
			if (IsGamepadActive(i))
				connectedGamepads++;
		DebugManager->Debug((int)connectedGamepads, L"Connected gamepads");
	}