and an analog input ( witch is the most appropriate input for this project ) can not read digital outputs.
Not at all correct.
There is nothing to stop you doing a digitalRead() on an analog input. Nor is there anything stopping you doing:
digital = (analogRead(pin) > 512); //Assume logic 1 if > 50%
You could change the threshold for a the read to something like 128 or even less as you know that it will be almost 0 when the button is pressed, you can't be sure of the value when the button isn't pressed.