How to set a preset button to toggle headset mode
Note: If you are using Squeezebox Server version 7.4, please make sure you're using a nightly build of Squeezebox Server from Sep 15/16, 2009 or later (SVN revision 28528 or later).
Try installing KidsPlay from http://www.tux.org/~peterw/slim/slim7/KidsPlay/ if you're using SqueezeCenter 7.2.x, or use the Extension Downloader in SqueezeCenter 7.3.x or newer with the repository URL http://www.tux.org/~peterw/slim/slim7/repodata.xml
In the global KidsPlay settings, you'll want to define one of the Boom buttons as
kidsplaytoggleclientpref analogOutMode 0 3
and then in the Boom's player prefs, set the Boom preset button behavior to "KidsPlay routine or normal action". This will leave the behavior of the other 5 preset buttons unchanged, but the special button should toggle between Always Off (value 3) and Headphones (value 0). Holding the button acts just like a quick press. You can quickly toggle back and forth by releasing the button and pressing it again.
Also, if you want don't want a single preset button to toggle between headphones on and of you can just as easily assign one to turn headphones on and one to turn headphones off. For the preset you want to turn the headphones on, enter this macro:
kidsplaytoggleclientpref analogOutMode 0 0; show "line1:Headphones" "line2:On" duration:3 centered:1
For the preset to turn them off enter this:
kidsplaytoggleclientpref analogOutMode 3 3; show "line1:Headphones" "line2:Off" duration:3 centered:1
Now you don't have to remember whether the headphones are on or off when starting to listen to the radio in the middle of the night...