java - Android NDK Capturing Key Events -


i have android ndk game (ndk 4.) of code in c++ (it's port) in java have activity , glsurfaceview override ontouchevents. i'm trying figure out how receive key press events can forward them on native code handled.

i tried having view implement onkeylistener onkey() never called. tried overriding onkeydown() , onkeyup() in view no success. missing something?

update

the view i'm using it:

public class fooview extends glsurfaceview implements surfaceholder.callback, onkeylistener {     private gamerenderer _renderer;     private gamelistener _listener;      public fooview(context context)     {         super(context);         this._renderer = new gamerenderer();         setrenderer(this._renderer);         this._listener = new gamelistener(context);         baselib.setlistener(this._listener);     }      @override     public boolean ontouchevent(final motionevent event)     {         // touch code...     }      @override     public boolean onkeydown(int keycode, keyevent event)     {         log.d("testing", "onkeydown event java");         return super.onkeydown(keycode, event);     }      @override     public boolean onkeyup(int keycode, keyevent event)     {         log.d("testing", "onkeyup event java");         return super.onkeyup(keycode, event);     }      @override     public boolean onkey(view view, int keycode, keyevent event)     {         log.d("testing", "onkey event java");         return true;     } } 

try this:

  @override   public boolean dispatchkeyevent(keyevent event)   {           //           // send event.getaction() ndk code           //           if(<ndk code processed it>) return true;            // default behavior else           return super.dispatchkeyevent(event);   } 

Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -