Added joystick epydocs, only changed incorrect docstrings in SCA_JoystickSensor.cpp
authorCampbell Barton <ideasman42@gmail.com>
Sat, 18 Oct 2008 13:23:30 +0000 (13:23 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Sat, 18 Oct 2008 13:23:30 +0000 (13:23 +0000)
patch [#17857] HotKeys Update by dfelinto - SmoothStroke and Anchored.
Made own edits, removed videoscape and added curve and armature specials.

release/scripts/hotkeys.py
source/gameengine/GameLogic/SCA_JoystickSensor.cpp
source/gameengine/PyDoc/GameLogic.py
source/gameengine/PyDoc/SCA_JoystickSensor.py [new file with mode: 0644]

index d9c7101c98216c8ffeec354d6944d80c8974bbe9..187cba964bcb2a8f6dcb637be396d43b0e08a5b7 100644 (file)
@@ -128,13 +128,13 @@ hotkeys={
 ['RMB hold down', 'Popup menu'],
 ['Alt-RMB', 'Object Mode :Select but in a displayed list of objects located under the mouse cursor'],
 ['Alt-RMB', 'Edit Mode: Select EDGES LOOP '],
-['Alt+Ctrl-RMB', 'Edit Mode: Select FACES LOOP'],      
-['Alt+Ctrl-RMB', 'UV Image Editor: Select face'],
+['Alt-Ctrl-RMB', 'Edit Mode: Select FACES LOOP'],      
+['Alt-Ctrl-RMB', 'UV Image Editor: Select face'],
 ['Shift-RMB', 'Add/subtract to/from selection'],
 ['Wheel', 'Zoom view'],
 ['Transformations:', ''],
 ['Drag+Ctrl', 'Step adjustment'],
-['Drag+Ctrl+Shift', 'Small step adjustment (Transform Widget : first select the axe or axes with LBM alone)'],
+['Drag+Ctrl-Shift', 'Small step adjustment (Transform Widget : first select the axe or axes with LBM alone)'],
 ['Drag+Shift', 'Fine adjustment (Transform Widget : first select the axe or axes with LBM alone)'],
 ['LMB', 'Confirm transformation'],
 ['MMB', 'Toggle optional transform feature'],
@@ -232,7 +232,7 @@ hotkeys={
 ['Home', 'OutLiner Windows, Show hierarchy'],
 ['PgUp', 'Edit Mode and Proportionnal Editing Tools, increase influence'],
 ['PgUp', 'Strip Editor, Move Down'],
-['PgUn', 'TimeLine: Jump to next marker'],
+['PgUp', 'TimeLine: Jump to next marker'],
 ['PgUp', 'IPO: Select next keyframe'],
 ['Ctrl-PgUp', 'IPO: Select and jump to next keyframe'],
 ['Ctrl-PgUn', 'TimeLine: Jump to next key'],   
@@ -250,7 +250,6 @@ hotkeys={
 ['Alt-Up', 'Blender in Fullscreen mode'],
 ['Ctrl-Left', 'Previous screen'],
 ['Ctrl-Right', 'Next screen'],
-['Ctrl-Alt-C', 'Object Mode : Add  Constraint'],
 ['Ctrl-Down', 'Maximize window toggle'],
 ['Ctrl-Up', 'Maximize window toggle'],
 ['Shift-Arrow', 'Toggle first frame/ last frame'],
@@ -271,6 +270,7 @@ hotkeys={
 ['Ctrl-ALT-A', '3D-View: Armature Edit mode, align selected bones to active bone'],
 ['Shift-A', 'Sequencer: Add menu'],
 ['Shift-A', '3D-View: Add menu'],
+['Shift-A', 'Sculpt Mode: Keep the brush center anchored to the initial location'],
 ['Shift-ALT-A', 'Play animation in all windows'],
 ['Shift-CTRL-A', 'Apply lattice / Make dupliverts real'],
 ['Shift-CTRL-A', 'Apply Deform '],
@@ -280,13 +280,13 @@ hotkeys={
 "B":[ 
 ['B', 'Border select'],
 ['BB', 'Circle select'],
-['Alt+B', 'Object Mode: Select visible view section in 3D space'],
+['Alt-B', 'Object Mode: Select visible view section in 3D space'],
 ['Shift-B', 'Set render border (in active camera view)'],
-['Ctrl-Alt+B', 'Object Mode: in 3D view, Bake (on an image in the uv editor window) the selected Meshes'], #243
-['Ctrl-Alt+B', 'Object Mode: in 3D view, Bake Full render of selected Meshes'],         #243
-['Ctrl-Alt+B', 'Object Mode: in 3D view, Bake Ambient Occlusion of selected Meshes'],  #243    
-['Ctrl-Alt+B', 'Object Mode: in 3D view, Bake Normals of the selected Meshes'],         #243
-['Ctrl-Alt+B', 'Object Mode: in 3D view, Bake Texture Only of selected Meshes'],       #243
+['Ctrl-Alt-B', 'Object Mode: in 3D view, Bake (on an image in the uv editor window) the selected Meshes'], #243
+['Ctrl-Alt-B', 'Object Mode: in 3D view, Bake Full render of selected Meshes'],         #243
+['Ctrl-Alt-B', 'Object Mode: in 3D view, Bake Ambient Occlusion of selected Meshes'],  #243    
+['Ctrl-Alt-B', 'Object Mode: in 3D view, Bake Normals of the selected Meshes'],         #243
+['Ctrl-Alt-B', 'Object Mode: in 3D view, Bake Texture Only of selected Meshes'],       #243
 ['.', '...']
 ],
 
@@ -300,11 +300,12 @@ hotkeys={
 ['C', 'NODE window : Show cyclic referencies'], #243                           
 ['Alt-C', 'Object Mode: Convert menu'],
 ['Alt-C', 'Text Editor: Copy '],
+['Ctrl-Alt-C', 'Object Mode : Add  Constraint'],
 ['Ctrl-Shift-C', 'Text Editor: Copy selection to clipboard'],
 ['Ctrl-C', 'Copy menu (Copy properties of active to selected objects)'],
 ['Ctrl-C', 'UV Image Editor: Stick UVs to mesh vertex'],
 ['Ctrl-C','ARMATURE : posemode, Copy pose attributes'],
-['Ctrl+Alt-C',' ARMATURE : posemode, add constraint to new empty object.'],
+['Ctrl-Alt-C',' ARMATURE : posemode, add constraint to new empty object.'],
 ['Shift-C', 'Center and zoom view on selected objects'],
 ['Shift-C', 'UV Image Editor: Stick local UVs to mesh vertex'],
 ['.', '...']
@@ -494,8 +495,8 @@ hotkeys={
 "P":[ 
 ['P', 'Object Mode: Start realtime engine'],
 ['P', 'Edit mode: Seperate vertices to new object'],
-['shift-P', 'Edit mode: Push-Pull'],
-['shift-P', 'Object mode: Add a preview window in the D window'],
+['Shift-P', 'Edit mode: Push-Pull'],
+['Shift-P', 'Object mode: Add a preview window in the D window'],
 ['P', 'UV Image Editor:  Pin selected vertices. Pinned vertices will stay in place on the UV editor when executing an LSCM unwrap.'],
 ['Alt-P', 'Clear parent relationship'],
 ['Alt-P', 'UV Image Editor: Unpin UVs'],
@@ -553,6 +554,7 @@ hotkeys={
 ['Alt-Shift-S,','Text editor : Select the line '],
 ['Ctrl-Alt-G', 'MANIPULATOR (transform widget): set in Size Mode'],
 ['Shift-S', 'Cursor/Grid snap menu'],
+['Shift-S', 'Sculpt Mode: Smooth Stroke.'],
 ['Shift-S+1', 'VIDEO SEQUENCE editor : jump to the current frame '],
 ['.', '...']
 ],
@@ -568,7 +570,7 @@ hotkeys={
 ['Alt-T', 'Clear tracking of object'],
 ['Ctrl-T', 'Make selected object track active object'],
 ['Ctrl-T', 'Edit Mode: Convert to triangles'],
-['Ctrl-ALT-T', 'Benchmark'],
+['Ctrl-Alt-T', 'Benchmark'],
 ['.', '...']
 ],
 
@@ -606,9 +608,18 @@ hotkeys={
 "W":[ 
 ['W', 'Edit Mode: Specials menu'],
 ['W', 'Edit Mode: Specials menu, ARMATURE 1 Subdivide'],
-['W', 'Edit Mode: Specials menu, ARMATURE 2 Flip Left-Right Name'],
+['W', 'Edit Mode: Specials menu, ARMATURE 2 Subdivide Multi'],
+['W', 'Edit Mode: Specials menu, ARMATURE 3 Switch Direction'],
+['W', 'Edit Mode: Specials menu, ARMATURE 4 Flip Left-Right Name'],
+['W', 'Edit Mode: Specials menu, ARMATURE 5 AutoName Left-Right'],
+['W', 'Edit Mode: Specials menu, ARMATURE 6 AutoName Front-Back'],
+['W', 'Edit Mode: Specials menu, ARMATURE 7 AutoName Top-Bottom'],
 ['W', 'Edit Mode: Specials menu, CURVE 1 Subdivide'],
 ['W', 'Edit Mode: Specials menu, CURVE 2 Swich Direction'],
+['W', 'Edit Mode: Specials menu, CURVE 3 Set Goal Weight'],
+['W', 'Edit Mode: Specials menu, CURVE 4 Set Radius'],
+['W', 'Edit Mode: Specials menu, CURVE 5 Smooth'],
+['W', 'Edit Mode: Specials menu, CURVE 6 Smooth Radius'],
 ['W', 'Edit Mode: Specials menu, MESH 1 Subdivide'],
 ['W', 'Edit Mode: Specials menu, MESH 2 Subdivide Multi'],
 ['W', 'Edit Mode: Specials menu, MESH 3 Subdivide Multi Fractal'],
@@ -636,7 +647,6 @@ hotkeys={
 ['WY', 'UV Image Editor: Weld/Align Y axis'],
 ['Ctrl-W', 'Save current file'] ,
 ['Shift-W', 'Warp/bend selected vertices around cursor'],
-['alt-W', 'Export in videoscape format'],
 ['.', '...']
  ],
 
index 3f95037d6e0c888a5254081a94d8a48622a5ec9b..d0dc875da0b8c2a5d01a927dc623bfbe47a09132 100644 (file)
@@ -355,7 +355,7 @@ PyObject* SCA_JoystickSensor::PySetIndex( PyObject* self, PyObject* value ) {
 /* get axis  ---------------------------------------------------------- */
 const char SCA_JoystickSensor::GetAxis_doc[] = 
 "getAxis\n"
-"\tReturns the current state of the axis.\n";
+"\tReturns the current axis this sensor reacts to.\n";
 PyObject* SCA_JoystickSensor::PyGetAxis( PyObject* self) {
        return Py_BuildValue("[ii]",m_axis, m_axisf);
 }
@@ -364,7 +364,7 @@ PyObject* SCA_JoystickSensor::PyGetAxis( PyObject* self) {
 /* set axis  ---------------------------------------------------------- */
 const char SCA_JoystickSensor::SetAxis_doc[] = 
 "setAxis\n"
-"\tSets the current state of the axis.\n";
+"\tSets the current axis this sensor reacts to.\n";
 PyObject* SCA_JoystickSensor::PySetAxis( PyObject* self, PyObject* args ) {
        
        int axis,axisflag;
@@ -380,7 +380,7 @@ PyObject* SCA_JoystickSensor::PySetAxis( PyObject* self, PyObject* args ) {
 /* get axis value ----------------------------------------------------- */
 const char SCA_JoystickSensor::GetAxisValue_doc[] = 
 "getAxisValue\n"
-"\tReturns a list of the values for each axis .\n";
+"\tReturns a list of the values for the current state of each axis.\n";
 PyObject* SCA_JoystickSensor::PyGetAxisValue( PyObject* self) {
        SCA_Joystick *joy = m_pJoystickMgr->GetJoystickDevice(m_joyindex);
        if(joy)
@@ -437,7 +437,7 @@ PyObject* SCA_JoystickSensor::PySetButton( PyObject* self, PyObject* value ) {
 /* get button value  -------------------------------------------------- */
 const char SCA_JoystickSensor::GetButtonValue_doc[] = 
 "getButtonValue\n"
-"\tReturns a list containing the indicies of the currently pressed buttons.\n";
+"\tReturns a list containing the indicies of the current pressed state of each button.\n";
 PyObject* SCA_JoystickSensor::PyGetButtonValue( PyObject* self) {
        SCA_Joystick *joy = m_pJoystickMgr->GetJoystickDevice(m_joyindex);
        PyObject *ls = PyList_New(0);
index af3d2810553fcc97db17bf6470d75c21ffe55b04..9dab7db608153de52191c4fb2d39617e21d164fb 100644 (file)
@@ -13,10 +13,10 @@ Documentation for the GameLogic Module.
        See L{WhatsNew} for updates, changes and new functionality in the Game Engine Python API.
        
        Examples::
-               # To get a controller:
+               # To get the controller thats running this python script:
                co = GameLogic.getCurrentController() # GameLogic is automatically imported
                
-               # To get the game object associated with this controller:
+               # To get the game object this controller is on:
                obj = co.getOwner()
        L{KX_GameObject} and L{KX_Camera} or L{KX_Light} methods are
        available depending on the type of object::
@@ -31,17 +31,18 @@ Documentation for the GameLogic Module.
                sensors = co.getSensors()
 
        See the sensor's reference for available methods:
-               - L{KX_NetworkMessageSensor}
-               - L{KX_RaySensor}
-               - L{KX_MouseFocusSensor}
-               - L{KX_NearSensor}
-               - L{KX_RadarSensor}
-               - L{KX_TouchSensor}
-               - L{SCA_KeyboardSensor}
-               - L{SCA_MouseSensor}
-               - L{SCA_PropertySensor} 
-               - L{SCA_RandomSensor} 
-               - L{SCA_DelaySensor}
+               - L{DelaySensor<SCA_DelaySensor.SCA_DelaySensor>}
+               - L{JoystickSensor<SCA_JoystickSensor.SCA_JoystickSensor>}
+               - L{KeyboardSensor<SCA_KeyboardSensor.SCA_KeyboardSensor>}
+               - L{MouseFocusSensor<KX_MouseFocusSensor.KX_MouseFocusSensor>}
+               - L{MouseSensor<SCA_MouseSensor.SCA_MouseSensor>}
+               - L{NearSensor<KX_NearSensor.KX_NearSensor>}
+               - L{NetworkMessageSensor<KX_NetworkMessageSensor.KX_NetworkMessageSensor>}
+               - L{PropertySensor<SCA_PropertySensor.SCA_PropertySensor>}
+               - L{RadarSensor<KX_RadarSensor.KX_RadarSensor>}
+               - L{RandomSensor<SCA_RandomSensor.SCA_RandomSensor>}
+               - L{RaySensor<KX_RaySensor.KX_RaySensor>}
+               - L{TouchSensor<KX_TouchSensor.KX_TouchSensor>}
        
        You can also access actuators linked to the controller::
                # To get an actuator attached to the controller:
@@ -54,23 +55,23 @@ Documentation for the GameLogic Module.
                GameLogic.addActiveActuator(actuator, True)
                
        See the actuator's reference for available methods:
-               - L{BL_ActionActuator}
-               - L{KX_CameraActuator}
-               - L{KX_CDActuator}
-               - L{KX_ConstraintActuator}
-               - L{KX_GameActuator}
-               - L{KX_IpoActuator}
-               - L{KX_NetworkMessageActuator}
-               - L{KX_ObjectActuator}
-               - L{KX_SCA_AddObjectActuator}
-               - L{KX_SCA_EndObjectActuator}
-               - L{KX_SCA_ReplaceMeshActuator}
-               - L{KX_SceneActuator}
-               - L{KX_SoundActuator}
-               - L{KX_TrackToActuator}
-               - L{KX_VisibilityActuator}
-               - L{SCA_PropertyActuator}
-               - L{SCA_RandomActuator} 
+               - L{ActionActuator<BL_ActionActuator.BL_ActionActuator>}
+               - L{AddObjectActuator<KX_SCA_AddObjectActuator.KX_SCA_AddObjectActuator>}
+               - L{CameraActuator<KX_CameraActuator.KX_CameraActuator>}
+               - L{CDActuator<KX_CDActuator.KX_CDActuator>}
+               - L{ConstraintActuator<KX_ConstraintActuator.KX_ConstraintActuator>}
+               - L{EndObjectActuator<KX_SCA_EndObjectActuator.KX_SCA_EndObjectActuator>}
+               - L{GameActuator<KX_GameActuator.KX_GameActuator>}
+               - L{IpoActuator<KX_IpoActuator.KX_IpoActuator>}
+               - L{NetworkMessageActuator<KX_NetworkMessageActuator.KX_NetworkMessageActuator>}
+               - L{ObjectActuator<KX_ObjectActuator.KX_ObjectActuator>}
+               - L{PropertyActuator<SCA_PropertyActuator.SCA_PropertyActuator>}
+               - L{RandomActuator<SCA_RandomActuator.SCA_RandomActuator>}
+               - L{ReplaceMeshActuator<KX_SCA_ReplaceMeshActuator.KX_SCA_ReplaceMeshActuator>}
+               - L{SceneActuator<KX_SceneActuator.KX_SceneActuator>}
+               - L{SoundActuator<KX_SoundActuator.KX_SoundActuator>}
+               - L{TrackToActuator<KX_TrackToActuator.KX_TrackToActuator>}
+               - L{VisibilityActuator<KX_VisibilityActuator.KX_VisibilityActuator>}
        
        Most logic brick's methods are accessors for the properties available in the logic buttons.
        Consult the logic bricks documentation for more information on how each logic brick works.
diff --git a/source/gameengine/PyDoc/SCA_JoystickSensor.py b/source/gameengine/PyDoc/SCA_JoystickSensor.py
new file mode 100644 (file)
index 0000000..d1dab9a
--- /dev/null
@@ -0,0 +1,106 @@
+# $Id: SCA_RandomSensor.py 15444 2008-07-05 17:05:05Z lukep $
+# Documentation for SCA_RandomSensor
+from SCA_ISensor import *
+
+class SCA_JoystickSensor(SCA_ISensor):
+       """
+       This sensor detects player joystick events.
+       """
+       
+       def getIndex():
+               """
+               Returns the joystick index to use (from 1 to 8).
+               @rtype: integer
+               """
+       def setIndex(index):
+               """
+               Sets the joystick index to use. 
+               @param index: The index of this joystick sensor, Clamped between 1 and 8.
+               @type index: integer
+               @note: This is only useful when you have more then 1 joystick connected to your computer - multiplayer games.
+               """
+       def getAxis():
+               """
+               Returns the current axis this sensor reacts to. See L{getAxisValue()<SCA_JoystickSensor.getAxisValue>} for the current axis state.
+               @rtype: list
+               @return: 2 values returned are [axisIndex, axisDirection] - see L{setAxis()<SCA_JoystickSensor.setAxis>} for their purpose.
+               @note: When the "All Events" toggle is set, this option has no effect.
+               """
+       def setAxis(axisIndex, axisDirection):
+               """
+               @param axisIndex: Set the axis index to use when detecting axis movement.
+               @type axisIndex: integer from 1 to 2
+               @param axisDirection: Set the axis direction used for detecting motion. 0:right, 1:up, 2:left, 3:down.
+               @type axisDirection: integer from 0 to 3
+               @note: When the "All Events" toggle is set, this option has no effect.
+               """
+       def getAxisValue():
+               """
+               Returns the state of the joysticks axis. See differs to L{getAxis()<SCA_JoystickSensor.getAxis>} returning the current state of the joystick.
+               @rtype: list
+               @return: 4 values, each spesifying the value of an axis between -32767 and 32767 depending on how far the axis is pushed, 0 for nothing. 
+
+                       The first 2 values are used by most joysticks and gamepads for directional control. 3rd and 4th values are only on some joysticks and can be used for arbitary controls.
+
+                       left:[-32767, 0, ...], right:[32767, 0, ...], up:[0, -32767, ...], down:[0, 32767, ...]
+               @note: Some gamepads only set the axis on and off like a button.
+               """
+       def getThreshold():
+               """
+               Get the axis threshold. See L{setThreshold()<SCA_JoystickSensor.setThreshold>} for details.
+               @rtype: integer
+               """
+       def setThreshold(threshold):
+               """
+               Set the axis threshold.
+               @param threshold: Joystick axis motion below this threshold wont trigger an event. Use values between (0 and 32767), lower values are more sensitive.
+               @type threshold: integer
+               """
+       def getButton():
+               """
+               Returns the button index the sensor reacts to. See L{getButtonValue()<SCA_JoystickSensor.getButtonValue>} for a list of pressed buttons.
+               @rtype: integer
+               @note: When the "All Events" toggle is set, this option has no effect.
+               """
+       def setButton(index):
+               """
+               Sets the button index the sensor reacts to when the "All Events" option is not set.
+               @note: When the "All Events" toggle is set, this option has no effect.
+               """
+       def getButtonValue():
+               """
+               Returns a list containing the indicies of the currently pressed buttons.
+               @rtype: list
+               """
+       def getHat():
+               """
+               Returns the current hat direction this sensor is set to.
+               [hatNumber, hatDirection].
+               @rtype: list
+               @note: When the "All Events" toggle is set, this option has no effect.
+               """
+       def setHat(index):
+               """
+               Sets the hat index the sensor reacts to when the "All Events" option is not set.
+               @type index: integer
+               """
+       def getNumAxes():
+               """
+               Returns the number of axes for the joystick at this index.
+               @rtype: integer
+               """
+       def getNumButtons():
+               """
+               Returns the number of buttons for the joystick at this index.
+               @rtype: integer
+               """
+       def getNumHats():
+               """
+               Returns the number of hats for the joystick at this index.
+               @rtype: integer
+               """
+       def isConnected():
+               """
+               Returns True if a joystick is detected at this joysticks index.
+               @rtype: bool
+               """