Near-Complete Joystick spec
authorthePowersGang <[email protected]>
Thu, 9 Dec 2010 06:27:46 +0000 (14:27 +0800)
committerthePowersGang <[email protected]>
Thu, 9 Dec 2010 06:27:46 +0000 (14:27 +0800)
- NOTE: The joystick spec will be used for mouse drivers too (meaning
    the programs that use a mouse can be easily changed to use a
    joystick instead)

Kernel/include/tpl_drv_joystick.h

index d521207..16c04ce 100644 (file)
@@ -41,20 +41,23 @@ enum eTplJoystick_IOCtl {
        /**\r
         * ioctl(..., struct{int AxisNum;int Value})\r
         * \brief Set maximum value for sJoystick_Axis.CurState\r
+        * \note If \a Value is equal to -1 (all bits set), the value is not changed\r
         */\r
-       JOY_IOCTL_SETAXISLIMIT,\r
+       JOY_IOCTL_GETSETAXISLIMIT,\r
        \r
        /**\r
         * ioctl(..., struct{int AxisNum;int Value})\r
         * \brief Set axis flags\r
+        * \note If \a Value is equal to -1 (all bits set), the value is not changed\r
         */\r
-       JOY_IOCTL_SETAXISFLAGS,\r
+       JOY_IOCTL_GETSETAXISFLAGS,\r
 \r
        /**\r
         * ioctl(..., struct{int ButtonNum;int Value})\r
         * \brief Set Button Flags\r
+        * \note If \a Value is equal to -1 (all bits set), the value is not changed\r
         */\r
-       JOY_IOCTL_SETBUTTONFLAGS,\r
+       JOY_IOCTL_GETSETBUTTONFLAGS,\r
 };\r
 \r
 /**\r
@@ -69,16 +72,24 @@ typedef void (*tJoystickCallback)(int Ident, int bIsAxis, int Num, int Delta);
  */\r
 struct sJoystick_FileHeader\r
 {\r
-       Uint16  NAxies;\r
-       Uint16  NButtons;\r
+       Uint16  NAxies; //!< Number of Axies\r
+       Uint16  NButtons;       //!< Number of buttons\r
 };\r
 \r
+/**\r
+ * \brief Axis Definition\r
+ *\r
+ * Describes the current state of an axis on the joystick.\r
+ * \a MinValue and \a MaxValue describe the valid range for \a CurValue\r
+ * While \a CurState is between zero and the current limit set by the\r
+ * JOY_IOCTL_GETSETAXISLIMIT IOCtl.\r
+ */\r
 struct sJoystick_Axis\r
 {\r
-       Sint16  MinValue;\r
-       Sint16  MaxValue;\r
-       Sint16  CurValue;\r
-       Uint16  CurState;\r
+       Sint16  MinValue;       //!< Minumum value for \a CurValue\r
+       Sint16  MaxValue;       //!< Maximum value for \a MaxValue\r
+       Sint16  CurValue;       //!< Current value (joystick position)\r
+       Uint16  CurState;       //!< Current state (cursor position)\r
 };\r
 \r
 #endif\r

UCC git Repository :: git.ucc.asn.au