I'm developing the driver application for a bluetooth keyboard. It reads the data from the keyboard, composes key events and sends them to a focused window group using RWsSession::GetFocusWindowGroup() and WsSession::SendEventToWindowGroup(TInt,const TWsEvent &).
All works fine. The problem only occurs in the Web application while browsing on a N80 device. I experience the freezing while browsing a very heavy sites with a lot of images. While browsing the application sends arrow keys events but sometimes the browser doesn't react for a while, but shortly processes all events. It looks like a system somewhere collects key events. I've been thinking that the Window Server is responsible for such freezing while the Web application is busy and can't handle requests. But recently I've found an another way how to deliver key events using UserSvr::AddEvent(const TRawEvent &). It allows to deliver raw key events behind the Window Server.
But this way freezes key events processing too. At the same time the phone keypad pressing works well. Any ideas how this freezing could be fixed ?

Thanks in advance for any hints.