You are looking for application frameworks or rich client platforms, so Eclipse RCP if the right direction.
Eclipse builds on OSGI and that means that any module (called Eclipse Plug-In or OSGi Bundle) can either register its own services or makeuse of any other service provided by any other module. The Eclipse RCP platform comes with a lot of handy services, esp. in the meaning of Workbench-level services like ISelectionService
where you can hook in to retrieve selection events. These selection events are already on a higher abstraction level, they don't contain mouse x/y coordinates but merely the Object(s) being selected such as a "Java Source File" in the Eclipse JDT case. There are menu manager services , selection services, event handling services, administration services, preferences services, action and command handler services etc.
If i understand event aggregation correctly, it manages a list of events and subscribers, and manages the forwarding of these events to whoever has subscribed to a given event.
This seems basically what Eclipse already covers under the hood, e.g. with the OSGi EventAdmin, but this is very low level.