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.