thefiddler
3757db9978
[Input] Allow extending JoystickDevice<>
2014-01-05 00:46:59 +01:00
thefiddler
3a63496b6d
Merge branch 'gamepad' into develop
...
Conflicts:
Source/OpenTK/OpenTK.csproj
2014-01-03 02:23:02 +01:00
thefiddler
53552b0070
[Input] Corrected malformed documentation comments
2014-01-03 02:17:42 +01:00
thefiddler
3095afa18a
[Input] Documented all public members
2014-01-03 01:58:16 +01:00
thefiddler
b35aad1503
[Input] Removed JoystickState.GetAxis(int) overload
2014-01-03 01:58:08 +01:00
thefiddler
8649e4a044
[Input] Added SetVibration() API skeleton
2014-01-02 19:52:00 +01:00
thefiddler
ec43b9ff85
[Input] GamePad and Joystick classes should be sealed
2014-01-02 19:27:04 +01:00
thefiddler
1ccf7e5ad2
[Input] Added PacketNumber property
2014-01-02 19:24:15 +01:00
thefiddler
d49af2787f
[Input] Simplified configuration parser and added GetEnumerator()
2014-01-02 18:37:20 +01:00
thefiddler
8f00bbc9f2
[Input] Added internal Joystick.GetAxisRaw() method
2014-01-02 18:36:27 +01:00
thefiddler
0593ea62e6
[Input] Added Source and Target to GamePadConfigurationItem
2014-01-02 18:36:09 +01:00
thefiddler
bf5d2a738d
[Input] Made configuration database non-static
2014-01-02 02:42:51 +01:00
thefiddler
a8fb977017
[Input] Initialize JoystickDevice.Details in constructor
2014-01-02 02:20:25 +01:00
thefiddler
fb57a9062d
[Input] Renamed GamePadMap to GamePadConfiguration
2014-01-02 01:38:12 +01:00
thefiddler
c2c76f2ab2
[Input] Made the Name property public
...
We can use the name property to implement a hypothetical
GamePad.GetName() method in the future.
2014-01-02 01:33:57 +01:00
thefiddler
b056a50e73
[Input] Added xml documentation for GamePadCapabilities
2014-01-02 01:33:08 +01:00
thefiddler
f0fbb26efe
[Input] Added ability to parse SDL configuration db strings
2014-01-02 01:07:21 +01:00
thefiddler
5e75fac056
[Input] Added configuration db for GamePads
...
The database is based on the SDL bindings found at
https://hg.libsdl.org/SDL/file/b744b3f8754b/src/joystick/SDL_gamecontrol
lerdb.h
2014-01-02 01:06:47 +01:00
thefiddler
b9a8e365de
[Input] Added IJoystickDriver2.GetGuid() API
2013-12-31 14:09:17 +01:00
thefiddler
ef7f31099d
[Input] Removed unnecessary #region
2013-12-31 01:02:07 +01:00
thefiddler
7d4d116ce9
[Input] Renamed GamePadMapping to GamePadMap
2013-12-31 01:01:52 +01:00
thefiddler
2d303a6884
[Input] Buttons should have [Flags] attribute
2013-12-30 16:07:06 +01:00
thefiddler
a4366e52f5
[Input] Added missing closing brace in ToString() message
2013-12-30 14:56:22 +01:00
thefiddler
064a45e4a7
[Input] Fixed incorrect variable name
2013-12-30 13:49:26 +01:00
thefiddler
e997ddf9c6
[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.
2013-12-30 13:39:43 +01:00
thefiddler
ab8796c942
[Input] Do not crash with scancodes > 255
2013-12-27 11:10:41 +01:00
thefiddler
6fc679c4ba
Removed duplicate button types
2013-12-24 19:14:35 +01:00
Stefanos A
7fd7b8c7a2
Improved ToString implementation
2013-12-24 17:18:05 +01:00
Stefanos A
82a2c9113c
Implemented structural equality
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
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
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
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
Stefanos A
5a2fc1e411
Added missing doc comment
2013-11-08 15:33:41 +01:00
thefiddler
8dcb8601a2
Normalized line endings
...
Hopefully this is the first and last time we have to do this.
2013-10-11 01:58:54 +02:00
Stefanos A.
4dceea9e21
Added common key aliases
2013-10-03 20:52:02 +02:00
Stefanos A
a85cecdc59
Improved resource disposal
...
Added IDisposable interface to all classes holding native data that must be freed. OpenTK.Toolkit.Init() now returns an IDisposable instance that can be used to cleanup all native data held by OpenTK. This is useful when re-initializing OpenTK (possibly in a new AppDomain), as is the case in the Example browser.
2013-10-01 22:01:27 +02:00
Stefanos A.
fc8b3810e9
Fixed documentation comment
2013-09-30 13:48:12 +02:00
Andy Korth
f38e717601
Fix for github issue 13, terrible crash on Keyboard GetState
2013-06-04 16:02:37 -05:00
Andy Korth
0f64af130a
Committing artfunkel patch for scan codes
2013-01-24 15:48:01 -06:00
Robert Rouhani
bf1401e115
Fixed the issues caused by merging in our changes as patches from the old repo.
2013-01-16 18:08:03 -08:00
Robert Rouhani
819c02c445
More hacking for gamepads
2013-01-16 17:59:52 -08:00
Robert Rouhani
b5591e1eee
Started implementing GamePad
2013-01-16 17:56:31 -08:00
the_fiddler
4fde3c4dab
Added conditional compilation and the necessary classes to compile OpenTK without referencing System.Drawing.dll. To build without System.Drawing, add "MINIMAL" to the conditional compilation symbols. Note that this is an experimental feature that will result in a source- and binary-incompatible dll.
2011-12-08 00:03:14 +00:00
the_fiddler
96cef32bfc
Added documentation for IsConnected and added (disabled) IsLedOn/IsLedOff methods.
2010-12-03 12:40:10 +00:00
the_fiddler
14d96ccfc9
Disabled GetDeviceName until the correct cross-platform API can be determined.
2010-12-03 12:39:42 +00:00
the_fiddler
07cbb9dd8b
* Input/Mouse.cs:
...
* Input/IMouseDriver2.cs:
* Platform/X11/X11Mouse.cs:
* Platform/X11/XI2Mouse.cs:
* Platform/X11/Functions.cs:
* Platform/Windows/WMInput.cs:
* Platform/X11/X11GLNative.cs:
* Platform/Windows/WinRawMouse.cs: Added ability to set the position
of the mouse cursor.
[X11] Avoid grabbing the pointer, as this causes unexpected
side-effects (XInput2 stops working, debugging becomes difficult).
We now use XWarpPointer and try to discard the spurious MouseMove
events it generates.
[X11] Make cursor visible when window loses focus, to make debugging
easier. Restore previous state when it regains focus.
2010-11-23 17:17:13 +00:00
the_fiddler
9cd32011bf
Trivial cosmetic fix.
2010-11-08 21:46:55 +00:00
the_fiddler
2c5e7220c3
Implemented KeyboardState.IsConnected property.
...
Implemented WinRawKeyboard.RefreshDevices().
General code clean-up and beautification.
2010-10-29 11:46:57 +00:00
the_fiddler
eba9fef913
Added missing files to SVN.
2010-10-29 11:46:09 +00:00
the_fiddler
2934c9d004
Decoupled new driver API from old public interface.
...
WinRawMouse can now detect mouse disconnection/connection events.
2010-10-29 11:27:40 +00:00
the_fiddler
0044e4442d
Modified GetState() to return the combined state for all mouse/keyboard devices.
2010-10-28 11:10:57 +00:00
the_fiddler
a7427707ef
Added argument validation for GetState(index) and serializes access to GetState() implementation. Clarified GetState() documentation to explain that it returns combined device state.
2010-10-28 11:10:19 +00:00
the_fiddler
330053de1e
Fixed malformed documentation comments.
2010-10-28 09:00:53 +00:00
the_fiddler
cd074040e3
Implemented equality operators.
2010-10-28 08:41:48 +00:00
the_fiddler
1657bcad91
Always validate parameters to ReadBit/EnableBit/DisableBit before using them.
2010-10-28 08:14:28 +00:00
the_fiddler
2430f82ff7
Implemented raw keyboard input for Windows. Improved the interface for receiving input. Moved raw input window to its own thread.
2010-10-22 14:57:06 +00:00
the_fiddler
c7d8fb882a
Removed fixed expression that caused compilation error on VS2010 (but not Mono 2.6.7).
2010-10-22 08:16:37 +00:00
the_fiddler
d49b315ced
* Input/Mouse.cs:
...
* Platform/X11/X11Mouse.cs:
* Platform/X11/XI2Mouse.cs: Added internal list of mouse devices in
preparation for multi-mouse support.
2010-10-21 14:53:10 +00:00
the_fiddler
671457b60a
* OpenTK.csproj:
...
* Input/MouseState.cs:
* Platform/X11/Structs.cs:
* Platform/X11/XI2Mouse.cs:
* Platform/X11/Functions.cs:
* Platform/X11/X11Factory.cs: Added XInput2 driver for mice.
Multi-mouse support pending.
* Platform/X11/X11Mouse.cs: Log the driver type for debugging
purposes.
2010-10-21 12:32:00 +00:00
the_fiddler
7947cad6f8
* OpenTK.csproj:
...
* Input/MouseState.cs:
* Input/ButtonState.cs:
* Platform/X11/X11Mouse.cs:
* Platform/X11/X11Factory.cs: Added initial implementation of
OpenTK.Input.Mouse for X11.
2010-10-21 07:56:37 +00:00
the_fiddler
07671251c5
* Input/MouseState.cs: Implemented MouseState structure.
2010-10-20 15:14:38 +00:00
the_fiddler
239ba3ff2b
* Input/KeyboardState.cs: Fixed the amount of storage for keyboard
...
keys (the code would allocate one less int than necessary when
"number of keys % 32" falls between 1 and 15).
Fixed the implementation of the Equals method to compare the two
instances (instead of comparing this instance against itself).
2010-10-20 15:14:26 +00:00
the_fiddler
86588ea60c
* Source/OpenTK/Input/Mouse.cs:
...
* Source/OpenTK/Platform/Factory.cs:
* Source/OpenTK/Input/InputDriver.cs:
* Source/OpenTK/Input/IMouseDriver.cs:
* Source/OpenTK/Platform/X11/X11Input.cs:
* Source/OpenTK/Platform/X11/X11Factory.cs:
* Source/OpenTK/Platform/Windows/WMInput.cs:
* Source/OpenTK/Platform/IPlatformFactory.cs:
* Source/OpenTK/Platform/MacOS/CarbonInput.cs:
* Source/OpenTK/Platform/Windows/WinFactory.cs:
* Source/OpenTK/Platform/MacOS/MacOSFactory.cs:
* Source/OpenTK/Platform/Windows/WinGLNative.cs:
* Source/OpenTK/Platform/Windows/WinRawMouse.cs:
* Source/OpenTK/Platform/Windows/WinRawInput.cs: Added new MouseDriver
interface and added stub internal implementations.
2010-10-20 14:58:38 +00:00
the_fiddler
e801660ff7
* Source/OpenTK/OpenTK.csproj:
...
* Source/OpenTK/Input/Keyboard.cs:
* Source/OpenTK/Input/InputDriver.cs:
* Source/OpenTK/Input/KeyboardState.cs:
* Source/OpenTK/Input/IKeyboardDriver.cs:
* Source/OpenTK/Platform/X11/X11Input.cs:
* Source/OpenTK/Platform/X11/Functions.cs:
* Source/OpenTK/Platform/X11/X11Factory.cs:
* Source/OpenTK/Platform/Windows/WMInput.cs:
* Source/OpenTK/Platform/X11/X11Keyboard.cs:
* Source/OpenTK/Platform/MacOS/CarbonInput.cs:
* Source/OpenTK/Platform/Windows/WinGLNative.cs:
* Source/OpenTK/Platform/Windows/WinRawInput.cs:
* Source/OpenTK/Platform/Windows/WinRawKeyboard.cs: Added initial
OpenTK.Input.Keyboard implementation for X11.
2010-10-20 14:33:23 +00:00
the_fiddler
da7e4c7252
Backported bugfixes from 1.0 branch.
2010-02-03 19:04:42 +00:00
the_fiddler
f12cbf1cd5
Synced trunk with 1.0 branch.
2009-11-16 18:45:41 +00:00
the_fiddler
4914574bd4
Document that these APIs are incomplete.
2009-11-01 12:40:25 +00:00
the_fiddler
997f57c1f7
Modified MouseDevice events to follow the class library design guidelines.
...
Changed Mouse[Move|Button|Wheel]EventArgs into classes that inherit from EventsArgs, in order to follow the event design guidelines.
2009-09-04 23:13:24 +00:00
the_fiddler
cd9ea45427
Suppressed 'unused code' warnings.
2009-09-04 22:16:02 +00:00
the_fiddler
6fdf37f99f
Added KeyboardKeyEventArgs.
...
Modified KeyboardDevice.KeyDown/KeyUp to follow the class library design guidelines.
Modified samples to use the new KeyDown/KeyUp event signatures.
2009-09-04 22:10:50 +00:00
the_fiddler
33db1f6b74
Fixed a large number of documentation warnings.
2009-09-04 21:44:39 +00:00
the_fiddler
abf3787e8e
Added missing XML documentation and fixed invalid XML doc references.
...
Removed deprecated methods from IGraphicsContext.
2009-09-04 21:25:29 +00:00
the_fiddler
f8467ab767
* Keyboard.cs: Disabled fixed buffer due to gmcs 2.0.1 compiler bug
...
(bogus CS0214) warning.
Added license information.
* Mouse.cs:
* MouseState.cs:
* MouseDevice.cs:
* MouseButton.cs:
* KeyboardState.cs:
* KeyboardDevice.cs: Added license information.
* Key.cs: Added missing LastKey enum.
2009-09-03 21:15:12 +00:00
the_fiddler
0fdcb94ca9
* GamePad.cs:
...
* GamePadState.cs: Added initial implementations.
* Keyboard.cs:
* KeyboardState.cs: Added a number of public members, experimentally.
2009-09-03 20:53:48 +00:00
the_fiddler
f6da09177e
Fixed line endings and set svn:eol-style to native and svn:mime-type to text/plain for .cs files.
2009-09-03 19:01:11 +00:00
the_fiddler
ec24c5022f
Added GetState() method for primary keyboard.
2009-08-04 08:47:53 +00:00
the_fiddler
2bd89e87df
Marked KeyDownEvent and KeyUpEvent as obsolete.
2009-06-28 10:33:03 +00:00
the_fiddler
09a24a17d7
Removed Key.None and Key.MaxKeys.
...
Added XML documentation to all OpenTK.Input.Key tokens.
Added typical Key names found in Windows.Forms and XNA: LControl, RControl, ...
2009-06-28 10:27:17 +00:00
the_fiddler
70f68a302f
Added missing XML documentation.
2009-06-28 10:02:25 +00:00
the_fiddler
4e28071a26
Added Mouse and Keyboard stubs for the new input API.
2009-06-28 10:01:54 +00:00
the_fiddler
7df9a448d6
Merged gw-next2 branch to trunk.
2009-06-02 15:49:39 +00:00
the_fiddler
6131379091
Fixed bug #776 (Incorrect XDelta and YDelta values...)
2009-04-04 23:05:53 +00:00
the_fiddler
d4aef922bc
Fixed all known build warnings, apart from missing xml comments.
2009-03-25 21:53:12 +00:00
the_fiddler
ca1e416a53
Relaxed checks to allow input devices that do not contain any axes and/or buttons (e.g. tablets or keyboard extensions).
2009-03-08 20:03:33 +00:00