Difference between KEYBOARD_PRESS and VIRTUAL_KEY


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.

asked on Stack Overflow Sep 11, 2019 by Anigif • edited Jun 20, 2020 by Community

0 Answers

Nobody has answered this question yet.

User contributions licensed under CC BY-SA 3.0