Proyecto con un led y un pulsador con doble funcion.

Tengo que hacer que el pulsador en pulsacion corta encienda y con otra pulsacion lo apage, lleva una cuenta de las veces que se ha pulsado y de las veces que se ha encendido el led, y pulsandolo 2 segundos me piden que se reseteen los contadores, alguien sabe como puedo hacerlo? Con dos pulsadores lo he sabido hacer, pero con uno me da problemas. Gracias

Trabajo escolar?
Lee las Normas del foro.

No, es para un proyecto que tengo, pero se han acabado los pulsadores, y entonces he pensado en a uno ponerle doble función, pero no se como hacerlo. Me he fijado que en los routers normalmente el botón de reinicio si lo pulsas hace soft reset y si lo mantienes un hard reset, entonces quiero algo así pero nose como programarlo. No me deja leer las normas, no me abre el link

A ver si este ejemplo que se esta desarrollando en software te sirve como para comenzar

Cambiar la señal o estado de un boton mientras se mantiene pulsado