[Win] WinRawInput is IKeyboard/MouseDriver2

Since we do not use Raw Input for joystick devices, it does not make
sense to expose the IJoystickDriver2 interface through WinRawInput. This
keeps allows joystick and keyboard/mouse implementations to reside in
distinct, modular classes, instantiated separately through WinFactory.
This commit is contained in:
Stefanos A 2014-01-15 23:36:35 +01:00 committed by thefiddler
parent 8968f7ff38
commit 765ad9e05b
2 changed files with 3 additions and 32 deletions

View file

@ -33,7 +33,7 @@ using OpenTK.Input;
namespace OpenTK.Platform.Windows
{
abstract class WinInputBase : IInputDriver2
abstract class WinInputBase
{
#region Fields
@ -158,13 +158,11 @@ namespace OpenTK.Platform.Windows
#endregion
#region IInputDriver2 Members
#region Public Members
public abstract IMouseDriver2 MouseDriver { get; }
public abstract IKeyboardDriver2 KeyboardDriver { get; }
public abstract IGamePadDriver GamePadDriver { get; }
public abstract IJoystickDriver2 JoystickDriver { get; }
public abstract IKeyboardDriver2 KeyboardDriver { get; }
#endregion

View file

@ -42,8 +42,6 @@ namespace OpenTK.Platform.Windows
WinRawKeyboard keyboard_driver;
WinRawMouse mouse_driver;
IGamePadDriver gamepad_driver;
IJoystickDriver2 joystick_driver;
IntPtr DevNotifyHandle;
static readonly Guid DeviceInterfaceHid = new Guid("4D1E55B2-F16F-11CF-88CB-001111000030");
@ -138,17 +136,6 @@ namespace OpenTK.Platform.Windows
{
keyboard_driver = new WinRawKeyboard(Parent.Handle);
mouse_driver = new WinRawMouse(Parent.Handle);
joystick_driver = new WinMMJoystick();
try
{
gamepad_driver = new XInputJoystick();
}
catch (Exception)
{
Debug.Print("[Win] XInput driver not supported, falling back to WinMM");
gamepad_driver = new MappedGamePadDriver();
}
DevNotifyHandle = RegisterForDeviceNotifications(Parent);
}
@ -181,10 +168,6 @@ namespace OpenTK.Platform.Windows
#endregion
#endregion
#region IInputDriver2 Members
public override IKeyboardDriver2 KeyboardDriver
{
get { return keyboard_driver; }
@ -195,16 +178,6 @@ namespace OpenTK.Platform.Windows
get { return mouse_driver; }
}
public override IGamePadDriver GamePadDriver
{
get { return gamepad_driver; }
}
public override IJoystickDriver2 JoystickDriver
{
get { return joystick_driver; }
}
#endregion
}
}