Skip to main content
New Participant
December 16, 2024

How to take controller input in a 2d android app ?

  • December 16, 2024
  • 2 replies
  • 918 views

Basic events like touch is passed on 

onTouchEvent

but how to get event on pressing button and moving the joystick on 2d app porting it to meta quest ?

    This topic has been closed for replies.

    2 replies

    Participant
    January 7, 2025

    same

    irpod2
    New Participant
    February 6, 2025

    Just like on regular Android, you can override onGenericMotionEvent or setGenericMotionEventListener on your view to get most any sort of inputs passed to your app, and go from there. (Google's docs on it)

     

    If you're using Jetpack Compose, you can also get access to these events with the Modifier.pointerInput modifier. Though I can't find any dedicated docs for controller inputs, you can use awaitPointerEventScope in the PointerInputScope to get an AwaitPointerEventScope in which you can call awaitPointerEvent and play around with that to find the capabilities you're looking for.

    Modifier.pointerInput(myKey) {
      awaitPointerEventScope {
        val event = awaitPointerEvent()
        // Do stuff with event
      }
    }