!7 cmodule KeyLogger > DynPrintLog { switchable bool verbose; start { ownResource(onGlobalKeyPress(voidfunc(NativeKeyEvent e) enter { if (verbose) print("Key down: " + e.getKeyCode() + ", mod=" + e.getModifiers() + ", raw=" + e.getRawCode() + ", char=" + e.getKeyChar() + ", loc=" + e.getKeyLocation()); vmBus_send('keyDown, e.getKeyCode(), e.getModifiers()); vmBus_send('keyDown_raw, e.getRawCode(), e.getModifiers()); })); ownResource(onGlobalKeyRelease(voidfunc(NativeKeyEvent e) enter { vmBus_send('keyUp, e.getKeyCode(), e.getModifiers()); vmBus_send('keyUp_raw, e.getRawCode(), e.getModifiers()); })); } }