Android overriding Menu key to disable keyboard popup

The standard functionality on Android devices makes the software keyboard popup every time the Menu is long pressed. This may be annoying or unwanted. To disable this default functionality, all one needs to do is to intercept the Menu key down event.

    public boolean onKeyDown(int keyCode, KeyEvent event) {
    	if (!b.isChecked())
    		return super.onKeyDown(keyCode, event);
        if (keyCode == KeyEvent.KEYCODE_MENU) {
            return true;
        }else return super.onKeyDown(keyCode, event);

If the checkbox is on, the MENU long press will be overridden and the keyboard won’t open. A side effect is that also short MENU presses won’t work anymore (like when trying to open a predefined application menu).

Source code: OverridingMenu

Leave a Reply