In that case the double press is probably the best option. Something like this:

button3 interrupt handler:

IF timer is not running THEN
set timer so it will overflow after x time (max double click time), and start timer running
ELSE
set to mode 4
stop timer
ENDIF

timer interrupt handler:

set to mode 3
stop timer