Commit graph

5434 commits

Author SHA1 Message Date
thefiddler bd1fb18836 Use IGamePadDriver through MappedGamePadDriver 2013-12-24 17:16:16 +01:00
Stefanos A. 0a71bbe065 Improved ToString implementation 2013-12-24 17:06:39 +01:00
Stefanos A. 3c6298a1e6 Fixed WinMM offsets for IJoystickDevice2 2013-12-24 16:42:48 +01:00
Stefanos A. 3c1404f0ac Improved WinMMJoystickDriver hotplugging behavior 2013-12-24 15:51:25 +01:00
Stefanos A. 97b8710339 Added state output for OpenTK.Input.Joystick 2013-12-24 15:01:33 +01:00
Stefanos A. 7bab950cc0 Implemented structural equality 2013-12-24 15:01:10 +01:00
Stefanos A. 42e6a96a43 Connected XInput driver 2013-12-24 14:24:42 +01:00
Stefanos A. 062962aeb2 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.
2013-12-24 14:24:29 +01:00
Stefanos A. b9242c006b Added MappedGamePadDriver skeleton implementation 2013-12-24 14:22:03 +01:00
Stefanos A. 5c73a3ea74 Implements JoystickState and Capabilities setters 2013-12-24 14:21:37 +01:00
Stefanos A. 58b67d31e3 No reason to comment out #region License 2013-12-24 12:52:57 +01:00
Stefanos A. dfd6554061 Added internal GamePadMapping class 2013-12-24 12:48:15 +01:00
Stefanos A. 25a0e552f8 Implemented thumbsticks and trigger caps 2013-12-24 12:47:09 +01:00
Stefanos A. 5215891a4f Added IJoystickDevice2 interface 2013-12-24 03:16:32 +01:00
Stefanos A. 78078d0742 Implemented initial XInput IGamePadDriver 2013-12-24 01:37:34 +01:00
Stefanos A. 61e2dc3d86 Added missing left/right triggers 2013-12-24 01:36:44 +01:00
Stefanos A. de362177c5 Removed all instances of refresh_text 2013-12-24 00:15:43 +01:00
Stefanos A. 1d84c1d814 Implemented GamePad Capabilities and Type 2013-12-24 00:15:28 +01:00
Stefanos A. 95c3d00aa2 Refresh text continuously 2013-12-23 22:00:10 +01:00
Stefanos A aebaac8693 Merge branch 'gamepad' of https://github.com/opentk/opentk into gamepad 2013-12-23 20:31:02 +01:00
Stefanos A. f7e2c2ea7c Initial implementation of GamePadTriggers 2013-12-23 20:30:58 +01:00
thefiddler d880366208 Enabled HIDInput IGamePadDriver implementation 2013-12-23 19:19:41 +01:00
Stefanos A. a7db0d76db Implemented GamePad API (WIP) 2013-12-23 01:50:25 +01:00
Stefanos A. f9394b9ba6 Removed unnecessary IsButtonValid method 2013-12-23 01:50:13 +01:00
Stefanos A. c89ddaa225 Display start button in ToString() 2013-12-23 01:49:49 +01:00
Stefanos A. 61f0918544 Fixed rendering of joysticks and gamepads
Joysticks and gamepad states would overlap, causing some lines to be
unreadable. This is now fixed.
2013-12-23 01:29:12 +01:00
Stefanos A. 8350e8e2ce More robust handling of device add/remove events 2013-12-23 00:17:13 +01:00
Stefanos A. 033ba43b70 Fixed expansion of joysticks collection 2013-12-22 23:55:46 +01:00
Stefanos A. 9936fa4cc5 Log errors in subsystem initialization 2013-12-22 23:55:28 +01:00
Stefanos A. c1783c9f26 Reuse Sdl2Factory.InputDriver in Sdl2NativeWindow 2013-12-22 23:54:55 +01:00
Stefanos A. 5958db383d Delay joystick initialization until necessary 2013-12-22 23:13:21 +01:00
Stefanos A. 6d0427b928 Added SDL_InitSubSystem method 2013-12-22 23:12:53 +01:00
Stefanos A. 98b4883efd Fixed x/y axis mixup. 2013-12-22 22:47:50 +01:00
Stefanos A. 16d5055cb1 Cleaned up using directives 2013-12-22 22:34:34 +01:00
Stefanos A. 7016ad3312 Added missing newline 2013-12-22 22:32:24 +01:00
Stefanos A. 1e62821bf1 Implemented GamePadThumbSticks 2013-12-22 22:32:18 +01:00
Stefanos A. 487e67473f Added state information for GamePads 2013-12-22 22:07:40 +01:00
Stefanos A. ef580daf75 More compact string representation 2013-12-22 22:07:30 +01:00
Stefanos A. cbc39f922d Implemented IEquatable<> interface 2013-12-22 22:01:04 +01:00
Stefanos A 7692243cd2 Remove bogus GraphicsMode.Index check. Fixes #22
GraphicsMode.Index is set by the platform-specific context constructor,
which is invoked after the X11GLControl constructor. It does not make
sense to check GraphicsMode.Index in the X11GLControl constructor, as it
is never set at that point.
2013-12-22 20:55:59 +01:00
Stefanos A 12cceacf60 Fixed crash in MakeCurrent(null)
MakeCurrent(null) should set the bound device context to zero.
2013-12-22 14:15:53 +01:00
Stefanos A dbabb6c838 Added WGL_DRAW_TO_WINDOW_ARB flag
Without this flag, OpenGL rendering does not work as expected.

Additionally, all WGL_ARB_pixel_format attributes are expected to be
specified in key-value pairs. Fixed double-buffering and stereoscoping
rendering attributes.
2013-12-22 14:15:52 +01:00
Stefanos A dec02d5534 Improved WGL mode selection
Fixed WGL_ARB_pixel_format attribute selection for doublebuffering,
stereoscopic rendering and hardware acceleration. Implemented
minimization strategy to select the optimal PixelFormatDescriptor in the
fallback path.
2013-12-22 14:15:52 +01:00
Stefanos A dfd90c8a43 Fixed DescribePixelFormatPFD
When using the PFD codepath, we now call DescribePixelFormat to retrieve
an exact interpretation of the pixel format selected by the driver.
2013-12-22 14:15:52 +01:00
Stefanos A 0ad87bec3d Prioritize accelerated formats first
Instead of creating a list of all available formats and iterating
through that, we let the driver decide which is the best accelerated
format to use for the user parameters. If no such format exists, we fall
back to generic acceleration or software acceleration, in turn.

This affects issue #21
2013-12-22 14:15:51 +01:00
Stefanos A 030cf937a0 Turn 1-element array to ref/out param 2013-12-22 14:15:51 +01:00
Stefanos A 98600b0008 Display renderer information 2013-12-22 14:15:50 +01:00
Stefanos A 8b1566b244 Implemented KeyDown and KeyUp messages 2013-12-22 14:15:50 +01:00
Stefanos A 6dc474f595 Clean fix issue #19
Isolate and commit fix for issue #19 without potential for regressions.
2013-12-22 14:15:50 +01:00
Stefanos A 1e4228456f Revert "Fix issue #19"
This reverts commit 2c14ec5f80.
2013-12-22 14:15:49 +01:00