If you want to test the screen-value within the trigger, try a variation of the below in the ANY-PRINTABLE trigger.
AN ANY-PRINTABLE OF ..... DO:
DEF VAR cBefore AS CHAR NO-UNDO.
DEF VAR cAfter AS CHAR NO-UNDO.
ASSIGN cBefore = SELF:SCREEN-VALUE. /* Value prior to keystroke */
APPLY LASTKEY. /* bring up to date */
ASSIGN cAfter = SELF:SCREEN-VALUE. /* Value after keystroke */
IF cAfter EQ "A naughty word" THEN
ASSIGN SELF:SCREEN-VALUE = cBefore. /* Reset to previous */
/* other tests if needed */
RETURN NO-APPLY. /* because we already applied lastkey */
END.