import org.jnativehook.mouse.*; // f: voidfunc(NativeMouseEvent) static AutoCloseable onGlobalMousePress(fO f) { jnativehook_init(); final NativeMouseInputAdapter listener = new { public void nativeMousePressed(NativeMouseEvent e) { pcallF(f, e); } }; GlobalScreen.addNativeMouseListener(listener); ret autoCloseable { GlobalScreen.removeNativeMouseListener(listener); }; }