thefiddler [Mon, 30 Dec 2013 16:09:20 +0000 (17:09 +0100)]
[SDL2] Fix issue where changes to mutable struct were lost
thefiddler [Mon, 30 Dec 2013 16:08:42 +0000 (17:08 +0100)]
[SDL2] Explicitly enable joystick and gamepad events
thefiddler [Mon, 30 Dec 2013 15:07:06 +0000 (16:07 +0100)]
[Input] Buttons should have [Flags] attribute
Stefanos A. [Mon, 30 Dec 2013 14:24:48 +0000 (15:24 +0100)]
[SDL2] Fixed joystick hotplugging
SDL2 uses a weird system of device ids and instance ids to report
joystick events, where the ADDED event uses a device id and the rest use
instance ids.
The SDL2 joystick driver is now fixed to correctly distinguish between
the two, which fixes hotplugging support for joystick devices.
thefiddler [Mon, 30 Dec 2013 13:57:28 +0000 (14:57 +0100)]
[SDL2] Fixed mapping of instance ids to device ids
thefiddler [Mon, 30 Dec 2013 13:56:22 +0000 (14:56 +0100)]
[Input] Added missing closing brace in ToString() message
thefiddler [Mon, 30 Dec 2013 12:49:26 +0000 (13:49 +0100)]
[Input] Fixed incorrect variable name
thefiddler [Mon, 30 Dec 2013 12:42:37 +0000 (13:42 +0100)]
[SDL] Use TranslateAxis() to decode ControllerAxisEvent
SDL GameControllerAxis and GamePadAxes are not interchangeable. The
driver will now correctly interpret incoming SDL messages and update
the GamePadState for the relevant axis.
thefiddler [Mon, 30 Dec 2013 12:39:43 +0000 (13:39 +0100)]
[Input] Fixed GamePadState.SetAxis() implementation
GamePadState.SetAxis() receives a GamePadAxes enumeration, which is a
bitmask of the axes we wish to set. SetAxis now correctly decodes the
bitmask to apply the values we are interested in.
thefiddler [Wed, 25 Dec 2013 00:47:27 +0000 (01:47 +0100)]
IsButtonBind should check for buttons, not axes
thefiddler [Tue, 24 Dec 2013 18:15:23 +0000 (19:15 +0100)]
Implemented SDL IJoystickDriver2 and IGamePadDriver
thefiddler [Tue, 24 Dec 2013 18:14:54 +0000 (19:14 +0100)]
Added GameControllerGetBind APIs
thefiddler [Tue, 24 Dec 2013 18:14:35 +0000 (19:14 +0100)]
Removed duplicate button types
thefiddler [Tue, 24 Dec 2013 16:18:20 +0000 (17:18 +0100)]
Merge branch 'gamepad' of https://github.com/opentk/opentk into gamepad
thefiddler [Tue, 24 Dec 2013 16:16:16 +0000 (17:16 +0100)]
Use IGamePadDriver through MappedGamePadDriver
Stefanos A [Tue, 24 Dec 2013 16:06:39 +0000 (17:06 +0100)]
Improved ToString implementation
Stefanos A [Tue, 24 Dec 2013 15:42:48 +0000 (16:42 +0100)]
Fixed WinMM offsets for IJoystickDevice2
Stefanos A [Tue, 24 Dec 2013 14:51:25 +0000 (15:51 +0100)]
Improved WinMMJoystickDriver hotplugging behavior
Stefanos A [Tue, 24 Dec 2013 14:01:33 +0000 (15:01 +0100)]
Added state output for OpenTK.Input.Joystick
Stefanos A [Tue, 24 Dec 2013 14:01:10 +0000 (15:01 +0100)]
Implemented structural equality
Stefanos A [Tue, 24 Dec 2013 13:24:42 +0000 (14:24 +0100)]
Connected XInput driver
Stefanos A [Tue, 24 Dec 2013 13:24:29 +0000 (14:24 +0100)]
WinMMJoystick implements IJoystickDriver2
WinMM is optimized for general joystick use, not for the canonical
GamePad layout. Instead of exposing IGamePadDriver directly, it should
expose IJoystickDriver2 and use a mapping driver to get GamePad support.
Stefanos A [Tue, 24 Dec 2013 13:22:03 +0000 (14:22 +0100)]
Added MappedGamePadDriver skeleton implementation
Stefanos A [Tue, 24 Dec 2013 13:21:37 +0000 (14:21 +0100)]
Implements JoystickState and Capabilities setters
Stefanos A [Tue, 24 Dec 2013 11:52:57 +0000 (12:52 +0100)]
No reason to comment out #region License
Stefanos A [Tue, 24 Dec 2013 11:48:15 +0000 (12:48 +0100)]
Added internal GamePadMapping class
Stefanos A [Tue, 24 Dec 2013 11:47:09 +0000 (12:47 +0100)]
Implemented thumbsticks and trigger caps
Stefanos A [Tue, 24 Dec 2013 02:16:32 +0000 (03:16 +0100)]
Added IJoystickDevice2 interface
Stefanos A [Tue, 24 Dec 2013 00:37:34 +0000 (01:37 +0100)]
Implemented initial XInput IGamePadDriver
Stefanos A [Tue, 24 Dec 2013 00:36:44 +0000 (01:36 +0100)]
Added missing left/right triggers
Stefanos A [Mon, 23 Dec 2013 23:15:43 +0000 (00:15 +0100)]
Removed all instances of refresh_text
Stefanos A [Mon, 23 Dec 2013 23:15:28 +0000 (00:15 +0100)]
Implemented GamePad Capabilities and Type
Stefanos A [Mon, 23 Dec 2013 21:00:10 +0000 (22:00 +0100)]
Refresh text continuously
Stefanos A [Mon, 23 Dec 2013 19:30:58 +0000 (20:30 +0100)]
Initial implementation of GamePadTriggers
thefiddler [Mon, 23 Dec 2013 18:19:41 +0000 (19:19 +0100)]
Enabled HIDInput IGamePadDriver implementation
Stefanos A [Mon, 23 Dec 2013 00:50:25 +0000 (01:50 +0100)]
Implemented GamePad API (WIP)
Stefanos A [Mon, 23 Dec 2013 00:50:13 +0000 (01:50 +0100)]
Removed unnecessary IsButtonValid method
Stefanos A [Mon, 23 Dec 2013 00:49:49 +0000 (01:49 +0100)]
Display start button in ToString()
Stefanos A [Mon, 23 Dec 2013 00:29:12 +0000 (01:29 +0100)]
Fixed rendering of joysticks and gamepads
Joysticks and gamepad states would overlap, causing some lines to be
unreadable. This is now fixed.
Stefanos A [Sun, 22 Dec 2013 23:17:13 +0000 (00:17 +0100)]
More robust handling of device add/remove events
Stefanos A [Sun, 22 Dec 2013 22:55:46 +0000 (23:55 +0100)]
Fixed expansion of joysticks collection
Stefanos A [Sun, 22 Dec 2013 22:55:28 +0000 (23:55 +0100)]
Log errors in subsystem initialization
Stefanos A [Sun, 22 Dec 2013 22:54:55 +0000 (23:54 +0100)]
Reuse Sdl2Factory.InputDriver in Sdl2NativeWindow
Stefanos A [Sun, 22 Dec 2013 22:13:21 +0000 (23:13 +0100)]
Delay joystick initialization until necessary
Stefanos A [Sun, 22 Dec 2013 22:12:53 +0000 (23:12 +0100)]
Added SDL_InitSubSystem method
Stefanos A [Sun, 22 Dec 2013 21:47:50 +0000 (22:47 +0100)]
Fixed x/y axis mixup.
Stefanos A [Sun, 22 Dec 2013 21:34:34 +0000 (22:34 +0100)]
Cleaned up using directives
Stefanos A [Sun, 22 Dec 2013 21:32:24 +0000 (22:32 +0100)]
Added missing newline
Stefanos A [Sun, 22 Dec 2013 21:32:18 +0000 (22:32 +0100)]
Implemented GamePadThumbSticks
Stefanos A [Sun, 22 Dec 2013 21:07:40 +0000 (22:07 +0100)]
Added state information for GamePads
Stefanos A [Sun, 22 Dec 2013 21:07:30 +0000 (22:07 +0100)]
More compact string representation
Stefanos A [Sun, 22 Dec 2013 21:01:04 +0000 (22:01 +0100)]
Implemented IEquatable<> interface
thefiddler [Thu, 19 Dec 2013 15:28:20 +0000 (16:28 +0100)]
Implemented new GamePad interface (WIP)
thefiddler [Thu, 19 Dec 2013 15:27:57 +0000 (16:27 +0100)]
Implemented GamePadButtons
thefiddler [Thu, 19 Dec 2013 15:27:26 +0000 (16:27 +0100)]
Updated internal IGamePadDriver interface
thefiddler [Thu, 19 Dec 2013 09:42:12 +0000 (10:42 +0100)]
Implemented GameController API bindings
thefiddler [Wed, 18 Dec 2013 16:16:29 +0000 (17:16 +0100)]
Use SDL2 event API for joystick devices
thefiddler [Wed, 18 Dec 2013 14:50:59 +0000 (15:50 +0100)]
Implemented SDL2 Joystick and GameController events
thefiddler [Tue, 24 Dec 2013 16:16:16 +0000 (17:16 +0100)]
Use IGamePadDriver through MappedGamePadDriver
Stefanos A. [Tue, 24 Dec 2013 16:06:39 +0000 (17:06 +0100)]
Improved ToString implementation
Stefanos A. [Tue, 24 Dec 2013 15:42:48 +0000 (16:42 +0100)]
Fixed WinMM offsets for IJoystickDevice2
Stefanos A. [Tue, 24 Dec 2013 14:51:25 +0000 (15:51 +0100)]
Improved WinMMJoystickDriver hotplugging behavior
Stefanos A. [Tue, 24 Dec 2013 14:01:33 +0000 (15:01 +0100)]
Added state output for OpenTK.Input.Joystick
Stefanos A. [Tue, 24 Dec 2013 14:01:10 +0000 (15:01 +0100)]
Implemented structural equality
Stefanos A. [Tue, 24 Dec 2013 13:24:42 +0000 (14:24 +0100)]
Connected XInput driver
Stefanos A. [Tue, 24 Dec 2013 13:24:29 +0000 (14:24 +0100)]
WinMMJoystick implements IJoystickDriver2
WinMM is optimized for general joystick use, not for the canonical
GamePad layout. Instead of exposing IGamePadDriver directly, it should
expose IJoystickDriver2 and use a mapping driver to get GamePad support.
Stefanos A. [Tue, 24 Dec 2013 13:22:03 +0000 (14:22 +0100)]
Added MappedGamePadDriver skeleton implementation
Stefanos A. [Tue, 24 Dec 2013 13:21:37 +0000 (14:21 +0100)]
Implements JoystickState and Capabilities setters
Stefanos A. [Tue, 24 Dec 2013 11:52:57 +0000 (12:52 +0100)]
No reason to comment out #region License
Stefanos A. [Tue, 24 Dec 2013 11:48:15 +0000 (12:48 +0100)]
Added internal GamePadMapping class
Stefanos A. [Tue, 24 Dec 2013 11:47:09 +0000 (12:47 +0100)]
Implemented thumbsticks and trigger caps
Stefanos A. [Tue, 24 Dec 2013 02:16:32 +0000 (03:16 +0100)]
Added IJoystickDevice2 interface
Stefanos A. [Tue, 24 Dec 2013 00:37:34 +0000 (01:37 +0100)]
Implemented initial XInput IGamePadDriver
Stefanos A. [Tue, 24 Dec 2013 00:36:44 +0000 (01:36 +0100)]
Added missing left/right triggers
Stefanos A. [Mon, 23 Dec 2013 23:15:43 +0000 (00:15 +0100)]
Removed all instances of refresh_text
Stefanos A. [Mon, 23 Dec 2013 23:15:28 +0000 (00:15 +0100)]
Implemented GamePad Capabilities and Type
Stefanos A. [Mon, 23 Dec 2013 21:00:10 +0000 (22:00 +0100)]
Refresh text continuously
thefiddler [Mon, 23 Dec 2013 20:43:17 +0000 (21:43 +0100)]
Removed unused constructors
thefiddler [Mon, 23 Dec 2013 20:42:16 +0000 (21:42 +0100)]
Added Compositing and FrameworkScaled flags
thefiddler [Mon, 23 Dec 2013 19:40:27 +0000 (20:40 +0100)]
Fixed OpenTK/Carbon key repeat behavior to match the other backends
Stefanos A [Mon, 23 Dec 2013 19:31:02 +0000 (20:31 +0100)]
Merge branch 'gamepad' of https://github.com/opentk/opentk into gamepad
Stefanos A. [Mon, 23 Dec 2013 19:30:58 +0000 (20:30 +0100)]
Initial implementation of GamePadTriggers
thefiddler [Mon, 23 Dec 2013 19:21:02 +0000 (20:21 +0100)]
Fixed GameWindow.{Bounds, Location, Size, X, Y} setters on OpenTK/Carbon
thefiddler [Mon, 23 Dec 2013 18:32:16 +0000 (19:32 +0100)]
Implemented KeyDown & KeyUp events on OpenTK/Carbon
thefiddler [Mon, 23 Dec 2013 18:19:41 +0000 (19:19 +0100)]
Enabled HIDInput IGamePadDriver implementation
Stefanos A. [Mon, 23 Dec 2013 00:50:25 +0000 (01:50 +0100)]
Implemented GamePad API (WIP)
Stefanos A. [Mon, 23 Dec 2013 00:50:13 +0000 (01:50 +0100)]
Removed unnecessary IsButtonValid method
Stefanos A. [Mon, 23 Dec 2013 00:49:49 +0000 (01:49 +0100)]
Display start button in ToString()
Stefanos A. [Mon, 23 Dec 2013 00:29:12 +0000 (01:29 +0100)]
Fixed rendering of joysticks and gamepads
Joysticks and gamepad states would overlap, causing some lines to be
unreadable. This is now fixed.
Stefanos A. [Sun, 22 Dec 2013 23:17:13 +0000 (00:17 +0100)]
More robust handling of device add/remove events
Stefanos A. [Sun, 22 Dec 2013 22:55:46 +0000 (23:55 +0100)]
Fixed expansion of joysticks collection
Stefanos A. [Sun, 22 Dec 2013 22:55:28 +0000 (23:55 +0100)]
Log errors in subsystem initialization
Stefanos A. [Sun, 22 Dec 2013 22:54:55 +0000 (23:54 +0100)]
Reuse Sdl2Factory.InputDriver in Sdl2NativeWindow
Stefanos A. [Sun, 22 Dec 2013 22:13:21 +0000 (23:13 +0100)]
Delay joystick initialization until necessary
Stefanos A. [Sun, 22 Dec 2013 22:12:53 +0000 (23:12 +0100)]
Added SDL_InitSubSystem method
Stefanos A. [Sun, 22 Dec 2013 21:47:50 +0000 (22:47 +0100)]
Fixed x/y axis mixup.
Stefanos A. [Sun, 22 Dec 2013 21:34:34 +0000 (22:34 +0100)]
Cleaned up using directives
Stefanos A. [Sun, 22 Dec 2013 21:32:24 +0000 (22:32 +0100)]
Added missing newline
Stefanos A. [Sun, 22 Dec 2013 21:32:18 +0000 (22:32 +0100)]
Implemented GamePadThumbSticks
Stefanos A. [Sun, 22 Dec 2013 21:07:40 +0000 (22:07 +0100)]
Added state information for GamePads