Хочу сразу обратить внимание - если планируется использование клавиатуры, может потребоваться серьезное изменение структуры проекта ! Это связано с особенностями обработчика. Попробуйте реализовать на примере экрана юзера, с панелью в виде отдельного компонента, - одновременно обрабатывающих клавиатуру. В итоге - станет понятно какие ограничения накладывает обработка клавиатуры;