Syncing variables (and objects) happens only one way, from host to peer.
Synced variables can only be number variables, not strings or booleans.
To communicate with strings, use messages.
You can send mouse inputs as strings through messages, like how noahboy described. Or you can send mouse inputs as numbers, as described in the multiplayer tutorial part 4. This has the advantage of being lighter in bandwidth and can take advantage of the built in interpolation feature.
The normal flow of peer to peer multiplayer communication is as follows: A peer sends it's inputs to the host. The host processes these inputs, makes changes, and syncs the changes back to all the peers.
In the meantime, to hide latency, the peer who sent the input will show the change on their own screen immediately, before getting what actually happened from the host. This is called local input prediction. After the true state of everything arrives from the host, differences are corrected.
These are all concepts covered in the multiplayer tutorials. If you don't have a decent grasp understanding everything that is done in the tutorials, making a multiplayer game will be exceedingly difficult. So do go through all the tutorials, even if you're not making a real time multiplayer top down shooter.
For example, given that you want a host authoritative design, a peer would never try to tell the host "I chopped this tree down". The peer only says "I clicked here", and the host would reply "You clicked on a tree, this is the tree's new life", and sync the fact that happened to all the peers.