!7 module MouseLogger > DynPrintLog { bool verbose = true; S switchableFields() { ret "verbose"; } start { ownResource(onGlobalMousePress(voidfunc(NativeMouseEvent e) { if (verbose) print("Mouse press at " + e.getX() + "/" + e.getY() + ", button " + e.getButton()); vmBus_send('mouseDown, e.getX(), e.getY(), e.getButton()); })); ownResource(onGlobalMouseRelease(voidfunc(NativeMouseEvent e) { if (verbose) print("Mouse release at " + e.getX() + "/" + e.getY() + ", button " + e.getButton()); vmBus_send('mouseUp, e.getX(), e.getY(), e.getButton()); })); } }