$controller

From Valve Developer Community

Creates a channel to manually set a single axis position or angle on a bone. Not recommended for use, mostly these exist since Half-Life 1 used them.

Syntax

$controller <number> "<bone_name>" <L><axis><R> <start_angle> <end_angle>

where

<number> 
The number of the controller (you may need multiple controllers). Image:Todo.png To do: confirm that you can also use "mouth" for <number> as it represents the value 1, this is hard-coded in studiocompiler.
<bone_name> 
the name of the bone to control.
<axis> 
The axis can be either X, Y, or Z. You need to specify a new controller for each axis of rotation.
<L> 
The prefix L on the axis specifies that this controller loops back around to the start when it ends (see example below).
<R> 
The suffix R specifies the angles are in radians instead of degrees (see example below).
<start_angle> 
the offset start angle of the rotation in degrees (or radians).
<end_angle> 
the offset end angle of the rotation in degrees (or radians).

Example

$modelname "npcs/robot.mdl"
$cdmaterials "models/npcs/"
$model "Robot" "robot.smd"
$controller 1 "jaw" X 0 20
$controller 2 "tracker" LYR -1 1
$sequence "idle" "idle.smd"

Image:Todo.png To do: confirm syntax of "tracker"