Looking good! _KEYHIT is, as you realized, read by InForm itself and made available via __UI_KeyHit when a control has focus. INKEY$ on the other hand is up for grabs, so your method seems proper. Are you reading the keyboard in __UI_BeforeUpdateDisplay?