Commit graph

97 commits

Author SHA1 Message Date
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
the_fiddler 9981b92e5a Removed unused (duplicate) details field. 2009-03-07 10:46:49 +00:00
the_fiddler 51e2d93e38 Added support for POV hats with WinMM.
Reversed vertical axes, so that down is -1 and up is +1.
2009-03-01 08:44:39 +00:00
the_fiddler 44e4971a38 Added JoystickAxis and JoystickButton enumerations, as well as their respective collections.
Implemented necessary Poll() functions.
2009-03-01 01:17:24 +00:00
the_fiddler 2eeb1a7bd9 Implemented JoystickDevice events.
Added GameWindow interface to JoystickDevices.
Added HID support to Tests/InputLogger.
2009-03-01 00:28:31 +00:00
the_fiddler 6118f4fdec Initial joystick support (not public yet). 2009-02-28 23:11:27 +00:00
the_fiddler 69b17fa43f Normalize line endings and set the mime-type=text/plain and eol-style=native properties on all files. 2009-02-22 10:43:35 +00:00
the_fiddler 085ce196f4 Applied ALyman's patch for MouseDevice.Move (http://www.opentk.com/node/652) with modifications. 2009-02-20 18:02:34 +00:00
the_fiddler f4700cb676 Commented out to remove warnings until actual implementation. 2008-11-03 22:15:56 +00:00