How to detect key event KEYCODE_DPAD_UP_RIGHT and KEYCODE_DPAD_UP_LEFT in android

63 views Asked by At

For the below code:

    val MyKeyListener: View.OnKeyListener

    MyKeyListener = object : View.OnKeyListener {

        override fun onKey (v: View?, keyCode: Int, event: KeyEvent?): Boolean
        {
            if (event?.action == KeyEvent.ACTION_DOWN) {

                 if (keyCode == KEYCODE_DPAD_UP) {

                     Log.d ("Key", "Up Arrow Pressed")
                     MoveCursor (KEYCODE_DPAD_UP, textfeild.id, textfeild.text.length)

                 } else if (keyCode == KEYCODE_DPAD_DOWN) {

                     Log.d ("Key", "Down Arrow Pressed")
                     MoveCursor (KEYCODE_DPAD_DOWN, textfeild.id, textfeild.text.length)

                 } else if (keyCode == KEYCODE_DPAD_UP_LEFT) {

                     Log.d ("Key", "Up + Left Arrow Pressed")

                 } else if (keyCode == KEYCODE_DPAD_UP_RIGHT) {

                     Log.d ("Key", "Up + Right Arrow Pressed")
                 }

            }
            return false
        }

    }
    textfeild.setOnKeyListener(MyKeyListener)

I'm able to get the log for "Up Arrow Pressed" and "Down Arrow Pressed" when I press the up/down arrow on my keyboard but I'm not getting Logs for "Up + Left Arrow Pressed" and "Up + Right Arrow Pressed" when I pressing the left and up arrow together (or right and up arrow).

can someone please tell me why and how to record an up and left arrow being pressed together in android?

0

There are 0 answers