Example usage for android.view KeyEvent KEYCODE_SPACE

List of usage examples for android.view KeyEvent KEYCODE_SPACE

Introduction

In this page you can find the example usage for android.view KeyEvent KEYCODE_SPACE.

Prototype

int KEYCODE_SPACE

To view the source code for android.view KeyEvent KEYCODE_SPACE.

Click Source Link

Document

Key code constant: Space key.

Usage

From source file:Main.java

/**
 * Any gamepad button + the spacebar or DPAD_CENTER will be used as the fire
 * key./*from   www  .  j a  va 2s  .c  o m*/
 *
 * @param keyCode
 * @return true of it's a fire key.
 */
private static boolean isFireKey(int keyCode) {
    return KeyEvent.isGamepadButton(keyCode) || keyCode == KeyEvent.KEYCODE_DPAD_CENTER
            || keyCode == KeyEvent.KEYCODE_SPACE;
}

From source file:Main.java

public static int lookupKeycode(boolean shiftDown, int keycode) {
    switch (keycode) {
    // case KeyEvent.KEYCODE_SHIFT_LEFT: return 0x00;
    // case KeyEvent.KEYCODE_SHIFT_RIGHT: return 0x00;
    case KeyEvent.KEYCODE_0:
        return shiftDown ? 0x126 : 0x27;
    case KeyEvent.KEYCODE_1:
        return 0x30;
    case KeyEvent.KEYCODE_2:
        return 0x31;
    case KeyEvent.KEYCODE_3:
        return 0x11;
    case KeyEvent.KEYCODE_4:
        return 0x12;
    case KeyEvent.KEYCODE_5:
        return 0x13;
    case KeyEvent.KEYCODE_6:
        return 0x34;
    case KeyEvent.KEYCODE_7:
        return shiftDown ? 0x134 : 0x24;
    case KeyEvent.KEYCODE_8:
        return 0x15;
    case KeyEvent.KEYCODE_9:
        return shiftDown ? 0x115 : 0x26;
    case KeyEvent.KEYCODE_A:
        return 0x41;
    case KeyEvent.KEYCODE_B:
        return 0x64;
    case KeyEvent.KEYCODE_C:
        return 0x52;
    case KeyEvent.KEYCODE_D:
        return 0x32;
    case KeyEvent.KEYCODE_E:
        return 0x22;
    case KeyEvent.KEYCODE_F:
        return 0x43;
    case KeyEvent.KEYCODE_G:
        return 0x53;
    case KeyEvent.KEYCODE_H:
        return 0x54;
    case KeyEvent.KEYCODE_I:
        return 0x25;
    case KeyEvent.KEYCODE_J:
        return 0x45;
    case KeyEvent.KEYCODE_K:
        return 0x46;
    case KeyEvent.KEYCODE_L:
        return 0x56;
    case KeyEvent.KEYCODE_M:
        return 0x65;
    case KeyEvent.KEYCODE_N:
        return 0x55;
    case KeyEvent.KEYCODE_O:
        return 0x36;
    case KeyEvent.KEYCODE_P:
        return 0x37;
    case KeyEvent.KEYCODE_Q:
        return 0x10;
    case KeyEvent.KEYCODE_R:
        return 0x33;
    case KeyEvent.KEYCODE_S:
        return 0x51;
    case KeyEvent.KEYCODE_T:
        return 0x23;
    case KeyEvent.KEYCODE_U:
        return 0x35;
    case KeyEvent.KEYCODE_V:
        return 0x63;
    case KeyEvent.KEYCODE_W:
        return 0x21;
    case KeyEvent.KEYCODE_X:
        return 0x42;
    case KeyEvent.KEYCODE_Y:
        return 0x44;
    case KeyEvent.KEYCODE_Z:
        return 0x61;
    case KeyEvent.KEYCODE_SPACE:
        return 0x62;
    case KeyEvent.KEYCODE_ENTER:
        return 0x49;
    case KeyEvent.KEYCODE_DEL:
        return 0x59;
    case KeyEvent.KEYCODE_APOSTROPHE:
        return shiftDown ? 0x31 : 0x124;
    case KeyEvent.KEYCODE_POUND:
        return 0x111; // '#' is Shift+3
    case KeyEvent.KEYCODE_MINUS:
        return shiftDown ? 0x238 : 0x17;
    case KeyEvent.KEYCODE_EQUALS:
        return 0x117;
    case KeyEvent.KEYCODE_AT:
        return 0x47;
    case KeyEvent.KEYCODE_STAR:
        return 0x148;
    case KeyEvent.KEYCODE_PERIOD:
        return shiftDown ? 0x248 : 0x67;
    case KeyEvent.KEYCODE_SEMICOLON:
        return 0x57;
    case KeyEvent.KEYCODE_SLASH:
        return 0x68;
    case KeyEvent.KEYCODE_PLUS:
        return 0x157;
    case KeyEvent.KEYCODE_COMMA:
        return 0x66;
    // case KeyEvent.KEYCODE_GRAVE: return 0x??;
    // case KeyEvent.KEYCODE_LEFT_BRACKET: return 0x??;
    // case KeyEvent.KEYCODE_RIGHT_BRACKET: return 0x??;
    }//from   w w  w  . j av  a2s .  co m
    return 0xaa;
}

From source file:Main.java

public static String getChar(int keyCode) {
    switch (keyCode) {
    case KeyEvent.KEYCODE_0:
        return "0";
    case KeyEvent.KEYCODE_1:
        return "1";
    case KeyEvent.KEYCODE_2:
        return "2";
    case KeyEvent.KEYCODE_3:
        return "3";
    case KeyEvent.KEYCODE_4:
        return "4";
    case KeyEvent.KEYCODE_5:
        return "5";
    case KeyEvent.KEYCODE_6:
        return "6";
    case KeyEvent.KEYCODE_7:
        return "7";
    case KeyEvent.KEYCODE_8:
        return "8";
    case KeyEvent.KEYCODE_9:
        return "9";
    case KeyEvent.KEYCODE_A:
        return "a";
    case KeyEvent.KEYCODE_B:
        return "b";
    case KeyEvent.KEYCODE_C:
        return "c";
    case KeyEvent.KEYCODE_D:
        return "d";
    case KeyEvent.KEYCODE_E:
        return "e";
    case KeyEvent.KEYCODE_F:
        return "f";
    case KeyEvent.KEYCODE_G:
        return "g";
    case KeyEvent.KEYCODE_H:
        return "h";
    case KeyEvent.KEYCODE_I:
        return "i";
    case KeyEvent.KEYCODE_J:
        return "j";
    case KeyEvent.KEYCODE_K:
        return "k";
    case KeyEvent.KEYCODE_L:
        return "l";
    case KeyEvent.KEYCODE_M:
        return "m";
    case KeyEvent.KEYCODE_N:
        return "n";
    case KeyEvent.KEYCODE_O:
        return "o";
    case KeyEvent.KEYCODE_P:
        return "p";
    case KeyEvent.KEYCODE_Q:
        return "q";
    case KeyEvent.KEYCODE_R:
        return "r";
    case KeyEvent.KEYCODE_S:
        return "s";
    case KeyEvent.KEYCODE_T:
        return "t";
    case KeyEvent.KEYCODE_U:
        return "u";
    case KeyEvent.KEYCODE_V:
        return "v";
    case KeyEvent.KEYCODE_W:
        return "w";
    case KeyEvent.KEYCODE_X:
        return "x";
    case KeyEvent.KEYCODE_Y:
        return "y";
    case KeyEvent.KEYCODE_Z:
        return "z";
    case KeyEvent.KEYCODE_DEL:
        return "{BKSP}";
    case KeyEvent.KEYCODE_ENTER:
    case KeyEvent.KEYCODE_DPAD_CENTER:
        return "{ENTER}";
    case KeyEvent.KEYCODE_SPACE:
        return " ";
    case KeyEvent.KEYCODE_DPAD_DOWN:
        return "{DOWN}";
    case KeyEvent.KEYCODE_DPAD_UP:
        return "{UP}";
    case KeyEvent.KEYCODE_DPAD_LEFT:
        return "{LEFT}";
    case KeyEvent.KEYCODE_DPAD_RIGHT:
        return "{RIGHT}";
    }//w ww  .j  av a  2s .  c  om
    return null;
}

From source file:Main.java

public static String getKeyNameByCode(int code) {
    switch (code) {
    case KeyEvent.KEYCODE_0:
        return "<0>";
    case KeyEvent.KEYCODE_1:
        return "<1>";
    case KeyEvent.KEYCODE_2:
        return "<2>";
    case KeyEvent.KEYCODE_3:
        return "<3>";
    case KeyEvent.KEYCODE_4:
        return "<4>";
    case KeyEvent.KEYCODE_5:
        return "<5>";
    case KeyEvent.KEYCODE_6:
        return "<6>";
    case KeyEvent.KEYCODE_7:
        return "<7>";
    case KeyEvent.KEYCODE_8:
        return "<8>";
    case KeyEvent.KEYCODE_9:
        return "<9>";
    case KeyEvent.KEYCODE_A:
        return "<A>";
    case KeyEvent.KEYCODE_B:
        return "<B>";
    case KeyEvent.KEYCODE_C:
        return "<C>";
    case KeyEvent.KEYCODE_D:
        return "<D>";
    case KeyEvent.KEYCODE_E:
        return "<E>";
    case KeyEvent.KEYCODE_F:
        return "<F>";
    case KeyEvent.KEYCODE_G:
        return "<G>";
    case KeyEvent.KEYCODE_H:
        return "<H>";
    case KeyEvent.KEYCODE_I:
        return "<I>";
    case KeyEvent.KEYCODE_J:
        return "<J>";
    case KeyEvent.KEYCODE_K:
        return "<K>";
    case KeyEvent.KEYCODE_L:
        return "<L>";
    case KeyEvent.KEYCODE_M:
        return "<M>";
    case KeyEvent.KEYCODE_N:
        return "<N>";
    case KeyEvent.KEYCODE_O:
        return "<O>";
    case KeyEvent.KEYCODE_P:
        return "<P>";
    case KeyEvent.KEYCODE_Q:
        return "<Q>";
    case KeyEvent.KEYCODE_R:
        return "<R>";
    case KeyEvent.KEYCODE_S:
        return "<S>";
    case KeyEvent.KEYCODE_T:
        return "<T>";
    case KeyEvent.KEYCODE_U:
        return "<U>";
    case KeyEvent.KEYCODE_V:
        return "<V>";
    case KeyEvent.KEYCODE_W:
        return "<W>";
    case KeyEvent.KEYCODE_X:
        return "<X>";
    case KeyEvent.KEYCODE_Y:
        return "<Y>";
    case KeyEvent.KEYCODE_Z:
        return "<Z>";
    case KeyEvent.KEYCODE_APOSTROPHE:
        return "<'>";
    case KeyEvent.KEYCODE_AT:
        return "<@>";
    case KeyEvent.KEYCODE_BACK:
        return "<Back>";
    case KeyEvent.KEYCODE_BACKSLASH:
        return "<\\>";
    case KeyEvent.KEYCODE_CALL:
        return "<Call>";
    case KeyEvent.KEYCODE_CAMERA:
        return "<Camera>";
    case KeyEvent.KEYCODE_CLEAR:
        return "<Clear>";
    case KeyEvent.KEYCODE_COMMA:
        return "<,>";
    case KeyEvent.KEYCODE_DEL:
        return "<Del>";
    case KeyEvent.KEYCODE_DPAD_CENTER:
        return "<PadCenter>";
    case KeyEvent.KEYCODE_DPAD_DOWN:
        return "<PadDown>";
    case KeyEvent.KEYCODE_DPAD_LEFT:
        return "<PadLeft>";
    case KeyEvent.KEYCODE_DPAD_RIGHT:
        return "<PadRight>";
    case KeyEvent.KEYCODE_DPAD_UP:
        return "<PadUp>";
    case KeyEvent.KEYCODE_ENDCALL:
        return "<EndCall>";
    case KeyEvent.KEYCODE_ENTER:
        return "<Enter>";
    case KeyEvent.KEYCODE_ENVELOPE:
        return "<Envelope>";
    case KeyEvent.KEYCODE_EQUALS:
        return "<=>";
    case KeyEvent.KEYCODE_EXPLORER:
        return "<Explorer>";
    case KeyEvent.KEYCODE_FOCUS:
        return "<??? 0>";
    case KeyEvent.KEYCODE_GRAVE:
        return "<??? 1>";
    case KeyEvent.KEYCODE_HEADSETHOOK:
        return "<??? 2>";
    case KeyEvent.KEYCODE_HOME:
        return "<Home>";
    case KeyEvent.KEYCODE_LEFT_BRACKET:
        return "<(>";
    case KeyEvent.KEYCODE_MENU:
        return "<Menu>";
    case KeyEvent.KEYCODE_MINUS:
        return "<->";
    case KeyEvent.KEYCODE_NOTIFICATION:
        return "<??? 3>";
    case KeyEvent.KEYCODE_NUM:
        return "<Num>";
    case KeyEvent.KEYCODE_PERIOD:
        return "<??? 4>";
    case KeyEvent.KEYCODE_PLUS:
        return "<+>";
    case KeyEvent.KEYCODE_POUND:
        return "<??? 5>";
    case KeyEvent.KEYCODE_POWER:
        return "<Power>";
    case KeyEvent.KEYCODE_RIGHT_BRACKET:
        return "<)>";
    case KeyEvent.KEYCODE_SEMICOLON:
        return "<;>";
    case KeyEvent.KEYCODE_SLASH:
        return "</>";
    case KeyEvent.KEYCODE_SOFT_LEFT:
        return "<??? 6>";
    case KeyEvent.KEYCODE_SOFT_RIGHT:
        return "<??? 7>";
    case KeyEvent.KEYCODE_SPACE:
        return "<Space>";
    case KeyEvent.KEYCODE_STAR:
        return "<*>";
    case KeyEvent.KEYCODE_SYM:
        return "<Sym>";
    case KeyEvent.KEYCODE_TAB:
        return "<Tab>";
    case KeyEvent.KEYCODE_VOLUME_DOWN:
        return "<VolumeDown>";
    case KeyEvent.KEYCODE_VOLUME_UP:
        return "<VolumeUp>";
    case KeyEvent.KEYCODE_UNKNOWN:
    default:/*w ww.java2s .c  o m*/
        return "<Unknown>";
    }
}

From source file:com.commonsware.android.preso.decktastic.MainActivity.java

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    switch (keyCode) {
    case KeyEvent.KEYCODE_SPACE:
    case KeyEvent.KEYCODE_DPAD_RIGHT:
    case KeyEvent.KEYCODE_DPAD_DOWN:
    case KeyEvent.KEYCODE_PAGE_DOWN:
    case KeyEvent.KEYCODE_MEDIA_NEXT:
        if (pager.canScrollHorizontally(1)) {
            pager.setCurrentItem(pager.getCurrentItem() + 1, true);
        }/*from w w w .j a  va2 s  . co m*/

        return (true);

    case KeyEvent.KEYCODE_DPAD_LEFT:
    case KeyEvent.KEYCODE_DPAD_UP:
    case KeyEvent.KEYCODE_PAGE_UP:
    case KeyEvent.KEYCODE_MEDIA_PREVIOUS:
        if (pager.canScrollHorizontally(-1)) {
            pager.setCurrentItem(pager.getCurrentItem() - 1, true);
        }

        return (true);
    }

    return (super.onKeyDown(keyCode, event));
}

From source file:com.android.screenspeak.KeyboardSearchManager.java

@Override
public boolean onKeyEvent(KeyEvent event) {
    // Only handle single-key events here. The KeyComboManager will pass us combos.
    if (event.getModifiers() != 0 || !mNodeSearch.isActive()) {
        return false;
    }//  w w  w  .j  ava  2s.  c o m

    if (event.getAction() == KeyEvent.ACTION_DOWN) {
        switch (event.getKeyCode()) {
        case KeyEvent.KEYCODE_ENTER:
            if (mHasNavigated || mNodeSearch.hasMatch()) {
                finishSearch();
                mContext.getCursorController().clickCurrent();
            } else {
                cancelSearch();
            }
            return true;
        case KeyEvent.KEYCODE_DEL:
            resetHintTime();
            final String queryText = mNodeSearch.getCurrentQuery();
            if (queryText.isEmpty()) {
                cancelSearch();
            } else {
                final String lastChar = queryText.substring(queryText.length() - 1);
                mNodeSearch.backspaceQueryText();
                mSpeechController.speak(mContext.getString(R.string.template_text_removed, lastChar),
                        SpeechController.QUEUE_MODE_FLUSH_ALL, FeedbackItem.FLAG_NO_HISTORY, null);
            }
            return true;
        case KeyEvent.KEYCODE_DPAD_UP:
            moveToEnd(NodeFocusFinder.SEARCH_BACKWARD);
            return true;
        case KeyEvent.KEYCODE_DPAD_LEFT:
            moveToNext(NodeFocusFinder.SEARCH_BACKWARD);
            return true;
        case KeyEvent.KEYCODE_DPAD_DOWN:
            moveToEnd(NodeFocusFinder.SEARCH_FORWARD);
            return true;
        case KeyEvent.KEYCODE_DPAD_RIGHT:
            moveToNext(NodeFocusFinder.SEARCH_FORWARD);
            return true;
        case KeyEvent.KEYCODE_SPACE:
            resetHintTime();
            if (mNodeSearch.tryAddQueryText(" ")) {
                mSpeechController.speak(mContext.getString(R.string.symbol_space),
                        SpeechController.QUEUE_MODE_FLUSH_ALL, FeedbackItem.FLAG_NO_HISTORY, null);
            } else {
                mContext.getFeedbackController().playAuditory(R.raw.complete);
            }
            return true;
        default:
            if (event.isPrintingKey()) {
                resetHintTime();
                final String key = String.valueOf(event.getDisplayLabel());
                if (mNodeSearch.tryAddQueryText(key)) {
                    mSpeechController.speak(key.toLowerCase(), SpeechController.QUEUE_MODE_FLUSH_ALL,
                            FeedbackItem.FLAG_NO_HISTORY, null);
                } else {
                    mContext.getFeedbackController().playAuditory(R.raw.complete);
                }
                return true;
            }
            break;
        }
    }

    return false;
}

From source file:org.mariotaku.harmony.activity.MusicPlaybackActivity.java

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (mService == null)
        return super.onKeyDown(keyCode, event);
    final int repcnt = event.getRepeatCount();

    switch (keyCode) {
    case KeyEvent.KEYCODE_DPAD_LEFT:
        if (!useDpadMusicControl()) {
            break;
        }/*from  w w  w . jav a  2 s .  com*/
        if (!mPrevButton.hasFocus()) {
            mPrevButton.requestFocus();
        }
        scanBackward(repcnt, event.getEventTime() - event.getDownTime());
        return true;
    case KeyEvent.KEYCODE_DPAD_RIGHT:
        if (!useDpadMusicControl()) {
            break;
        }
        if (!mNextButton.hasFocus()) {
            mNextButton.requestFocus();
        }
        scanForward(repcnt, event.getEventTime() - event.getDownTime());
        return true;

    // case KeyEvent.KEYCODE_R:
    // toggleRepeat();
    // return true;
    //
    // case KeyEvent.KEYCODE_S:
    // toggleShuffle();
    // return true;

    case KeyEvent.KEYCODE_N: {
        doNext();
        return true;
    }
    case KeyEvent.KEYCODE_P: {
        doPrev();
        return true;
    }
    case KeyEvent.KEYCODE_DPAD_CENTER:
    case KeyEvent.KEYCODE_SPACE: {
        doPauseResume();
        return true;
    }
    }
    return super.onKeyDown(keyCode, event);
}

From source file:website.openeng.anki.Reviewer.java

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    char keyPressed = (char) event.getUnicodeChar();
    if (mAnswerField != null && !mAnswerField.isFocused()) {
        if (sDisplayAnswer) {
            if (keyPressed == '1') {
                answerCard(EASE_1);/*from w  ww  . ja v a 2  s  . c  om*/
                return true;
            }
            if (keyPressed == '2') {
                answerCard(EASE_2);
                return true;
            }
            if (keyPressed == '3') {
                answerCard(EASE_3);
                return true;
            }
            if (keyPressed == '4') {
                answerCard(EASE_4);
                return true;
            }
            if (keyCode == KeyEvent.KEYCODE_SPACE || keyCode == KeyEvent.KEYCODE_ENTER
                    || keyCode == KeyEvent.KEYCODE_NUMPAD_ENTER) {
                answerCard(getDefaultEase());
                return true;
            }
        }
        if (keyPressed == 'e') {
            editCard();
            return true;
        }
        if (keyPressed == '*') {
            DeckTask.launchDeckTask(DeckTask.TASK_TYPE_MARK_CARD, mMarkCardHandler,
                    new DeckTask.TaskData(mCurrentCard, 0));
            return true;
        }
        if (keyPressed == '-') {
            DeckTask.launchDeckTask(DeckTask.TASK_TYPE_DISMISS_NOTE, mDismissCardHandler,
                    new DeckTask.TaskData(mCurrentCard, 4));
            return true;
        }
        if (keyPressed == '=') {
            DeckTask.launchDeckTask(DeckTask.TASK_TYPE_DISMISS_NOTE, mDismissCardHandler,
                    new DeckTask.TaskData(mCurrentCard, 0));
            return true;
        }
        if (keyPressed == '@') {
            DeckTask.launchDeckTask(DeckTask.TASK_TYPE_DISMISS_NOTE, mDismissCardHandler,
                    new DeckTask.TaskData(mCurrentCard, 1));
            return true;
        }
        if (keyPressed == '!') {
            DeckTask.launchDeckTask(DeckTask.TASK_TYPE_DISMISS_NOTE, mDismissCardHandler,
                    new DeckTask.TaskData(mCurrentCard, 2));
            return true;
        }
        if (keyPressed == 'r' || keyCode == KeyEvent.KEYCODE_F5) {
            playSounds(true);
            return true;
        }
    }
    return super.onKeyUp(keyCode, event);
}

From source file:com.ichi2.anki.Reviewer.java

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    char keyPressed = (char) event.getUnicodeChar();
    if (mAnswerField != null && !mAnswerField.isFocused()) {
        if (sDisplayAnswer) {
            if (keyPressed == '1') {
                answerCard(EASE_1);/* ww  w .ja v a  2 s.  c om*/
                return true;
            }
            if (keyPressed == '2') {
                answerCard(EASE_2);
                return true;
            }
            if (keyPressed == '3') {
                answerCard(EASE_3);
                return true;
            }
            if (keyPressed == '4') {
                answerCard(EASE_4);
                return true;
            }
            if (keyCode == KeyEvent.KEYCODE_SPACE || keyCode == KeyEvent.KEYCODE_ENTER
                    || keyCode == KeyEvent.KEYCODE_NUMPAD_ENTER) {
                answerCard(getDefaultEase());
                return true;
            }
        }
        if (keyPressed == 'e') {
            editCard();
            return true;
        }
        if (keyPressed == '*') {
            onMark(mCurrentCard);
            refreshActionBar();
            return true;
        }
        if (keyPressed == '-') {
            DeckTask.launchDeckTask(DeckTask.TASK_TYPE_DISMISS_NOTE, mDismissCardHandler,
                    new DeckTask.TaskData(mCurrentCard, 4));
            return true;
        }
        if (keyPressed == '=') {
            DeckTask.launchDeckTask(DeckTask.TASK_TYPE_DISMISS_NOTE, mDismissCardHandler,
                    new DeckTask.TaskData(mCurrentCard, 0));
            return true;
        }
        if (keyPressed == '@') {
            DeckTask.launchDeckTask(DeckTask.TASK_TYPE_DISMISS_NOTE, mDismissCardHandler,
                    new DeckTask.TaskData(mCurrentCard, 1));
            return true;
        }
        if (keyPressed == '!') {
            DeckTask.launchDeckTask(DeckTask.TASK_TYPE_DISMISS_NOTE, mDismissCardHandler,
                    new DeckTask.TaskData(mCurrentCard, 2));
            return true;
        }
        if (keyPressed == 'r' || keyCode == KeyEvent.KEYCODE_F5) {
            playSounds(true);
            return true;
        }

        // different from Anki Desktop
        if (keyPressed == 'z') {
            undo();
            return true;
        }
    }
    return super.onKeyUp(keyCode, event);
}

From source file:br.com.carlosrafaelgn.fplay.ActivityBrowserRadio.java

@Override
public boolean onBgListViewKeyDown(BgListView bgListView, int keyCode, KeyEvent event) {
    int p;/* w  w w  . ja  v a  2s.co  m*/
    switch (keyCode) {
    case KeyEvent.KEYCODE_DPAD_LEFT:
        if (btnSearch.getVisibility() == View.VISIBLE)
            btnSearch.requestFocus();
        else
            btnGoBack.requestFocus();
        return true;
    case KeyEvent.KEYCODE_DPAD_RIGHT:
        btnGoBackToPlayer.requestFocus();
        return true;
    case KeyEvent.KEYCODE_ENTER:
    case KeyEvent.KEYCODE_DPAD_CENTER:
    case KeyEvent.KEYCODE_0:
    case KeyEvent.KEYCODE_SPACE:
        p = radioStationList.getSelection();
        if (p >= 0)
            processItemClick(p);
        return true;
    }
    return false;
}