thefiddler
cbb2807959
[Win] Implemented joystick button updates
...
Due to the way we segregate axes from buttons, the easiest approach is
to retrieve the current button state via HidP_GetUsages().
Axes, buttons and hats are now allocated sequentially based on their
order of appearance in the device capability reports.
2014-09-11 12:51:48 +02:00
thefiddler
3fee0bd8d0
[Win] Raw input parsing moved to input drivers
2014-09-11 12:51:48 +02:00
thefiddler
a51a85c517
[Win] Added helper raw input methods
2014-09-11 12:51:48 +02:00
thefiddler
6d54edc389
[Win] Use DeviceCollection. Fix GUID detection
2014-09-11 12:51:48 +02:00
thefiddler
db01cac895
[Common] Use long for device keys
2014-09-11 12:51:48 +02:00
thefiddler
a8aabbf02c
[Win] Made internal struct non-public
2014-09-11 12:51:47 +02:00
thefiddler
8fddf8b669
[Win] Fixed axis/button detection
...
We can now discover button range collections.
2014-09-11 12:51:47 +02:00
thefiddler
f3b3b8860e
[Win] Improved HidP bindings
...
Marked arrays with [In] and [Out] as required. Fixes issues with
axis/button capabilities returning empty results.
Added bindings for link collection node transversal.
2014-09-11 12:51:47 +02:00
thefiddler
131de67459
Fixed minor compilation issues
2014-09-11 12:51:47 +02:00
Stefanos A
30d09a4300
[Win] Cleaned up public region
2014-09-11 12:51:47 +02:00
Stefanos A
9a25ddc14d
[Win] Corrected GetRawInputData invocation
2014-09-11 12:51:47 +02:00
Stefanos A
97b0275aa4
[Win] Removed WinMM joystick driver
2014-09-11 12:51:47 +02:00
Stefanos A
cec48ab20a
[Win] Completed raw input IJoystickDriver2
...
For improved safety, we are now using managed memory buffers instead of
stack allocations and pointers.
2014-09-11 12:51:47 +02:00
Stefanos A
f6b382c929
[Win] Reduce duplication in device enumeration
2014-09-11 12:51:47 +02:00
Stefanos A
e38fc0dff7
[Input] Added JoystickCapabilities.SetIsConnected
2014-09-11 12:51:47 +02:00
Stefanos A
27e80fcc9e
[Win] Completed WinRawJoystick implementation
2014-09-11 12:51:46 +02:00
Stefanos A
956691de31
[Win] Fixed RawHID struct definition
2014-09-11 12:51:46 +02:00
Stefanos A
94476b930e
[Common] Moved axis translation to common
2014-09-11 12:51:46 +02:00
Stefanos A
85e6b9f9ad
[Win] Wrapped additional HID APIs
2014-09-11 12:51:46 +02:00
Stefanos A
2c197f09e1
[Win] Cleanup Raw Input HID usage/pages
2014-09-11 12:51:46 +02:00
Stefanos A
cac96bbaf9
[Common] Cleaned up comments
2014-09-11 12:51:46 +02:00
Stefanos A
dc357604df
[Win] Added HidProtocol binding
2014-09-11 12:51:46 +02:00
Stefanos A
178305e1c1
[Common] Added HID usage page definitions
2014-09-11 12:51:46 +02:00
Stefanos A
18c02db7b0
[Win] Initial implementation of WinRawJoystick
2014-09-11 12:51:46 +02:00
Stefanos A
9cf3deea8c
[Win] Improve WinMM.GetCapabilities performance
...
Polling joyGetCaps is very very slow, so we should not do that every
time GetCapabilities is called. Instead, we should call joyGetCaps once
and cache the results.
We need to find a different way to implement hotplugging.
2014-09-11 12:51:46 +02:00
Stefanos A
c3b289ee9b
[Win] Implemented XInput vibration support
2014-09-11 12:51:46 +02:00
Stefanos A
06e63946cc
[Win] Separate keyboard/mouse & joystick drivers
...
Keyboard/mouse support comes through WinRawInput; joystick support
through CombinedJoystickDriver. These drivers are now instantiated
separately.
2014-09-11 12:51:45 +02:00
Stefanos A
5cfde8ff0f
[Win] Added combined XInput+WinMM joystick driver
...
Joystick devices will be queried through XInput first, with a fallback
to WinMM in case they are not recognized by the newer API.
2014-09-11 12:51:45 +02:00
Stefanos A
14d07a5952
[Win] Corrected XInput Guid in gamepad database
...
All XInput devices expose the same button layout, so they only need a
single entry in the gamepad configuration database.
2014-09-11 12:51:45 +02:00
Stefanos A
765ad9e05b
[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.
2014-09-11 12:51:45 +02:00
Stefanos A
8968f7ff38
[Win] XInputJoystick is now IJoystickDriver2
...
The IGamePadDriver interface is now implemented using
MappedGamePadDriver on all platforms. This minimizes code duplication
and simplifies all input driver implementations, since we only need
backends for IJoystickDriver2.
2014-09-11 12:51:45 +02:00
Stefanos A
0e72cb3dd2
[OpenTK] Removed unused CreateGraphicsMode API
...
IPlatformFactory.CreateGraphicsMode is no longer used or required.
2014-09-11 12:51:45 +02:00
thefiddler
d6d6842730
Merge pull request #178 from thefiddler/mac_crash
...
[Mac] Avoid crash when combining with MonoMac/Xamarin.Mac
2014-09-11 12:42:20 +02:00
thefiddler
73fd8aca35
Merge pull request #179 from thefiddler/issue152
...
[ES][GL] Fix GetObjectLabel marked obsolete
2014-09-11 12:42:12 +02:00
thefiddler
1bba544cbe
[ES][GL] Fix GetObjectLabel marked obsolete
...
Fixes issue #152
2014-09-11 12:34:35 +02:00
thefiddler
6292ad4160
[Mac] Avoid calling finishLaunching multiple times
2014-09-11 12:21:05 +02:00
thefiddler
1080dec04d
[Mac] Do not modify existing mainMenu
...
If an application already has a custom main menu, avoid overwriting
that in OpenTK.
2014-09-11 12:07:53 +02:00
thefiddler
05e40b6f09
Merge pull request #177 from thefiddler/gw_input
...
[Input] Added GameWindow.Mouse/Keyboard.GetState()
2014-09-11 09:33:07 +02:00
thefiddler
00f2d94b67
Merge pull request #166 from thefiddler/gl45
...
[GL] Add OpenGL 4.5 support
2014-09-11 09:32:13 +02:00
thefiddler
c6989395df
[Input] Added GameWindow.Mouse/Keyboard.GetState()
...
GameWindow.Mouse/Keyboard hide OpenTK.Input.Mouse/Keyboard.
To simplify usage, the former now provide the same methods
as the latter.
2014-09-11 01:03:24 +02:00
thefiddler
410c06112a
[API] Fixed tests for nested types
2014-09-11 00:00:16 +02:00
thefiddler
978e2ccebb
[Convert] Update to v4.5 by default
2014-09-10 23:29:30 +02:00
thefiddler
a9f1b90997
[API] Update test to cover extensions
2014-09-10 23:29:15 +02:00
thefiddler
1c76024938
[ES][GL] Maintain compatibility with 1.1.4
2014-09-10 23:29:03 +02:00
thefiddler
51a11092eb
[GL] Sync signatures with OpenGL 4.5
2014-09-03 20:56:43 +02:00
thefiddler
b9235e1b4c
[Bind] Remove default debug parameter
2014-09-03 20:55:42 +02:00
thefiddler
3805c3ad63
[Bind] Minor debug message beautification
2014-09-03 20:55:25 +02:00
thefiddler
a05ffb8654
[Bind] Hardcode some common OpenGL IHV names
...
These names are present in ES enums, even if no function uses them. We
need them for backwards-compatibility.
2014-09-02 13:04:14 +02:00
thefiddler
d036c50a15
[Bind] Use ES/1.1/obsolete.xml
2014-09-02 13:04:14 +02:00
thefiddler
1ef9b85e9a
[ES] Moved some ES 1.1 to ES/1.1/obsolete.xml
2014-09-02 13:04:14 +02:00