Android capture hardware keyboard event without edittext view
Asked Answered
D

2

6

How can I capture the hardware keyboard events without using an EditText field?

For example, in a simple activity the display a square on the screen, when a "B" is pressed on the slide keyboard I want to turn it blue, when a "G" is presses, turn it Green, etc.

I don't need help with the color code, just how to intercept the keypress

This is not about the soft or virtual keyboard

Doited answered 14/3, 2011 at 8:57 Comment(0)
L
7

Android classes usually provide event handlers, you can implement when subclassing them. The Activity class has the following event handlers:

  • onKeyDown(int keyCode, KeyEvent event)
  • onKeyLongPress(int keyCode, KeyEvent event)
  • onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)
  • onKeyShortcut(int keyCode, KeyEvent event)
  • onKeyUp(int keyCode, KeyEvent event)

In addition all views have the following event handlers:

  • onKeyDown(int, KeyEvent)
  • onKeyUp(int, KeyEvent)

I guess there are many other classes that have similar event handlers for key events, but this should be enough for your situation. The KeyEvent then contains information about the pressed key, i.e. the key code.

Lynnelle answered 14/3, 2011 at 9:3 Comment(0)
C
1

Activity class has already implemented KeyEvent.CallBack see here

you just need to override these methods and implements all events that you want

Coagulate answered 14/3, 2011 at 9:3 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.