diff --git a/Source/OpenTK/Input/JoystickDevice.cs b/Source/OpenTK/Input/JoystickDevice.cs
new file mode 100644
index 00000000..0ea49648
--- /dev/null
+++ b/Source/OpenTK/Input/JoystickDevice.cs
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using OpenTK.Math;
+
+namespace OpenTK.Input
+{
+ ///
+ /// Represents a joystick device and provides methods to query its state.
+ ///
+ public class JoystickDevice : IInputDevice
+ {
+ string description;
+ Vector2[] axis_position;
+
+ #region --- IInputDevice Members ---
+
+ ///
+ /// Gets a string describing this JoystickDevice.
+ ///
+ public string Description
+ {
+ get { return description; }
+ internal set { description = value; }
+ }
+
+ ///
+ /// Gets a value indicating the InputDeviceType of this InputDevice.
+ ///
+ public InputDeviceType DeviceType
+ {
+ get { return InputDeviceType.HID; }
+ }
+
+ #endregion
+
+ #region --- Public Methods ---
+
+ //public Vector2 Axis1
+ //{
+ // get { return axis_position.Clone(); }
+ // internal set {
+ //}
+
+ #endregion
+ }
+}