> For B_KEY_DOWN, BWindow will first handle this message in > DispatchMessage to intercept TAB, SHIFT+TAB, OPTION+TAB, etc > keystrokes > to that it would advance to the next focus item/group. It is after > that > check that it calls fFocus->KeyDown(); Is this confirmed? IIRC, when I implement KeyDown() of a BView and handle B_TAB_KEY without calling the inherited version, tab cycling is broken. And so it should, otherwise BTextView couldn't type tabs, no? Maybe I'm wrong and always implemented this with BMessageFilters, but I would think it works as I wrote above, if my memory does not fail me. Best regards, -Stephan