Some refactorings in the Input namespace and added PercentageComplete and TestState attributes to most classes
This commit is contained in:
parent
0ad3ca056b
commit
379a1bc50e
@ -1,8 +1,3 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
|
||||
#endregion // Using Statements
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
// For details see: http://anxframework.codeplex.com/license
|
||||
|
@ -1,15 +1,12 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
|
||||
#endregion // Using Statements
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
// For details see: http://anxframework.codeplex.com/license
|
||||
|
||||
namespace ANX.Framework.Input
|
||||
{
|
||||
[FlagsAttribute]
|
||||
[Flags]
|
||||
public enum Buttons
|
||||
{
|
||||
DPadUp = 1,
|
||||
|
@ -1,4 +1,5 @@
|
||||
using ANX.Framework.NonXNA;
|
||||
using ANX.Framework.NonXNA.Development;
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
@ -6,6 +7,8 @@ using ANX.Framework.NonXNA;
|
||||
|
||||
namespace ANX.Framework.Input
|
||||
{
|
||||
[PercentageComplete(100)]
|
||||
[TestState(TestStateAttribute.TestState.Tested)]
|
||||
public static class GamePad
|
||||
{
|
||||
private static IGamePad gamePad;
|
||||
@ -22,22 +25,12 @@ namespace ANX.Framework.Input
|
||||
|
||||
public static GamePadState GetState(PlayerIndex playerIndex)
|
||||
{
|
||||
bool isConnected;
|
||||
int packetNumber;
|
||||
GamePadState ret = gamePad.GetState(playerIndex, out isConnected, out packetNumber);
|
||||
ret.IsConnected = isConnected;
|
||||
ret.PacketNumber = packetNumber;
|
||||
return ret;
|
||||
return gamePad.GetState(playerIndex);
|
||||
}
|
||||
|
||||
public static GamePadState GetState(PlayerIndex playerIndex, GamePadDeadZone deadZoneMode)
|
||||
{
|
||||
bool isConnected;
|
||||
int packetNumber;
|
||||
GamePadState ret = gamePad.GetState(playerIndex, deadZoneMode, out isConnected, out packetNumber);
|
||||
ret.IsConnected = isConnected;
|
||||
ret.PacketNumber = packetNumber;
|
||||
return ret;
|
||||
return gamePad.GetState(playerIndex, deadZoneMode);
|
||||
}
|
||||
|
||||
public static bool SetVibration(PlayerIndex playerIndex, float leftMotor, float rightMotor)
|
||||
|
@ -1,9 +1,5 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
using System.IO;
|
||||
using ANX.Framework.NonXNA;
|
||||
|
||||
#endregion // Using Statements
|
||||
using ANX.Framework.NonXNA.Development;
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
@ -11,60 +7,59 @@ using ANX.Framework.NonXNA;
|
||||
|
||||
namespace ANX.Framework.Input
|
||||
{
|
||||
[PercentageComplete(100)]
|
||||
[TestState(TestStateAttribute.TestState.Untested)]
|
||||
public struct GamePadButtons
|
||||
{
|
||||
#region Private Members
|
||||
internal Buttons buttonValue;
|
||||
|
||||
internal ButtonState button_a;
|
||||
internal ButtonState button_b;
|
||||
internal ButtonState button_x;
|
||||
internal ButtonState button_y;
|
||||
internal ButtonState stick_left;
|
||||
internal ButtonState stick_right;
|
||||
internal ButtonState shoulder_left;
|
||||
internal ButtonState shoulder_right;
|
||||
internal ButtonState button_back;
|
||||
internal ButtonState button_start;
|
||||
internal ButtonState button_big;
|
||||
|
||||
#endregion // Private Members
|
||||
#region Public
|
||||
public ButtonState A { get; private set; }
|
||||
public ButtonState B { get; private set; }
|
||||
public ButtonState Back { get; private set; }
|
||||
public ButtonState BigButton { get; private set; }
|
||||
public ButtonState LeftShoulder { get; private set; }
|
||||
public ButtonState LeftStick { get; private set; }
|
||||
public ButtonState RightShoulder { get; private set; }
|
||||
public ButtonState RightStick { get; private set; }
|
||||
public ButtonState Start { get; private set; }
|
||||
public ButtonState X { get; private set; }
|
||||
public ButtonState Y { get; private set; }
|
||||
internal Buttons Buttons { get; private set; }
|
||||
#endregion
|
||||
|
||||
public GamePadButtons(Buttons buttons)
|
||||
: this()
|
||||
{
|
||||
this.button_a = GetButtonState(buttons, Buttons.A);
|
||||
this.button_b = GetButtonState(buttons, Buttons.B);
|
||||
this.button_x = GetButtonState(buttons, Buttons.X);
|
||||
this.button_y = GetButtonState(buttons, Buttons.Y);
|
||||
this.stick_left = GetButtonState(buttons, Buttons.LeftStick);
|
||||
this.stick_right = GetButtonState(buttons, Buttons.RightStick);
|
||||
this.shoulder_left = GetButtonState(buttons, Buttons.LeftShoulder);
|
||||
this.shoulder_right = GetButtonState(buttons, Buttons.RightShoulder);
|
||||
this.button_back = GetButtonState(buttons, Buttons.Back);
|
||||
this.button_start = GetButtonState(buttons, Buttons.Start);
|
||||
this.button_big = GetButtonState(buttons, Buttons.BigButton);
|
||||
A = GetButtonState(buttons, Buttons.A);
|
||||
B = GetButtonState(buttons, Buttons.B);
|
||||
X = GetButtonState(buttons, Buttons.X);
|
||||
Y = GetButtonState(buttons, Buttons.Y);
|
||||
LeftStick = GetButtonState(buttons, Buttons.LeftStick);
|
||||
RightStick = GetButtonState(buttons, Buttons.RightStick);
|
||||
LeftShoulder = GetButtonState(buttons, Buttons.LeftShoulder);
|
||||
RightShoulder = GetButtonState(buttons, Buttons.RightShoulder);
|
||||
Back = GetButtonState(buttons, Buttons.Back);
|
||||
Start = GetButtonState(buttons, Buttons.Start);
|
||||
BigButton = GetButtonState(buttons, Buttons.BigButton);
|
||||
|
||||
this.buttonValue = buttons;
|
||||
Buttons = buttons;
|
||||
}
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj != null && obj.GetType() == typeof(GamePadButtons))
|
||||
{
|
||||
return this == (GamePadButtons)obj;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static bool operator ==(GamePadButtons lhs, GamePadButtons rhs)
|
||||
{
|
||||
return lhs.buttonValue == rhs.buttonValue;
|
||||
return lhs.Buttons == rhs.Buttons;
|
||||
}
|
||||
|
||||
public static bool operator !=(GamePadButtons lhs, GamePadButtons rhs)
|
||||
{
|
||||
return lhs.buttonValue != rhs.buttonValue;
|
||||
return lhs.Buttons != rhs.Buttons;
|
||||
}
|
||||
|
||||
private static ButtonState GetButtonState(Buttons buttons, Buttons button)
|
||||
@ -72,129 +67,29 @@ namespace ANX.Framework.Input
|
||||
return (buttons & button) == button ? ButtonState.Pressed : ButtonState.Released;
|
||||
}
|
||||
|
||||
public ButtonState A
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.button_a;
|
||||
}
|
||||
}
|
||||
|
||||
public ButtonState B
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.button_b;
|
||||
}
|
||||
}
|
||||
|
||||
public ButtonState Back
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.button_back;
|
||||
}
|
||||
}
|
||||
|
||||
public ButtonState BigButton
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.button_big;
|
||||
}
|
||||
}
|
||||
|
||||
public ButtonState LeftShoulder
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.shoulder_left;
|
||||
}
|
||||
}
|
||||
|
||||
public ButtonState LeftStick
|
||||
{
|
||||
get
|
||||
{
|
||||
return stick_left;
|
||||
}
|
||||
}
|
||||
|
||||
public ButtonState RightShoulder
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.shoulder_right;
|
||||
}
|
||||
}
|
||||
|
||||
public ButtonState RightStick
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.stick_right;
|
||||
}
|
||||
}
|
||||
|
||||
public ButtonState Start
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.button_start;
|
||||
}
|
||||
}
|
||||
|
||||
public ButtonState X
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.button_x;
|
||||
}
|
||||
}
|
||||
|
||||
public ButtonState Y
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.button_y;
|
||||
}
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return (int)this.buttonValue;
|
||||
return (int)Buttons;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
String buttons = String.Empty;
|
||||
string buttons = A == ButtonState.Pressed ? "A" : "";
|
||||
buttons += B == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "B" : "";
|
||||
buttons += X == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "X" : "";
|
||||
buttons += Y == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Y" : "";
|
||||
buttons += LeftShoulder == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "LeftShoulder" : "";
|
||||
buttons += RightShoulder == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "RightShoulder" : "";
|
||||
buttons += LeftStick == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "LeftStick" : "";
|
||||
buttons += RightStick == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "RightStick" : "";
|
||||
buttons += Start == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Start" : "";
|
||||
buttons += Back == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Back" : "";
|
||||
buttons += BigButton == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "BigButton" : "";
|
||||
|
||||
buttons += this.button_a == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "A" : "";
|
||||
buttons += this.button_b == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "B" : "";
|
||||
buttons += this.button_x == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "X" : "";
|
||||
buttons += this.button_y == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Y" : "";
|
||||
buttons += this.shoulder_left == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "LeftShoulder" : "";
|
||||
buttons += this.shoulder_right == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "RightShoulder" : "";
|
||||
buttons += this.stick_left == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "LeftStick" : "";
|
||||
buttons += this.stick_right == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "RightStick" : "";
|
||||
buttons += this.button_start == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Start" : "";
|
||||
buttons += this.button_back == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Back" : "";
|
||||
buttons += this.button_big == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "BigButton" : "";
|
||||
|
||||
if (string.IsNullOrEmpty(buttons))
|
||||
{
|
||||
if (String.IsNullOrEmpty(buttons))
|
||||
buttons = "None";
|
||||
}
|
||||
|
||||
return String.Format("{{Buttons:{0}}}", buttons);
|
||||
}
|
||||
|
||||
internal Buttons Buttons
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.buttonValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,13 @@
|
||||
using ANX.Framework.NonXNA.Development;
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
// For details see: http://anxframework.codeplex.com/license
|
||||
|
||||
namespace ANX.Framework.Input
|
||||
{
|
||||
[PercentageComplete(100)]
|
||||
[TestState(TestStateAttribute.TestState.Tested)]
|
||||
public struct GamePadCapabilities
|
||||
{
|
||||
public GamePadType GamePadType
|
||||
|
@ -1,9 +1,5 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
using System.IO;
|
||||
using ANX.Framework.NonXNA;
|
||||
|
||||
#endregion // Using Statements
|
||||
using ANX.Framework.NonXNA.Development;
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
@ -11,92 +7,63 @@ using ANX.Framework.NonXNA;
|
||||
|
||||
namespace ANX.Framework.Input
|
||||
{
|
||||
[PercentageComplete(100)]
|
||||
[TestState(TestStateAttribute.TestState.Untested)]
|
||||
public struct GamePadDPad
|
||||
{
|
||||
#region Private Members
|
||||
private Buttons buttons;
|
||||
|
||||
private ButtonState up;
|
||||
private ButtonState down;
|
||||
private ButtonState left;
|
||||
private ButtonState right;
|
||||
|
||||
#endregion // Private Members
|
||||
public ButtonState Down { get; private set; }
|
||||
public ButtonState Left { get; private set; }
|
||||
public ButtonState Right { get; private set; }
|
||||
public ButtonState Up { get; private set; }
|
||||
internal Buttons Buttons { get; private set; }
|
||||
|
||||
public GamePadDPad(ButtonState upValue, ButtonState downValue, ButtonState leftValue, ButtonState rightValue)
|
||||
: this()
|
||||
{
|
||||
this.up = upValue;
|
||||
this.down = downValue;
|
||||
this.left = leftValue;
|
||||
this.right = rightValue;
|
||||
|
||||
buttons = 0;
|
||||
buttons |= (upValue == ButtonState.Pressed ? Buttons.DPadUp : 0);
|
||||
buttons |= (downValue == ButtonState.Pressed ? Buttons.DPadDown : 0);
|
||||
buttons |= (leftValue == ButtonState.Pressed ? Buttons.DPadLeft : 0);
|
||||
buttons |= (rightValue == ButtonState.Pressed ? Buttons.DPadRight : 0);
|
||||
Up = upValue;
|
||||
Down = downValue;
|
||||
Left = leftValue;
|
||||
Right = rightValue;
|
||||
AddToButtonsIfPressed(upValue, Buttons.DPadUp);
|
||||
AddToButtonsIfPressed(downValue, Buttons.DPadDown);
|
||||
AddToButtonsIfPressed(leftValue, Buttons.DPadLeft);
|
||||
AddToButtonsIfPressed(rightValue, Buttons.DPadRight);
|
||||
}
|
||||
|
||||
internal GamePadDPad(Buttons buttons)
|
||||
internal GamePadDPad(Buttons buttons)
|
||||
: this()
|
||||
{
|
||||
this.buttons = buttons;
|
||||
|
||||
this.up = (buttons & Buttons.DPadUp) == Buttons.DPadUp ? ButtonState.Pressed : ButtonState.Released;
|
||||
this.left = (buttons & Buttons.DPadLeft) == Buttons.DPadLeft ? ButtonState.Pressed : ButtonState.Released;
|
||||
this.down = (buttons & Buttons.DPadDown) == Buttons.DPadDown ? ButtonState.Pressed : ButtonState.Released;
|
||||
this.right = (buttons & Buttons.DPadRight) == Buttons.DPadRight ? ButtonState.Pressed : ButtonState.Released;
|
||||
Buttons = buttons;
|
||||
Up = GetButtonStateFrom(Buttons.DPadUp);
|
||||
Left = GetButtonStateFrom(Buttons.DPadLeft);
|
||||
Down = GetButtonStateFrom(Buttons.DPadDown);
|
||||
Right = GetButtonStateFrom(Buttons.DPadRight);
|
||||
}
|
||||
|
||||
public ButtonState Down
|
||||
{
|
||||
get
|
||||
{
|
||||
return down;
|
||||
}
|
||||
}
|
||||
private ButtonState GetButtonStateFrom(Buttons button)
|
||||
{
|
||||
return (Buttons & button) == button ? ButtonState.Pressed : ButtonState.Released;
|
||||
}
|
||||
|
||||
public ButtonState Left
|
||||
{
|
||||
get
|
||||
{
|
||||
return left;
|
||||
}
|
||||
}
|
||||
|
||||
public ButtonState Right
|
||||
{
|
||||
get
|
||||
{
|
||||
return right;
|
||||
}
|
||||
}
|
||||
|
||||
public ButtonState Up
|
||||
{
|
||||
get
|
||||
{
|
||||
return up;
|
||||
}
|
||||
}
|
||||
private void AddToButtonsIfPressed(ButtonState state, Buttons button)
|
||||
{
|
||||
Buttons |= (state == ButtonState.Pressed ? button : 0);
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return (int)buttons;
|
||||
return (int)Buttons;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
String buttons = String.Empty;
|
||||
|
||||
buttons += this.up == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Up" : "";
|
||||
buttons += this.down == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Down" : "";
|
||||
buttons += this.left == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Left" : "";
|
||||
buttons += this.right == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Right" : "";
|
||||
string buttons = Up == ButtonState.Pressed ? "Up" : "";
|
||||
buttons += Down == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Down" : "";
|
||||
buttons += Left == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Left" : "";
|
||||
buttons += Right == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Right" : "";
|
||||
|
||||
if (String.IsNullOrEmpty(buttons))
|
||||
{
|
||||
buttons = "None";
|
||||
}
|
||||
|
||||
return String.Format("{{DPad:{0}}}", buttons);
|
||||
}
|
||||
@ -104,29 +71,19 @@ namespace ANX.Framework.Input
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj != null && obj.GetType() == typeof(GamePadDPad))
|
||||
{
|
||||
return this == (GamePadDPad)obj;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static bool operator ==(GamePadDPad lhs, GamePadDPad rhs)
|
||||
{
|
||||
return lhs.buttons == rhs.buttons;
|
||||
return lhs.Buttons == rhs.Buttons;
|
||||
}
|
||||
|
||||
public static bool operator !=(GamePadDPad lhs, GamePadDPad rhs)
|
||||
{
|
||||
return lhs.buttons != rhs.buttons;
|
||||
}
|
||||
|
||||
internal Buttons Buttons
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.buttons;
|
||||
}
|
||||
return lhs.Buttons != rhs.Buttons;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,3 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
|
||||
#endregion // Using Statements
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
// For details see: http://anxframework.codeplex.com/license
|
||||
|
@ -1,9 +1,5 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
using System.IO;
|
||||
using ANX.Framework.NonXNA;
|
||||
|
||||
#endregion // Using Statements
|
||||
using ANX.Framework.NonXNA.Development;
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
@ -11,67 +7,87 @@ using ANX.Framework.NonXNA;
|
||||
|
||||
namespace ANX.Framework.Input
|
||||
{
|
||||
[PercentageComplete(100)]
|
||||
[TestState(TestStateAttribute.TestState.Untested)]
|
||||
public struct GamePadState
|
||||
{
|
||||
#region Private Members
|
||||
#region Private
|
||||
private GamePadThumbSticks thumbSticks;
|
||||
private GamePadTriggers triggers;
|
||||
private GamePadButtons buttons;
|
||||
private GamePadDPad dPad;
|
||||
|
||||
private Buttons buttonsValue;
|
||||
#endregion
|
||||
|
||||
private bool isConnected;
|
||||
private int packetNumber;
|
||||
#region Public
|
||||
public GamePadButtons Buttons
|
||||
{
|
||||
get { return this.buttons; }
|
||||
}
|
||||
|
||||
#endregion // Private Members
|
||||
public GamePadDPad DPad
|
||||
{
|
||||
get { return this.dPad; }
|
||||
}
|
||||
|
||||
public GamePadState(GamePadThumbSticks thumbSticks, GamePadTriggers triggers, GamePadButtons buttons, GamePadDPad dPad)
|
||||
public bool IsConnected
|
||||
{
|
||||
get;
|
||||
internal set;
|
||||
}
|
||||
|
||||
public int PacketNumber
|
||||
{
|
||||
get;
|
||||
internal set;
|
||||
}
|
||||
|
||||
public GamePadThumbSticks ThumbSticks
|
||||
{
|
||||
get { return this.thumbSticks; }
|
||||
}
|
||||
public GamePadTriggers Triggers
|
||||
{
|
||||
get { return this.triggers; }
|
||||
}
|
||||
#endregion
|
||||
|
||||
public GamePadState(GamePadThumbSticks thumbSticks, GamePadTriggers triggers, GamePadButtons buttons, GamePadDPad dPad)
|
||||
: this()
|
||||
{
|
||||
this.thumbSticks = thumbSticks;
|
||||
this.triggers = triggers;
|
||||
this.buttons = buttons;
|
||||
this.dPad = dPad;
|
||||
this.isConnected = true;
|
||||
this.packetNumber = 0;
|
||||
this.buttonsValue = this.buttons.Buttons | this.dPad.Buttons;
|
||||
this.dPad = dPad;
|
||||
this.buttonsValue = this.buttons.Buttons | this.dPad.Buttons;
|
||||
this.IsConnected = true;
|
||||
this.PacketNumber = 0;
|
||||
}
|
||||
|
||||
public GamePadState(Vector2 leftThumbStick, Vector2 rightThumbStick, float leftTrigger, float rightTrigger, params Buttons[] buttons)
|
||||
public GamePadState(Vector2 leftThumbStick, Vector2 rightThumbStick, float leftTrigger, float rightTrigger,
|
||||
params Buttons[] buttons)
|
||||
: this()
|
||||
{
|
||||
this.thumbSticks = new GamePadThumbSticks(leftThumbStick, rightThumbStick);
|
||||
this.triggers = new GamePadTriggers(leftTrigger, rightTrigger);
|
||||
|
||||
Buttons buttonField = 0;
|
||||
for (int i = 0; i < buttons.Length; i++)
|
||||
{
|
||||
buttonField |= buttons[i];
|
||||
}
|
||||
this.buttonsValue = buttonField;
|
||||
this.isConnected = true;
|
||||
this.packetNumber = 0;
|
||||
|
||||
this.buttonsValue = buttonField;
|
||||
this.IsConnected = true;
|
||||
this.PacketNumber = 0;
|
||||
|
||||
this.buttons = new GamePadButtons(this.buttonsValue);
|
||||
this.dPad = new GamePadDPad(this.buttonsValue);
|
||||
}
|
||||
|
||||
//public GamePadState(int value, bool isConnected, int packetNumber, Vector2 thumbStickLeft, Vector2 thumbStickRight, float triggerLeft, float triggerRight)
|
||||
//{
|
||||
// this.buttonsValue = value;
|
||||
// //TODO: this.buttons = new GamePadButtons(value);
|
||||
// this.dPad = new GamePadDPad(value);
|
||||
// this.isConnected = isConnected;
|
||||
// this.packetNumber = packetNumber;
|
||||
// this.thumbSticks = new GamePadThumbSticks(thumbStickLeft, thumbStickRight);
|
||||
// this.triggers = new GamePadTriggers(triggerLeft, triggerRight);
|
||||
//}
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj != null && obj.GetType() == typeof(GamePadState))
|
||||
{
|
||||
return this == (GamePadState)obj;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@ -96,39 +112,14 @@ namespace ANX.Framework.Input
|
||||
return String.Format("{{IsConnected:{0}}}", IsConnected);
|
||||
}
|
||||
|
||||
public bool IsButtonDown(Buttons button) { return ((this.buttonsValue & button) == button); }
|
||||
public bool IsButtonUp(Buttons button) { return ((this.buttonsValue & button) != button); }
|
||||
public GamePadButtons Buttons { get { return this.buttons; } }
|
||||
public GamePadDPad DPad { get { return this.dPad; } }
|
||||
|
||||
public bool IsConnected
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.isConnected;
|
||||
}
|
||||
internal set
|
||||
{
|
||||
this.isConnected = value;
|
||||
}
|
||||
}
|
||||
|
||||
public int PacketNumber
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.packetNumber;
|
||||
}
|
||||
internal set
|
||||
{
|
||||
this.packetNumber = value;
|
||||
}
|
||||
}
|
||||
|
||||
public GamePadThumbSticks ThumbSticks { get { return this.thumbSticks; } }
|
||||
public GamePadTriggers Triggers { get { return this.triggers; } }
|
||||
|
||||
|
||||
public bool IsButtonDown(Buttons button)
|
||||
{
|
||||
return (this.buttonsValue & button) == button;
|
||||
}
|
||||
|
||||
public bool IsButtonUp(Buttons button)
|
||||
{
|
||||
return (this.buttonsValue & button) != button;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,5 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
using System.IO;
|
||||
using ANX.Framework.NonXNA;
|
||||
|
||||
#endregion // Using Statements
|
||||
using ANX.Framework.NonXNA.Development;
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
@ -11,13 +7,24 @@ using ANX.Framework.NonXNA;
|
||||
|
||||
namespace ANX.Framework.Input
|
||||
{
|
||||
[PercentageComplete(100)]
|
||||
[TestState(TestStateAttribute.TestState.Untested)]
|
||||
public struct GamePadThumbSticks
|
||||
{
|
||||
#region Private Members
|
||||
#region Private
|
||||
private Vector2 left;
|
||||
private Vector2 right;
|
||||
#endregion
|
||||
|
||||
#endregion // Private Members
|
||||
public Vector2 Left
|
||||
{
|
||||
get { return this.left; }
|
||||
}
|
||||
|
||||
public Vector2 Right
|
||||
{
|
||||
get { return this.right; }
|
||||
}
|
||||
|
||||
public GamePadThumbSticks (Vector2 leftThumbstick, Vector2 rightThumbstick)
|
||||
{
|
||||
@ -28,9 +35,7 @@ namespace ANX.Framework.Input
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj != null && obj.GetType() == typeof(GamePadThumbSticks))
|
||||
{
|
||||
return this == (GamePadThumbSticks)obj;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@ -55,8 +60,5 @@ namespace ANX.Framework.Input
|
||||
return String.Format("{{Left:{0} Right:{1}}}", left, right);
|
||||
}
|
||||
|
||||
public Vector2 Left { get { return this.left; } }
|
||||
public Vector2 Right { get { return this.right; } }
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,5 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
using System.IO;
|
||||
using ANX.Framework.NonXNA;
|
||||
|
||||
#endregion // Using Statements
|
||||
using ANX.Framework.NonXNA.Development;
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
@ -11,68 +7,46 @@ using ANX.Framework.NonXNA;
|
||||
|
||||
namespace ANX.Framework.Input
|
||||
{
|
||||
public struct GamePadTriggers
|
||||
{
|
||||
#region Private Members
|
||||
private float left;
|
||||
private float right;
|
||||
[PercentageComplete(100)]
|
||||
[TestState(TestStateAttribute.TestState.Untested)]
|
||||
public struct GamePadTriggers
|
||||
{
|
||||
public float Left { get; private set; }
|
||||
public float Right { get; private set; }
|
||||
|
||||
#endregion // Private Members
|
||||
public GamePadTriggers(float leftTrigger, float rightTrigger)
|
||||
: this()
|
||||
{
|
||||
Left = MathHelper.Clamp(leftTrigger, 0f, 1f);
|
||||
Right = MathHelper.Clamp(rightTrigger, 0f, 1f);
|
||||
}
|
||||
|
||||
public GamePadTriggers (float leftTrigger,float rightTrigger)
|
||||
{
|
||||
if (leftTrigger>1)
|
||||
{
|
||||
leftTrigger = 1;
|
||||
}
|
||||
if (leftTrigger<0)
|
||||
{
|
||||
leftTrigger = 0;
|
||||
}
|
||||
if (rightTrigger>1)
|
||||
{
|
||||
rightTrigger = 1;
|
||||
}
|
||||
if (rightTrigger<0)
|
||||
{
|
||||
rightTrigger = 0;
|
||||
}
|
||||
left = leftTrigger;
|
||||
right = rightTrigger;
|
||||
}
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return Left.GetHashCode() ^ Right.GetHashCode();
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return left.GetHashCode() ^ right.GetHashCode();
|
||||
}
|
||||
public override string ToString()
|
||||
{
|
||||
return String.Format("{{Left:{0} Right:{1}}}", Left, Right);
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return String.Format("{{Left:{0} Right:{1}}}", left, right);
|
||||
}
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj != null && obj.GetType() == typeof(GamePadTriggers))
|
||||
return this == (GamePadTriggers)obj;
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj != null && obj.GetType() == typeof(GamePadTriggers))
|
||||
{
|
||||
return this == (GamePadTriggers)obj;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
public static bool operator ==(GamePadTriggers lhs, GamePadTriggers rhs)
|
||||
{
|
||||
return lhs.Left == rhs.Left && lhs.Right == rhs.Right;
|
||||
}
|
||||
|
||||
public static bool operator ==(GamePadTriggers lhs, GamePadTriggers rhs)
|
||||
{
|
||||
return lhs.left == rhs.left && lhs.right == rhs.right;
|
||||
}
|
||||
|
||||
public static bool operator !=(GamePadTriggers lhs, GamePadTriggers rhs)
|
||||
{
|
||||
return lhs.left != rhs.left || lhs.right != rhs.right;
|
||||
}
|
||||
|
||||
public float Left { get { return this.left; } }
|
||||
public float Right { get { return this.right; } }
|
||||
|
||||
}
|
||||
public static bool operator !=(GamePadTriggers lhs, GamePadTriggers rhs)
|
||||
{
|
||||
return lhs.Left != rhs.Left || lhs.Right != rhs.Right;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,25 +1,20 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
|
||||
#endregion // Using Statements
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
// For details see: http://anxframework.codeplex.com/license
|
||||
|
||||
namespace ANX.Framework.Input
|
||||
{
|
||||
public enum GamePadType :short
|
||||
{
|
||||
Unknown,
|
||||
GamePad,
|
||||
Wheel,
|
||||
ArcadeStick,
|
||||
FlightStick,
|
||||
DancePad,
|
||||
Guitar,
|
||||
AlternateGuitar,
|
||||
DrumKit,
|
||||
BigButtonPad=768
|
||||
}
|
||||
public enum GamePadType : short
|
||||
{
|
||||
Unknown,
|
||||
GamePad,
|
||||
Wheel,
|
||||
ArcadeStick,
|
||||
FlightStick,
|
||||
DancePad,
|
||||
Guitar,
|
||||
AlternateGuitar,
|
||||
DrumKit,
|
||||
BigButtonPad = 768
|
||||
}
|
||||
}
|
||||
|
@ -1,17 +1,12 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
|
||||
#endregion // Using Statements
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
// For details see: http://anxframework.codeplex.com/license
|
||||
|
||||
namespace ANX.Framework.Input
|
||||
{
|
||||
public enum KeyState
|
||||
{
|
||||
Up,
|
||||
Down
|
||||
}
|
||||
public enum KeyState
|
||||
{
|
||||
Up,
|
||||
Down
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,6 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
using ANX.Framework.NonXNA;
|
||||
|
||||
#endregion // Using Statements
|
||||
using ANX.Framework.NonXNA.Development;
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
@ -10,39 +8,38 @@ using ANX.Framework.NonXNA;
|
||||
|
||||
namespace ANX.Framework.Input
|
||||
{
|
||||
public static class Keyboard
|
||||
{
|
||||
private static IKeyboard keyboard;
|
||||
[PercentageComplete(100)]
|
||||
[TestState(TestStateAttribute.TestState.Tested)]
|
||||
public static class Keyboard
|
||||
{
|
||||
private static IKeyboard keyboard;
|
||||
|
||||
static Keyboard()
|
||||
{
|
||||
keyboard = AddInSystemFactory.Instance.GetDefaultCreator<IInputSystemCreator>().Keyboard;
|
||||
}
|
||||
internal static IntPtr WindowHandle
|
||||
{
|
||||
get
|
||||
{
|
||||
return keyboard != null ? keyboard.WindowHandle : IntPtr.Zero;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (keyboard != null)
|
||||
keyboard.WindowHandle = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal static IntPtr WindowHandle
|
||||
{
|
||||
get
|
||||
{
|
||||
return keyboard != null ? keyboard.WindowHandle : IntPtr.Zero;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (keyboard != null)
|
||||
{
|
||||
keyboard.WindowHandle = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
static Keyboard()
|
||||
{
|
||||
keyboard = AddInSystemFactory.Instance.GetDefaultCreator<IInputSystemCreator>().Keyboard;
|
||||
}
|
||||
|
||||
public static KeyboardState GetState()
|
||||
{
|
||||
return keyboard.GetState();
|
||||
}
|
||||
public static KeyboardState GetState()
|
||||
{
|
||||
return keyboard.GetState();
|
||||
}
|
||||
|
||||
public static KeyboardState GetState (PlayerIndex playerIndex)
|
||||
{
|
||||
return keyboard.GetState(playerIndex);
|
||||
}
|
||||
|
||||
}
|
||||
public static KeyboardState GetState(PlayerIndex playerIndex)
|
||||
{
|
||||
return keyboard.GetState(playerIndex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,6 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
#endregion // Using Statements
|
||||
using ANX.Framework.NonXNA.Development;
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
@ -10,36 +8,37 @@ using System.Collections.Generic;
|
||||
|
||||
namespace ANX.Framework.Input
|
||||
{
|
||||
[PercentageComplete(100)]
|
||||
[TestState(TestStateAttribute.TestState.Untested)]
|
||||
public struct KeyboardState
|
||||
{
|
||||
#region Private Members
|
||||
#region Private
|
||||
private KeyState[] keyState;
|
||||
private List<Keys> pressedKeys;
|
||||
#endregion
|
||||
|
||||
#endregion // Private Members
|
||||
public KeyState this[Keys key]
|
||||
{
|
||||
get
|
||||
{
|
||||
return keyState[(int)key];
|
||||
}
|
||||
}
|
||||
|
||||
public KeyboardState(params Keys[] keys)
|
||||
{
|
||||
pressedKeys = new List<Keys>();
|
||||
pressedKeys.AddRange(keys);
|
||||
|
||||
keyState = new KeyState[255];
|
||||
keyState.Initialize();
|
||||
|
||||
for (int i = 0; i < keys.Length; i++)
|
||||
{
|
||||
keyState[(int)keys[i]] = KeyState.Down;
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsKeyDown(Keys key)
|
||||
{
|
||||
return keyState != null ? keyState[(int)key] == KeyState.Down : false;
|
||||
return keyState[(int)key] == KeyState.Down;
|
||||
}
|
||||
|
||||
public bool IsKeyUp(Keys key)
|
||||
{
|
||||
return keyState != null ? keyState[(int)key] == KeyState.Up : true;
|
||||
return keyState[(int)key] == KeyState.Up;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
@ -50,9 +49,7 @@ namespace ANX.Framework.Input
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj != null && obj.GetType() == typeof(KeyboardState))
|
||||
{
|
||||
return this == (KeyboardState)obj;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@ -60,56 +57,46 @@ namespace ANX.Framework.Input
|
||||
public static bool operator ==(KeyboardState lhs, KeyboardState rhs)
|
||||
{
|
||||
if (lhs.keyState.Length != rhs.keyState.Length)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
for (int i = 0; i < lhs.keyState.Length; i++)
|
||||
{
|
||||
if (lhs.keyState[i] != rhs.keyState[i])
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static bool operator !=(KeyboardState lhs, KeyboardState rhs)
|
||||
{
|
||||
return !(lhs == rhs);
|
||||
}
|
||||
{
|
||||
if (lhs.keyState.Length == rhs.keyState.Length)
|
||||
{
|
||||
for (int i = 0; i < lhs.keyState.Length; i++)
|
||||
if (lhs.keyState[i] != rhs.keyState[i])
|
||||
return true;
|
||||
|
||||
public KeyState this[Keys key]
|
||||
{
|
||||
get
|
||||
{
|
||||
return keyState[(int)key];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public Keys[] GetPressedKeys()
|
||||
{
|
||||
List<Keys> value = new List<Keys>();
|
||||
var result = new List<Keys>();
|
||||
for (int i = 0; i < keyState.Length; ++i)
|
||||
{
|
||||
if (keyState[i] == KeyState.Down)
|
||||
{
|
||||
value.Add((Keys)i);
|
||||
}
|
||||
}
|
||||
return value.ToArray();
|
||||
result.Add((Keys)i);
|
||||
|
||||
return result.ToArray();
|
||||
}
|
||||
|
||||
internal void AddPressedKey(Keys key)
|
||||
{
|
||||
this.pressedKeys.Add(key);
|
||||
this.keyState[(int)key] = KeyState.Down;
|
||||
}
|
||||
|
||||
internal void RemovePressedKey(Keys key)
|
||||
{
|
||||
this.pressedKeys.Remove(key);
|
||||
this.keyState[(int)key] = KeyState.Up;
|
||||
}
|
||||
|
||||
|
@ -1,175 +1,170 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
|
||||
#endregion // Using Statements
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
// For details see: http://anxframework.codeplex.com/license
|
||||
|
||||
namespace ANX.Framework.Input
|
||||
{
|
||||
public enum Keys : byte
|
||||
{
|
||||
None = 0,
|
||||
Back = 8,
|
||||
Tab = 9,
|
||||
Enter = 13,
|
||||
Pause = 19,
|
||||
CapsLock = 20,
|
||||
Kana = 21,
|
||||
Kanji = 25,
|
||||
Escape = 27,
|
||||
ImeConvert = 28,
|
||||
ImeNoConvert = 29,
|
||||
Space = 32,
|
||||
PageUp = 33,
|
||||
PageDown = 34,
|
||||
End = 35,
|
||||
Home = 36,
|
||||
Left = 37,
|
||||
Up = 38,
|
||||
Right = 39,
|
||||
Down = 40,
|
||||
Select = 41,
|
||||
Print = 42,
|
||||
Execute = 43,
|
||||
PrintScreen = 44,
|
||||
Insert = 45,
|
||||
Delete = 46,
|
||||
Help = 47,
|
||||
D0 = 48,
|
||||
D1 = 49,
|
||||
D2 = 50,
|
||||
D3 = 51,
|
||||
D4 = 52,
|
||||
D5 = 53,
|
||||
D6 = 54,
|
||||
D7 = 55,
|
||||
D8 = 56,
|
||||
D9 = 57,
|
||||
A = 65,
|
||||
B = 66,
|
||||
C = 67,
|
||||
D = 68,
|
||||
E = 69,
|
||||
F = 70,
|
||||
G = 71,
|
||||
H = 72,
|
||||
I = 73,
|
||||
J = 74,
|
||||
K = 75,
|
||||
L = 76,
|
||||
M = 77,
|
||||
N = 78,
|
||||
O = 79,
|
||||
P = 80,
|
||||
Q = 81,
|
||||
R = 82,
|
||||
S = 83,
|
||||
T = 84,
|
||||
U = 85,
|
||||
V = 86,
|
||||
W = 87,
|
||||
X = 88,
|
||||
Y = 89,
|
||||
Z = 90,
|
||||
LeftWindows = 91,
|
||||
RightWindows = 92,
|
||||
Apps = 93,
|
||||
Sleep = 95,
|
||||
NumPad0 = 96,
|
||||
NumPad1 = 97,
|
||||
NumPad2 = 98,
|
||||
NumPad3 = 99,
|
||||
NumPad4 = 100,
|
||||
NumPad5 = 101,
|
||||
NumPad6 = 102,
|
||||
NumPad7 = 103,
|
||||
NumPad8 = 104,
|
||||
NumPad9 = 105,
|
||||
Multiply = 106,
|
||||
Add = 107,
|
||||
Separator = 108,
|
||||
Subtract = 109,
|
||||
Decimal = 110,
|
||||
Divide = 111,
|
||||
F1 = 112,
|
||||
F2 = 113,
|
||||
F3 = 114,
|
||||
F4 = 115,
|
||||
F5 = 116,
|
||||
F6 = 117,
|
||||
F7 = 118,
|
||||
F8 = 119,
|
||||
F9 = 120,
|
||||
F10 = 121,
|
||||
F11 = 122,
|
||||
F12 = 123,
|
||||
F13 = 124,
|
||||
F14 = 125,
|
||||
F15 = 126,
|
||||
F16 = 127,
|
||||
F17 = 128,
|
||||
F18 = 129,
|
||||
F19 = 130,
|
||||
F20 = 131,
|
||||
F21 = 132,
|
||||
F22 = 133,
|
||||
F23 = 134,
|
||||
F24 = 135,
|
||||
NumLock = 144,
|
||||
Scroll = 145,
|
||||
LeftShift = 160,
|
||||
RightShift = 161,
|
||||
LeftControl = 162,
|
||||
RightControl = 163,
|
||||
LeftAlt = 164,
|
||||
RightAlt = 165,
|
||||
BrowserBack = 166,
|
||||
BrowserForward = 167,
|
||||
BrowserRefresh = 168,
|
||||
BrowserStop = 169,
|
||||
BrowserSearch = 170,
|
||||
BrowserFavorites = 171,
|
||||
BrowserHome = 172,
|
||||
VolumeMute = 173,
|
||||
VolumeDown = 174,
|
||||
VolumeUp = 175,
|
||||
MediaNextTrack = 176,
|
||||
MediaPreviousTrack = 177,
|
||||
MediaStop = 178,
|
||||
MediaPlayPause = 179,
|
||||
LaunchMail = 180,
|
||||
SelectMedia = 181,
|
||||
LaunchApplication1 = 182,
|
||||
LaunchApplication2 = 183,
|
||||
OemSemicolon = 186,
|
||||
OemPlus = 187,
|
||||
OemComma = 188,
|
||||
OemMinus = 189,
|
||||
OemPeriod = 190,
|
||||
OemQuestion = 191,
|
||||
OemTilde = 192,
|
||||
ChatPadGreen = 202,
|
||||
ChatPadOrange = 203,
|
||||
OemOpenBrackets = 219,
|
||||
OemPipe = 220,
|
||||
OemCloseBrackets = 221,
|
||||
OemQuotes = 222,
|
||||
Oem8 = 223,
|
||||
OemBackslash = 226,
|
||||
ProcessKey = 229,
|
||||
OemCopy = 242,
|
||||
OemAuto = 243,
|
||||
OemEnlW = 244,
|
||||
Attn = 246,
|
||||
Crsel = 247,
|
||||
Exsel = 248,
|
||||
EraseEof = 249,
|
||||
Play = 250,
|
||||
Zoom = 251,
|
||||
Pa1 = 253,
|
||||
OemClear = 254
|
||||
}
|
||||
public enum Keys : byte
|
||||
{
|
||||
None = 0,
|
||||
Back = 8,
|
||||
Tab = 9,
|
||||
Enter = 13,
|
||||
Pause = 19,
|
||||
CapsLock = 20,
|
||||
Kana = 21,
|
||||
Kanji = 25,
|
||||
Escape = 27,
|
||||
ImeConvert = 28,
|
||||
ImeNoConvert = 29,
|
||||
Space = 32,
|
||||
PageUp = 33,
|
||||
PageDown = 34,
|
||||
End = 35,
|
||||
Home = 36,
|
||||
Left = 37,
|
||||
Up = 38,
|
||||
Right = 39,
|
||||
Down = 40,
|
||||
Select = 41,
|
||||
Print = 42,
|
||||
Execute = 43,
|
||||
PrintScreen = 44,
|
||||
Insert = 45,
|
||||
Delete = 46,
|
||||
Help = 47,
|
||||
D0 = 48,
|
||||
D1 = 49,
|
||||
D2 = 50,
|
||||
D3 = 51,
|
||||
D4 = 52,
|
||||
D5 = 53,
|
||||
D6 = 54,
|
||||
D7 = 55,
|
||||
D8 = 56,
|
||||
D9 = 57,
|
||||
A = 65,
|
||||
B = 66,
|
||||
C = 67,
|
||||
D = 68,
|
||||
E = 69,
|
||||
F = 70,
|
||||
G = 71,
|
||||
H = 72,
|
||||
I = 73,
|
||||
J = 74,
|
||||
K = 75,
|
||||
L = 76,
|
||||
M = 77,
|
||||
N = 78,
|
||||
O = 79,
|
||||
P = 80,
|
||||
Q = 81,
|
||||
R = 82,
|
||||
S = 83,
|
||||
T = 84,
|
||||
U = 85,
|
||||
V = 86,
|
||||
W = 87,
|
||||
X = 88,
|
||||
Y = 89,
|
||||
Z = 90,
|
||||
LeftWindows = 91,
|
||||
RightWindows = 92,
|
||||
Apps = 93,
|
||||
Sleep = 95,
|
||||
NumPad0 = 96,
|
||||
NumPad1 = 97,
|
||||
NumPad2 = 98,
|
||||
NumPad3 = 99,
|
||||
NumPad4 = 100,
|
||||
NumPad5 = 101,
|
||||
NumPad6 = 102,
|
||||
NumPad7 = 103,
|
||||
NumPad8 = 104,
|
||||
NumPad9 = 105,
|
||||
Multiply = 106,
|
||||
Add = 107,
|
||||
Separator = 108,
|
||||
Subtract = 109,
|
||||
Decimal = 110,
|
||||
Divide = 111,
|
||||
F1 = 112,
|
||||
F2 = 113,
|
||||
F3 = 114,
|
||||
F4 = 115,
|
||||
F5 = 116,
|
||||
F6 = 117,
|
||||
F7 = 118,
|
||||
F8 = 119,
|
||||
F9 = 120,
|
||||
F10 = 121,
|
||||
F11 = 122,
|
||||
F12 = 123,
|
||||
F13 = 124,
|
||||
F14 = 125,
|
||||
F15 = 126,
|
||||
F16 = 127,
|
||||
F17 = 128,
|
||||
F18 = 129,
|
||||
F19 = 130,
|
||||
F20 = 131,
|
||||
F21 = 132,
|
||||
F22 = 133,
|
||||
F23 = 134,
|
||||
F24 = 135,
|
||||
NumLock = 144,
|
||||
Scroll = 145,
|
||||
LeftShift = 160,
|
||||
RightShift = 161,
|
||||
LeftControl = 162,
|
||||
RightControl = 163,
|
||||
LeftAlt = 164,
|
||||
RightAlt = 165,
|
||||
BrowserBack = 166,
|
||||
BrowserForward = 167,
|
||||
BrowserRefresh = 168,
|
||||
BrowserStop = 169,
|
||||
BrowserSearch = 170,
|
||||
BrowserFavorites = 171,
|
||||
BrowserHome = 172,
|
||||
VolumeMute = 173,
|
||||
VolumeDown = 174,
|
||||
VolumeUp = 175,
|
||||
MediaNextTrack = 176,
|
||||
MediaPreviousTrack = 177,
|
||||
MediaStop = 178,
|
||||
MediaPlayPause = 179,
|
||||
LaunchMail = 180,
|
||||
SelectMedia = 181,
|
||||
LaunchApplication1 = 182,
|
||||
LaunchApplication2 = 183,
|
||||
OemSemicolon = 186,
|
||||
OemPlus = 187,
|
||||
OemComma = 188,
|
||||
OemMinus = 189,
|
||||
OemPeriod = 190,
|
||||
OemQuestion = 191,
|
||||
OemTilde = 192,
|
||||
ChatPadGreen = 202,
|
||||
ChatPadOrange = 203,
|
||||
OemOpenBrackets = 219,
|
||||
OemPipe = 220,
|
||||
OemCloseBrackets = 221,
|
||||
OemQuotes = 222,
|
||||
Oem8 = 223,
|
||||
OemBackslash = 226,
|
||||
ProcessKey = 229,
|
||||
OemCopy = 242,
|
||||
OemAuto = 243,
|
||||
OemEnlW = 244,
|
||||
Attn = 246,
|
||||
Crsel = 247,
|
||||
Exsel = 248,
|
||||
EraseEof = 249,
|
||||
Play = 250,
|
||||
Zoom = 251,
|
||||
Pa1 = 253,
|
||||
OemClear = 254
|
||||
}
|
||||
}
|
@ -1,8 +1,3 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
|
||||
#endregion // Using Statements
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
// For details see: http://anxframework.codeplex.com/license
|
||||
|
@ -1,8 +1,6 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
using ANX.Framework.NonXNA;
|
||||
|
||||
#endregion // Using Statements
|
||||
using ANX.Framework.NonXNA.Development;
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
@ -10,48 +8,39 @@ using ANX.Framework.NonXNA;
|
||||
|
||||
namespace ANX.Framework.Input
|
||||
{
|
||||
[PercentageComplete(100)]
|
||||
[TestState(TestStateAttribute.TestState.Tested)]
|
||||
public static class Mouse
|
||||
{
|
||||
private static IMouse mouse;
|
||||
private static IMouse mouse;
|
||||
|
||||
public static IntPtr WindowHandle
|
||||
{
|
||||
get
|
||||
{
|
||||
return mouse != null ? mouse.WindowHandle : IntPtr.Zero;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (mouse != null)
|
||||
mouse.WindowHandle = value;
|
||||
}
|
||||
}
|
||||
|
||||
static Mouse()
|
||||
{
|
||||
mouse = AddInSystemFactory.Instance.GetDefaultCreator<IInputSystemCreator>().Mouse;
|
||||
}
|
||||
|
||||
public static IntPtr WindowHandle
|
||||
{
|
||||
get
|
||||
{
|
||||
return mouse != null ? mouse.WindowHandle : IntPtr.Zero;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (mouse != null)
|
||||
{
|
||||
mouse.WindowHandle = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static MouseState GetState()
|
||||
{
|
||||
if (mouse != null)
|
||||
{
|
||||
return mouse.GetState();
|
||||
}
|
||||
else
|
||||
{
|
||||
return new MouseState();
|
||||
}
|
||||
return (mouse != null) ? mouse.GetState() : new MouseState();
|
||||
}
|
||||
|
||||
public static void SetPosition(int x, int y)
|
||||
{
|
||||
if (mouse != null)
|
||||
{
|
||||
mouse.SetPosition(x, y);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,5 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
|
||||
#endregion // Using Statements
|
||||
using ANX.Framework.NonXNA.Development;
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
@ -10,38 +8,34 @@ using System;
|
||||
namespace ANX.Framework.Input
|
||||
{
|
||||
#if !WINDOWSMETRO //TODO: search replacement for Win8
|
||||
[SerializableAttribute]
|
||||
[Serializable]
|
||||
#endif
|
||||
public struct MouseState
|
||||
{
|
||||
private int x;
|
||||
private int y;
|
||||
private int scrollWheel;
|
||||
private ButtonState leftButton;
|
||||
private ButtonState middleButton;
|
||||
private ButtonState rightButton;
|
||||
private ButtonState xButton1;
|
||||
private ButtonState xButton2;
|
||||
public MouseState (int x, int y, int scrollWheel,ButtonState leftButton,ButtonState middleButton,ButtonState rightButton,ButtonState xButton1,ButtonState xButton2)
|
||||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.scrollWheel = scrollWheel;
|
||||
this.leftButton = leftButton;
|
||||
this.middleButton = middleButton;
|
||||
this.rightButton = rightButton;
|
||||
this.xButton1 = xButton1;
|
||||
this.xButton2 = xButton2;
|
||||
}
|
||||
[PercentageComplete(100)]
|
||||
[TestState(TestStateAttribute.TestState.Untested)]
|
||||
public struct MouseState
|
||||
{
|
||||
public ButtonState LeftButton { get; private set; }
|
||||
public ButtonState MiddleButton { get; private set; }
|
||||
public ButtonState RightButton { get; private set; }
|
||||
public ButtonState XButton1 { get; private set; }
|
||||
public ButtonState XButton2 { get; private set; }
|
||||
public int ScrollWheelValue { get; private set; }
|
||||
public int X { get; private set; }
|
||||
public int Y { get; private set; }
|
||||
|
||||
public ButtonState LeftButton { get { return this.leftButton; } }
|
||||
public ButtonState MiddleButton { get { return this.middleButton; } }
|
||||
public ButtonState RightButton { get { return this.rightButton; } }
|
||||
public ButtonState XButton1 { get { return this.xButton1; } }
|
||||
public ButtonState XButton2 { get { return this.xButton2; } }
|
||||
public int ScrollWheelValue { get { return this.scrollWheel; } }
|
||||
public int X { get { return this.x; } }
|
||||
public int Y { get { return this.y; } }
|
||||
public MouseState(int x, int y, int scrollWheel, ButtonState leftButton, ButtonState middleButton,
|
||||
ButtonState rightButton, ButtonState xButton1, ButtonState xButton2)
|
||||
: this()
|
||||
{
|
||||
X = x;
|
||||
Y = y;
|
||||
ScrollWheelValue = scrollWheel;
|
||||
LeftButton = leftButton;
|
||||
MiddleButton = middleButton;
|
||||
RightButton = rightButton;
|
||||
XButton1 = xButton1;
|
||||
XButton2 = xButton2;
|
||||
}
|
||||
|
||||
public static bool operator ==(MouseState left, MouseState right)
|
||||
{
|
||||
@ -69,30 +63,27 @@ namespace ANX.Framework.Input
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj is MouseState)
|
||||
{
|
||||
if (obj != null && obj is MouseState)
|
||||
return this == (MouseState)obj;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return ((((((this.x.GetHashCode() ^ this.y.GetHashCode()) ^ this.leftButton.GetHashCode()) ^ this.rightButton.GetHashCode()) ^ this.middleButton.GetHashCode()) ^ this.xButton1.GetHashCode()) ^ this.xButton2.GetHashCode()) ^ this.scrollWheel.GetHashCode();
|
||||
}
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return X.GetHashCode() ^ Y.GetHashCode() ^ LeftButton.GetHashCode() ^ RightButton.GetHashCode() ^
|
||||
MiddleButton.GetHashCode() ^ XButton1.GetHashCode() ^ XButton2.GetHashCode() ^ ScrollWheelValue.GetHashCode();
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
string buttons = String.Empty;
|
||||
public override string ToString()
|
||||
{
|
||||
string buttons = LeftButton == ButtonState.Pressed ? "Left" : "";
|
||||
buttons += RightButton == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Right" : "";
|
||||
buttons += MiddleButton == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Middle" : "";
|
||||
buttons += XButton1 == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "XButton1" : "";
|
||||
buttons += XButton2 == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "XButton2" : "";
|
||||
|
||||
buttons += leftButton == ButtonState.Pressed ? "Left" : "";
|
||||
buttons += rightButton == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Right" : "";
|
||||
buttons += middleButton == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Middle" : "";
|
||||
buttons += xButton1 == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "XButton1" : "";
|
||||
buttons += xButton2 == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "XButton2" : "";
|
||||
|
||||
return string.Format("{{X:{0} Y:{1} Buttons:{2} Wheel:{3}}}", this.x, this.y, buttons, this.scrollWheel);
|
||||
}
|
||||
}
|
||||
return String.Format("{{X:{0} Y:{1} Buttons:{2} Wheel:{3}}}", X, Y, buttons, ScrollWheelValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,27 +1,24 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
|
||||
#endregion // Using Statements
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
// For details see: http://anxframework.codeplex.com/license
|
||||
|
||||
namespace ANX.Framework.Input.Touch
|
||||
{
|
||||
[Flags]
|
||||
public enum GestureType
|
||||
{
|
||||
None = 0,
|
||||
Tap = 1,
|
||||
DoubleTap = 2,
|
||||
Hold = 4,
|
||||
HorizontalDrag = 8,
|
||||
VerticalDrag = 16,
|
||||
FreeDrag = 32,
|
||||
Pinch = 64,
|
||||
Flick = 128,
|
||||
DragComplete = 256,
|
||||
PinchComplete = 512,
|
||||
}
|
||||
[Flags]
|
||||
public enum GestureType
|
||||
{
|
||||
None = 0,
|
||||
Tap = 1,
|
||||
DoubleTap = 2,
|
||||
Hold = 4,
|
||||
HorizontalDrag = 8,
|
||||
VerticalDrag = 16,
|
||||
FreeDrag = 32,
|
||||
Pinch = 64,
|
||||
Flick = 128,
|
||||
DragComplete = 256,
|
||||
PinchComplete = 512,
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using ANX.Framework.NonXNA.Development;
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
@ -8,6 +9,8 @@ using System.Collections.Generic;
|
||||
|
||||
namespace ANX.Framework.Input.Touch
|
||||
{
|
||||
[PercentageComplete(90)]
|
||||
[TestState(TestStateAttribute.TestState.Untested)]
|
||||
public struct TouchCollection : IList<TouchLocation>, ICollection<TouchLocation>, IEnumerable<TouchLocation>, IEnumerable
|
||||
{
|
||||
#region Enumerator (helper struct)
|
||||
|
@ -1,7 +1,5 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
|
||||
#endregion // Using Statements
|
||||
using ANX.Framework.NonXNA.Development;
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
@ -9,6 +7,8 @@ using System;
|
||||
|
||||
namespace ANX.Framework.Input.Touch
|
||||
{
|
||||
[PercentageComplete(100)]
|
||||
[TestState(TestStateAttribute.TestState.Untested)]
|
||||
public struct TouchLocation : IEquatable<TouchLocation>
|
||||
{
|
||||
#region Private
|
||||
|
@ -1,19 +1,14 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
|
||||
#endregion // Using Statements
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
// For details see: http://anxframework.codeplex.com/license
|
||||
|
||||
namespace ANX.Framework.Input.Touch
|
||||
{
|
||||
public enum TouchLocationState
|
||||
{
|
||||
Invalid = 0,
|
||||
Released = 1,
|
||||
Pressed = 2,
|
||||
Moved = 3,
|
||||
}
|
||||
public enum TouchLocationState
|
||||
{
|
||||
Invalid = 0,
|
||||
Released = 1,
|
||||
Pressed = 2,
|
||||
Moved = 3,
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using ANX.Framework.NonXNA;
|
||||
using ANX.Framework.NonXNA.Development;
|
||||
using ANX.Framework.NonXNA.InputSystem;
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
@ -8,6 +9,8 @@ using ANX.Framework.NonXNA.InputSystem;
|
||||
|
||||
namespace ANX.Framework.Input.Touch
|
||||
{
|
||||
[PercentageComplete(100)]
|
||||
[TestState(TestStateAttribute.TestState.Untested)]
|
||||
public static class TouchPanel
|
||||
{
|
||||
#region Private
|
||||
|
@ -1,7 +1,4 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
|
||||
#endregion // Using Statements
|
||||
using ANX.Framework.NonXNA.Development;
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
@ -9,18 +6,11 @@ using System;
|
||||
|
||||
namespace ANX.Framework.Input.Touch
|
||||
{
|
||||
public struct TouchPanelCapabilities
|
||||
{
|
||||
public bool IsConnected
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public int MaximumTouchCount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
[PercentageComplete(100)]
|
||||
[TestState(TestStateAttribute.TestState.Tested)]
|
||||
public struct TouchPanelCapabilities
|
||||
{
|
||||
public bool IsConnected { get; set; }
|
||||
public int MaximumTouchCount { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -9,8 +9,8 @@ namespace ANX.Framework.NonXNA
|
||||
public interface IGamePad
|
||||
{
|
||||
GamePadCapabilities GetCapabilities(PlayerIndex playerIndex);
|
||||
GamePadState GetState(PlayerIndex playerIndex, out bool isConnected, out int packetNumber);
|
||||
GamePadState GetState(PlayerIndex playerIndex, GamePadDeadZone deadZoneMode, out bool isConnected, out int packetNumber);
|
||||
GamePadState GetState(PlayerIndex playerIndex);
|
||||
GamePadState GetState(PlayerIndex playerIndex, GamePadDeadZone deadZoneMode);
|
||||
bool SetVibration(PlayerIndex playerIndex, float leftMotor, float rightMotor);
|
||||
}
|
||||
}
|
||||
|
@ -44,6 +44,7 @@ using System.Runtime.InteropServices;
|
||||
[assembly: InternalsVisibleTo("ANX.Framework.Windows.XAudio")]
|
||||
[assembly: InternalsVisibleTo("ANX.InputSystem.Recording")]
|
||||
[assembly: InternalsVisibleTo("ANX.InputDevices.PsVita")]
|
||||
[assembly: InternalsVisibleTo("ANX.InputDevices.Test")]
|
||||
[assembly: InternalsVisibleTo("ANX.InputDevices.Windows.XInput")]
|
||||
[assembly: InternalsVisibleTo("ANX.PlatformSystem.Windows")]
|
||||
[assembly: InternalsVisibleTo("ANX.PlatformSystem.Linux")]
|
||||
|
@ -1,12 +1,8 @@
|
||||
#region Using Statements
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using ANX.Framework;
|
||||
using ANX.Framework.Input;
|
||||
using ANX.Framework.NonXNA;
|
||||
|
||||
#endregion // Using Statements
|
||||
|
||||
// This file is part of the ANX.Framework created by the
|
||||
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||||
// For details see: http://anxframework.codeplex.com/license
|
||||
@ -15,22 +11,22 @@ namespace ANX.InputDevices.OpenTK
|
||||
{
|
||||
public class GamePad : IGamePad
|
||||
{
|
||||
public Framework.Input.GamePadCapabilities GetCapabilities(Framework.PlayerIndex playerIndex)
|
||||
public GamePadCapabilities GetCapabilities(PlayerIndex playerIndex)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public Framework.Input.GamePadState GetState(Framework.PlayerIndex playerIndex, out bool isConnected, out int packetNumber)
|
||||
public GamePadState GetState(PlayerIndex playerIndex)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public Framework.Input.GamePadState GetState(Framework.PlayerIndex playerIndex, Framework.Input.GamePadDeadZone deadZoneMode, out bool isConnected, out int packetNumber)
|
||||
public GamePadState GetState(PlayerIndex playerIndex, GamePadDeadZone deadZoneMode)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public bool SetVibration(Framework.PlayerIndex playerIndex, float leftMotor, float rightMotor)
|
||||
public bool SetVibration(PlayerIndex playerIndex, float leftMotor, float rightMotor)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
@ -47,27 +47,23 @@ namespace ANX.InputDevices.PsVita
|
||||
};
|
||||
}
|
||||
|
||||
public GamePadState GetState(PlayerIndex playerIndex, out bool isConnected, out int packetNumber)
|
||||
public GamePadState GetState(PlayerIndex playerIndex)
|
||||
{
|
||||
SceInput.GamePadData data = SceInput.GamePad.GetData((int)playerIndex);
|
||||
isConnected = data.Skip == false;
|
||||
packetNumber = 0; // TODO
|
||||
|
||||
return new GamePadState(new Vector2(data.AnalogLeftX, data.AnalogLeftY),
|
||||
new Vector2(data.AnalogRightX, data.AnalogRightY), 0f, 0f, ConvertButtons(data.ButtonsDown));
|
||||
return GetState(playerIndex, GamePadDeadZone.None);
|
||||
}
|
||||
|
||||
public GamePadState GetState(PlayerIndex playerIndex, GamePadDeadZone deadZoneMode,
|
||||
out bool isConnected, out int packetNumber)
|
||||
public GamePadState GetState(PlayerIndex playerIndex, GamePadDeadZone deadZoneMode)
|
||||
{
|
||||
// TODO: GamePadDeadZone
|
||||
|
||||
SceInput.GamePadData data = SceInput.GamePad.GetData((int)playerIndex);
|
||||
isConnected = data.Skip == false;
|
||||
packetNumber = 0; // TODO
|
||||
|
||||
return new GamePadState(new Vector2(data.AnalogLeftX, data.AnalogLeftY),
|
||||
new Vector2(data.AnalogRightX, data.AnalogRightY), 0f, 0f, ConvertButtons(data.ButtonsDown));
|
||||
new Vector2(data.AnalogRightX, data.AnalogRightY), 0f, 0f, ConvertButtons(data.ButtonsDown))
|
||||
{
|
||||
IsConnected = data.Skip == false,
|
||||
PacketNumber = 0 // TODO
|
||||
};
|
||||
}
|
||||
|
||||
public bool SetVibration(PlayerIndex playerIndex, float leftMotor, float rightMotor)
|
||||
|
@ -15,47 +15,51 @@ namespace ANX.InputDevices.Test
|
||||
return new GamePadCapabilities();
|
||||
}
|
||||
|
||||
public GamePadState GetState(PlayerIndex playerIndex, out bool isConnected,
|
||||
out int packetNumber)
|
||||
public GamePadState GetState(PlayerIndex playerIndex)
|
||||
{
|
||||
GamePadState gamepad;
|
||||
switch (playerIndex)
|
||||
{
|
||||
case PlayerIndex.One:
|
||||
isConnected = true;
|
||||
packetNumber = 0;
|
||||
gamepad = new GamePadState(new Vector2(100, 100), new Vector2(100, 100),
|
||||
0.5f, 0.5f, Buttons.A, Buttons.B);
|
||||
gamepad = new GamePadState(new Vector2(100, 100), new Vector2(100, 100), 0.5f, 0.5f, Buttons.A, Buttons.B)
|
||||
{
|
||||
IsConnected = true,
|
||||
PacketNumber = 0,
|
||||
};
|
||||
break;
|
||||
|
||||
case PlayerIndex.Two:
|
||||
isConnected = true;
|
||||
packetNumber = 0;
|
||||
gamepad = new GamePadState(new Vector2(200, 200), new Vector2(100, 100),
|
||||
0.5f, 0.5f, Buttons.A, Buttons.BigButton);
|
||||
gamepad = new GamePadState(new Vector2(200, 200), new Vector2(100, 100), 0.5f, 0.5f, Buttons.A,
|
||||
Buttons.BigButton)
|
||||
{
|
||||
IsConnected = true,
|
||||
PacketNumber = 0,
|
||||
};
|
||||
break;
|
||||
|
||||
case PlayerIndex.Three:
|
||||
isConnected = true;
|
||||
packetNumber = 0;
|
||||
gamepad = new GamePadState(new Vector2(100, 100), new Vector2(100, 100),
|
||||
0.5f, 0.5f, Buttons.A, Buttons.X);
|
||||
gamepad = new GamePadState(new Vector2(100, 100), new Vector2(100, 100), 0.5f, 0.5f, Buttons.A, Buttons.X)
|
||||
{
|
||||
IsConnected = true,
|
||||
PacketNumber = 0,
|
||||
};
|
||||
break;
|
||||
|
||||
case PlayerIndex.Four:
|
||||
default:
|
||||
isConnected = false;
|
||||
packetNumber = 0;
|
||||
gamepad = new GamePadState();
|
||||
gamepad = new GamePadState()
|
||||
{
|
||||
IsConnected = false,
|
||||
PacketNumber = 0,
|
||||
};
|
||||
break;
|
||||
}
|
||||
return gamepad;
|
||||
}
|
||||
|
||||
public GamePadState GetState(PlayerIndex playerIndex, GamePadDeadZone deadZoneMode,
|
||||
out bool isConnected, out int packetNumber)
|
||||
public GamePadState GetState(PlayerIndex playerIndex, GamePadDeadZone deadZoneMode)
|
||||
{
|
||||
return this.GetState(playerIndex, out isConnected, out packetNumber);
|
||||
return GetState(playerIndex);
|
||||
}
|
||||
|
||||
public bool SetVibration(PlayerIndex playerIndex, float leftMotor, float rightMotor)
|
||||
|
@ -88,20 +88,16 @@ namespace ANX.InputDevices.Windows.XInput
|
||||
#endregion
|
||||
|
||||
#region GetState
|
||||
public GamePadState GetState(PlayerIndex playerIndex, out bool isConnected, out int packetNumber)
|
||||
public GamePadState GetState(PlayerIndex playerIndex)
|
||||
{
|
||||
return GetState(playerIndex, GamePadDeadZone.None, out isConnected, out packetNumber);
|
||||
return GetState(playerIndex, GamePadDeadZone.None);
|
||||
}
|
||||
|
||||
public GamePadState GetState(PlayerIndex playerIndex, GamePadDeadZone deadZoneMode, out bool isConnected,
|
||||
out int packetNumber)
|
||||
public GamePadState GetState(PlayerIndex playerIndex, GamePadDeadZone deadZoneMode)
|
||||
{
|
||||
isConnected = controller[(int)playerIndex].IsConnected;
|
||||
bool isConnected = controller[(int)playerIndex].IsConnected;
|
||||
if (isConnected == false)
|
||||
{
|
||||
packetNumber = 0;
|
||||
return emptyState;
|
||||
}
|
||||
|
||||
State nativeState = controller[(int)playerIndex].GetState();
|
||||
Vector2 leftThumb = ApplyDeadZone(nativeState.Gamepad.LeftThumbX, nativeState.Gamepad.LeftThumbY,
|
||||
@ -109,11 +105,12 @@ namespace ANX.InputDevices.Windows.XInput
|
||||
Vector2 rightThumb = ApplyDeadZone(nativeState.Gamepad.RightThumbX, nativeState.Gamepad.RightThumbY,
|
||||
RightThumbDeadZoneSquare, deadZoneMode);
|
||||
|
||||
var result = new GamePadState(leftThumb, rightThumb, nativeState.Gamepad.LeftTrigger * triggerRangeFactor,
|
||||
nativeState.Gamepad.RightTrigger * triggerRangeFactor, FormatConverter.Translate(nativeState.Gamepad.Buttons));
|
||||
|
||||
packetNumber = nativeState.PacketNumber;
|
||||
return result;
|
||||
return new GamePadState(leftThumb, rightThumb, nativeState.Gamepad.LeftTrigger * triggerRangeFactor,
|
||||
nativeState.Gamepad.RightTrigger * triggerRangeFactor, FormatConverter.Translate(nativeState.Gamepad.Buttons))
|
||||
{
|
||||
PacketNumber = nativeState.PacketNumber,
|
||||
IsConnected = isConnected
|
||||
};
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
@ -62,12 +62,12 @@ namespace ANX.InputSystem.Recording
|
||||
return realGamePad.GetCapabilities(playerIndex);
|
||||
}
|
||||
|
||||
public GamePadState GetState(PlayerIndex playerIndex, out bool isConnected, out int packetNumber)
|
||||
public GamePadState GetState(PlayerIndex playerIndex)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GamePadState GetState(PlayerIndex playerIndex, GamePadDeadZone deadZoneMode, out bool isConnected, out int packetNumber)
|
||||
public GamePadState GetState(PlayerIndex playerIndex, GamePadDeadZone deadZoneMode)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user