6

I'm implementing a virtual Android keyboard and are about to add haptic feedback. Luckily Android provides performHapticFeedback() and HapticFeedbackConstants so it's easy to give the user a haptic feedback.

It's however not clear to me what the difference between KEYBOARD_PRESS and VIRTUAL_KEY is, they both seem to represent pressing a virtual key. This is also the case for their counterparts KEYBOARD_RELEASE and VIRTUAL_KEY_RELEASE which both seems to represent the user release a virtual key.

I found the commit where the newest ones were added (in API 27) but that unfortunally didn't clarify anything. The documentation states the following:

KEYBOARD_PRESS (Constant Value: 3 (0x00000003))

The user has pressed a virtual or software keyboard key.

VIRTUAL_KEY (Constant Value: 1 (0x00000001))

The user has pressed on a virtual on-screen key.

KEYBOARD_TAP maybe also makes sense to mention, but it has the same value KEYBOARD_PRESS so I think it's more obvious that they represent the same thing. For completeness it's documentation is:

KEYBOARD_TAP (Constant Value: 3 (0x00000003))

The user has pressed a soft keyboard key.

Community
  • 1
  • 1
Anigif
  • 872
  • 8
  • 17

0 Answers0