Commit graph

2302 commits

Author SHA1 Message Date
the_fiddler
6d00a1cce3 * X11Mouse.cs: Added SetPosition() implementation.
Added detection of pointer warping and used it to fake relative
  motion.
2010-11-23 19:21:17 +00:00
the_fiddler
76e1d4064b * 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
82e5401779 * OpenTK.csproj:
* Platform/MacOS/HIDInput.cs:
* Platform/MacOS/MacOSFactory.cs:
* Platform/MacOS/CarbonBindings/CoreFoundation.cs: Initial work on HID
  input manager.
2010-11-22 15:57:26 +00:00
the_fiddler
569c4c86c7 Refactored and simplified DisplayDevice detection (devices are now stored in the platform-specific drivers instead of the frontend).
Made XRR resolution changes more robust.
Resolution changes now refresh the DisplayDevices on Windows.
2010-11-21 20:16:18 +00:00
the_fiddler
e986af3b6e Fixed issue [#1895]: "Vector3d.Equals(object obj) defined in terms of Vector3, not Vector3d". 2010-11-21 10:54:11 +00:00
the_fiddler
d8612f4df6 Relaxed parameter checks for CreatePerspectiveFieldOfView. Fixes issue [#1693]: "CreatePerspectiveFieldOfView throws in valid cases". 2010-11-21 00:15:18 +00:00
the_fiddler
4be74af5d4 Modified TransformPerspective to work correctly with orthographic projection matrices. Fixes issue [#1827]: "OpenTK.Vector3.TransformPerspective code is wrong". 2010-11-21 00:09:50 +00:00
the_fiddler
c89f8e375e Added 1-parameter constructors. 2010-11-15 22:34:52 +00:00
the_fiddler
a49c995bdf Trim whitespace from revision number, which may cause build issues. 2010-11-15 21:10:36 +00:00
the_fiddler
294f23f34a Improved and simplified behavior of RelaxParameters. Removed unused code. 2010-11-11 19:32:22 +00:00
the_fiddler
1f715a0c1a Added workaround for zoom-in/zoom-out keys on Microsoft Digital 3000 keyboard. These keys report 0 as a device id, but no such device exists. 2010-11-09 15:19:58 +00:00
the_fiddler
68d35f7d69 * X11GLNative.cs: Added missing KeyDown/KeyUp events. 2010-11-09 11:52:14 +00:00
the_fiddler
3d40ef377b Capture ButtonUp events after ButtonDown even if the mouse leaves the window. 2010-11-09 08:55:55 +00:00
the_fiddler
0c45d7c169 Use async input to poll the keyboard/mouse. 2010-11-08 22:19:44 +00:00
the_fiddler
1f037d077c Reverted to wait for messages. 2010-11-08 22:19:19 +00:00
the_fiddler
e695429db1 Removed obsolete System.Windows.Forms reference. 2010-11-08 21:49:02 +00:00
the_fiddler
c96a632bab Added KeyDown and KeyUp events. 2010-11-08 21:48:00 +00:00
the_fiddler
f99d6a2c1c Removed obsolete System.Windows.Forms reference. 2010-11-08 21:47:24 +00:00
the_fiddler
6a35048a04 Trivial cosmetic fix. 2010-11-08 21:46:55 +00:00
the_fiddler
896a2b0739 Print useful information in ToString() method.
Updated license text.
2010-11-08 21:46:36 +00:00
the_fiddler
e601852547 Added new KeyDown and KeyUp events. 2010-11-08 21:45:15 +00:00
the_fiddler
0a9912469a Removed dependency on System.Windows.Forms. 2010-11-08 21:44:56 +00:00
the_fiddler
9eeac5d40b Refactored input drivers in terms of WinInputBase to reduce code duplication. 2010-11-08 21:43:29 +00:00
the_fiddler
6e00ecefa1 Minor spelling fix.
Use POINT structure instead of System.Drawing.Point.
2010-11-08 21:41:44 +00:00
the_fiddler
1bacea0779 WinRawInput requires Windows 5.1 (XP) or higher. 2010-11-08 21:40:43 +00:00
the_fiddler
045d3d73f6 Removed unimplement SetPixelFormatARB - no such function exists.
Added aggressive locking during context creation and delegate loading in order to avoid potential race conditions.
Now uses Wgl.Imports directly wherever possible in order to improve performance and avoid race conditions.
Slightly improved debugging messages.
2010-11-08 21:38:32 +00:00
the_fiddler
9150a99252 Minor cosmetic fixes. Removed unused code. 2010-11-08 21:36:10 +00:00
the_fiddler
3a57aa777a Removed WinForms dependency and performed general code cleanup. 2010-11-08 19:48:01 +00:00
the_fiddler
3a967fcfb7 Added GraphicsModeComparer for GraphicsMode comparisons.
Added WinInputBase as a base abstraction for all win32 input class.
2010-11-08 19:45:58 +00:00
the_fiddler
3e0f5e045e Added >, >=, < and <= operators. 2010-11-08 19:42:53 +00:00
the_fiddler
cff4ab2d3c Retrieve all pixel formats at once and select the correct one through a custom selection predicate. Simplifies the code significantly and reduces the chance of race conditions. 2010-11-08 19:41:24 +00:00
the_fiddler
2aa1dcef1d Avoid reference to System.Windows.Forms.
Pass a concrete GraphicsMode to the context constructor in SelectPixelFormatARB to avoid NRE.
2010-11-08 16:01:50 +00:00
the_fiddler
b8b32c4f9c Removed duplicate success message. 2010-11-08 15:58:42 +00:00
the_fiddler
16feb28cca Release both shift keys when one is released. Otherwise, we end up with stuck keys. 2010-11-08 08:59:32 +00:00
the_fiddler
52d38059f4 * XI2Mouse.cs:
* X11Factory.cs: Removed window hooking, as it complicates code
  unnecessarily.
2010-11-04 18:01:07 +00:00
the_fiddler
574909c426 * X11KeyMap.cs: Added AltGr keycode.
* X11Mouse.cs: Use XQueryPointer instead of trying to hook events.

* X11Keyboard.cs: Improved handling of key modifiers.

* X11Factory.cs: Use new X11Mouse API.

* Functions.cs: Added XButtonGrab/XButtonUngrab.

* API.cs: Added missing XF86 keysyms.
2010-11-04 17:57:09 +00:00
the_fiddler
64210383de * EventInfo.cs:
* AglContext.cs:
* MacOSKeyMap.cs:
* CarbonInput.cs:
* Application.cs:
* MacOSFactory.cs:
* CarbonGLNative.cs:
* CarbonWindowInfo.cs:
* MacOSGraphicsMode.cs:
* QuartzDisplayDeviceDriver.cs: Normalized code formatting.
2010-11-02 19:49:24 +00:00
the_fiddler
b30ec15167 * Graphics/GL/GLHelper.cs:
* OpenTK.Compatibility.csproj:
* Audio/OpenAL/AL/EffectsExtensionPresets.cs: Fixed/suppressed all
  build warnings.
2010-11-02 17:45:53 +00:00
the_fiddler
68bf778718 * Source/OpenTK/OpenTK.csproj:
* Source/Bind/Generator.Bind.csproj:
* Source/Examples/OpenTK.Examples.csproj:
* Source/GLControl/OpenTK.GLControl.csproj:
* Source/Converter/Generator.Convert.csproj:
* Source/Build.UpdateVersion/Build.UpdateVersion.csproj: Normalized
"Documentation" configuration with "Release" configuration.
2010-11-02 17:39:43 +00:00
the_fiddler
061f7a6014 * OpenTK.Compatibility.csproj: Suppressed deprecation warnings when
compiling this project.
2010-11-02 17:38:41 +00:00
the_fiddler
151c21f520 * X11Keyboard.cs: Use XQueryKeymap to discover key state.
* X11Factory.cs: Use new X11Keyboard interface.
Temporarily disabled XI2Mouse for testing.

* Functions.cs: Fixed type declaration for Time.
Added support for XIGrabDevice, XIUngrabDevice, XGrabKey, XUngrabKey,
  XAllowEvents and XKeycodeToKeysym/XKeysymToKeycode.

* API.cs: Enumerate modes for XAllowEvents.
2010-11-01 08:01:44 +00:00
the_fiddler
2db6f74ec1 * OpenTK/Test/GameWindowStates.cs: Print information on pressed
keyboard keys and mouse buttons.
2010-11-01 07:57:21 +00:00
the_fiddler
4a8cb59028 Implemented KeyboardState.IsConnected property.
Implemented WinRawKeyboard.RefreshDevices().
General code clean-up and beautification.
2010-10-29 11:46:57 +00:00
the_fiddler
72a714126b Added missing files to SVN. 2010-10-29 11:46:09 +00:00
the_fiddler
93130dfbd8 Decoupled new driver API from old public interface.
WinRawMouse can now detect mouse disconnection/connection events.
2010-10-29 11:27:40 +00:00
chrisbrandtner
a2d53705e7 Changed FBO example and documentation to be more useful. 2010-10-28 15:58:10 +00:00
the_fiddler
de7d38d446 Do not modify device state during the GetState() call. Fixes intermittent crashes. 2010-10-28 13:00:21 +00:00
the_fiddler
8c34633fae Fixed keyboard_old assignment. 2010-10-28 11:11:19 +00:00
the_fiddler
415755a257 Modified GetState() to return the combined state for all mouse/keyboard devices. 2010-10-28 11:10:57 +00:00
the_fiddler
5fd0340bb9 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