By this statement, I'm assuming you haven't actually tried to run CHDK yet?
I have..
Running some random dev version compiled half a year back or so.
When CHDK loads, it essentially starts the camera in playback mode (technically it restarts the camera). This is because CHDK does not know as it loads whether the camera was powered on with the On/OFf butt or the Playback button. If it was the playback button and CHDK were to start in shooting mode (extending the lens unexpectedly) this could be a problem. So CHDK always starts the camera in playback mode. You can get around this by holding the On/Off button down during startup until the lens starts to extend.
I didn't know that, thanks for the explanation. I've used chdk for so long that I don't even remember how the bare camera used to behave w.r.t. the power-on button.
Anyway, the following mini script does what I want:
@title Set macro mode.
click "left"
sleep 500
click "left"
sleep 500
exit_alt 0
end
If I don't set 'script shoot delay' to half a second or so, the camera freezes on boot. The exit_alt and autostart took a while to figure out, heh. A refinement would be to only press 'left' twice when in shooting mode, not in playback.