For Bezier controller keys, the following properties are accessible:
Time value or number (interpreted as frames)
Specifies whether the key is selected
Class determined by its containing controller
<key>.inTangent varies-- float or point3 (see below) <key>.outTangent varies-- float or point3 (see below) <key>.inTangentType Name-- see list of permitted names below <key>.outTangentType Name-- see list of permitted names below <key>.inTangentLength Float <key>.outTangentLength Float <key>.freeHandle Boolean <key>.x_locked Boolean default: true <key>.y_locked Boolean default: true <key>.z_locked Boolean default: true <key>.constantVelocity Boolean default: false
The . inTangent and . outTangent values are Floats in keys of float controllers and Point3s for the other appropriate controllers. Default value is 0 for float controllers, [0,0,0] otherwise.
The . inTangentType and . outTangentType properties have symbolic name values representing the possible tangent types available in the drop-down menu in the Bezier key property dialog:
.inTangentLength and . outTangentLength , (typically a fraction from 0 to 1) represent how long the handle is towards the adjacent key. For example, a value of 0.5 means the handle reaches halfway from the current key to the adjacent key, and a value of 1 reaches all the way. If the handle reaches beyond the adjacent key, it will be greater than one. If there is no previous key, the value of .inTangentLength will be -1.
There is a check box to the key property/Master Point control dialog found in the Motion Panel. It is called Free Handle. When Free Handle is checked, the user can move the horizontal handle where ever s/he feels. Otherwise, s/he is constrained, to prevent discontinuities.
Correspondingly, there is a bezier key property called .freeHandle that implements the functionality described above.