Thanks Dan! I needed to get multiple else if statements in there and I think I was just structuring my conditionals incorrectly, what I posted below seems to be working pretty well. Now it’s just a matter of building in some variables for positions.
key1=inPoint;
key1end=inPoint+.3;
key2=outPoint;
key2end=outPoint-.3;
Width=width*scale/100;
posx=640-(Width[0]+Width[0]/2);
if (time <= key1end && time>=key1)
linear(time, key1, key1end, [posx, 360],[640,360])
else if (time>key1end && time<=key2end)
linear(time, key1end, key2end, [640, 360],[850,360])
else if (time>key2end && time<=key2)
linear(time, key2end, key2, [850, 360],[1050,360])