Stefanos A
15c01d0d5c
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 17:18:04 +01:00
Stefanos A
165aa5bde6
Added MappedGamePadDriver skeleton implementation
2013-12-24 17:18:04 +01:00
Stefanos A
02fb6bf2f9
Implements JoystickState and Capabilities setters
2013-12-24 17:18:04 +01:00
Stefanos A
91b54cfbf3
No reason to comment out #region License
2013-12-24 17:18:04 +01:00
Stefanos A
52daef4b0d
Added internal GamePadMapping class
2013-12-24 17:18:04 +01:00
Stefanos A
2839db587e
Implemented thumbsticks and trigger caps
2013-12-24 17:18:04 +01:00
Stefanos A
7e5307bd4a
Added IJoystickDevice2 interface
2013-12-24 17:18:03 +01:00
Stefanos A
e2d86fdf52
Implemented initial XInput IGamePadDriver
2013-12-24 17:18:03 +01:00
Stefanos A
b62f5993d4
Added missing left/right triggers
2013-12-24 17:18:03 +01:00
Stefanos A
ddc52ce135
Implemented GamePad Capabilities and Type
2013-12-24 17:18:03 +01:00
Stefanos A
dd648a8362
Initial implementation of GamePadTriggers
2013-12-24 17:18:03 +01:00
thefiddler
8f7eebb58d
Enabled HIDInput IGamePadDriver implementation
2013-12-24 17:18:02 +01:00
Stefanos A
5d88a8daf4
Implemented GamePad API (WIP)
2013-12-24 17:18:02 +01:00
Stefanos A
0875cbd928
Removed unnecessary IsButtonValid method
2013-12-24 17:18:02 +01:00
Stefanos A
1adc3f7733
Display start button in ToString()
2013-12-24 17:18:02 +01:00
Stefanos A
44351a03c4
More robust handling of device add/remove events
2013-12-24 17:18:02 +01:00
Stefanos A
31ce400a7e
Fixed expansion of joysticks collection
2013-12-24 17:18:02 +01:00
Stefanos A
2f1a81da2c
Log errors in subsystem initialization
2013-12-24 17:18:02 +01:00
Stefanos A
1d61bd9dd2
Reuse Sdl2Factory.InputDriver in Sdl2NativeWindow
2013-12-24 17:18:01 +01:00
Stefanos A
a72d70c3d0
Delay joystick initialization until necessary
2013-12-24 17:18:01 +01:00
Stefanos A
3660509dee
Added SDL_InitSubSystem method
2013-12-24 17:18:01 +01:00
Stefanos A
4a13415fc6
Fixed x/y axis mixup.
2013-12-24 17:18:01 +01:00
Stefanos A
1ba5fd4380
Cleaned up using directives
2013-12-24 17:18:01 +01:00
Stefanos A
76a35c0b91
Added missing newline
2013-12-24 17:18:01 +01:00
Stefanos A
91d248ad29
Implemented GamePadThumbSticks
2013-12-24 17:18:01 +01:00
Stefanos A
0c10f29bd8
More compact string representation
2013-12-24 17:18:00 +01:00
Stefanos A
1acf8a807b
Implemented IEquatable<> interface
2013-12-24 17:18:00 +01:00
thefiddler
2bf024a912
Implemented new GamePad interface (WIP)
2013-12-24 17:18:00 +01:00
thefiddler
ecd04a3cad
Implemented GamePadButtons
2013-12-24 17:18:00 +01:00
thefiddler
484af18673
Updated internal IGamePadDriver interface
2013-12-24 17:18:00 +01:00
thefiddler
ee65f81f56
Implemented GameController API bindings
2013-12-24 17:18:00 +01:00
thefiddler
d9985fc571
Use SDL2 event API for joystick devices
2013-12-24 17:18:00 +01:00
thefiddler
022e5c845c
Implemented SDL2 Joystick and GameController events
2013-12-24 17:17:59 +01:00
thefiddler
d7fefe495e
Removed unused constructors
2013-12-23 21:43:17 +01:00
thefiddler
95270c877d
Added Compositing and FrameworkScaled flags
2013-12-23 21:42:16 +01:00
thefiddler
1189b33ed5
Fixed OpenTK/Carbon key repeat behavior to match the other backends
2013-12-23 20:40:27 +01:00
thefiddler
c13d80d6d8
Fixed GameWindow.{Bounds, Location, Size, X, Y} setters on OpenTK/Carbon
2013-12-23 20:21:02 +01:00
thefiddler
c6a21a2239
Implemented KeyDown & KeyUp events on OpenTK/Carbon
2013-12-23 19:32:16 +01:00
Stefanos A.
30cd9cb7f8
Fixed crash in MakeCurrent(null)
...
MakeCurrent(null) should set the bound device context to zero.
2013-12-22 11:10:05 +01:00
Stefanos A.
0a46e20029
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 10:35:05 +01:00
Stefanos A.
a2744719d5
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 09:20:40 +01:00
Stefanos A.
956bbe6491
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-21 23:35:55 +01:00
Stefanos A.
1723be8a8b
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-21 22:43:35 +01:00
Stefanos A.
a7ae4bb038
Turn 1-element array to ref/out param
2013-12-21 22:41:35 +01:00
Stefanos A.
0c990583a3
Implemented KeyDown and KeyUp messages
2013-12-21 00:50:25 +01:00
Stefanos A.
42ce028bbf
Clean fix issue #19
...
Isolate and commit fix for issue #19 without potential for regressions.
2013-12-21 00:43:05 +01:00
Stefanos A
e1619a8ad3
Revert "Fix issue #19 "
...
This reverts commit 2c14ec5f80
.
2013-12-21 00:41:55 +01:00
Stefanos A.
2c14ec5f80
Fix issue #19
...
Don't filter window messages passed to our window (see
http://blogs.msdn.com/b/oldnewthing/archive/2005/02/09/369804.aspx ).
Additionally, return the correct values for all messages we are actually
handling and clean up unmanaged memory after we are done with the
window.
2013-12-20 23:31:42 +01:00
Stefanos A.
b941a8f06b
Explicitly set WindowProcedure calling convention
2013-12-20 23:29:47 +01:00
Stefanos A.
2ddd555aaf
Simplify ProcessEvents implementation
...
Instead of combining PeekMessage+GetMessage, we can simply call
PeekMessage(Remove) to achieve the same effect. This also allows us to
remove the IsIdle property, which is no longer used anywhere.
2013-12-20 08:42:36 +01:00