As _preview/_efChanged is triggered on EFery key press, I wonder if it'd be more efficient to detect cmd-v (paste) with system events? Bernie _cmdKeyCode = 0x37 local fn IsCmdKeyDown dim keys(15) as char call GetKeys(keys(0)) end fn = -((keys(_cmdKeyCode>>3) >> (_cmdKeyCode and 7)) and 1) local fn DoEvent dim ev as ^EventRecord dim as char theChar ev = event select ev.what case _keyDwnEvt long if fn IsCmdKeyDown theChar = (ev.message and _charCodeMask) if (theChar == _"V") or (theChar == _"v") then fn FilterScrap end if end select end fn