Do you want ot to ramp to full brightness/darkness when you press long, or do you want the ramping to stop as soon as the button is released?
Attached is my interpretation (LabVIEW 7.0) using a simple event structure:
OFF state:
press for <200ms -> ON
press for >200ms ->ramp up
Not OFF state:
press for <200ms -> full reverse
press for >200ms -> ramp reverse
If you want slightly different logic, I'm sure you can modify it. The switch is set to "switch until released".