I want to change the design (status) of a VD based on the status of a lamp

I am a new user and need som help to get started. What I want to do is the following:

I like to have 3 Virtual Devices to turn ON or OFF different groups of lamps.

When pressing VD 1 a group turns ON and the button VD 1 should be “ON”, VD 2 should be “OFF” and VD 3 should be “OFF”.

When pressing VD 2 another group turns ON and the button VD 1 should be “OFF”, VD 2 should be “ON” and VD 3 should be "OFF…

Based on what VD has been pressed I am setting a variable to different values to know what to do next.

The problem I have is that the virtual device or virtual mode that I am using is showing “ON” or “OFF” based on its feedback (turn on, turn off, turn mode on, turn mode off), but also based on if it was pressed or not. And in my case I want its status not being triggered by a button pressure but by turn on, turn off, turn mode on or turn mode off.

Another question I have is what is the exact differences between
turn on
turn off
turn mode on
turn mode off
based on the tests I have made all these modes are triggering the status of the button or device, but I guess it should be differences between them.

Anybody who knows how to do this?

Thanks!