Example usage for android.view KeyEvent KEYCODE_DPAD_LEFT

List of usage examples for android.view KeyEvent KEYCODE_DPAD_LEFT

Introduction

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

Prototype

int KEYCODE_DPAD_LEFT

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

Click Source Link

Document

Key code constant: Directional Pad Left key.

Usage

From source file:com.undatech.opaque.RemoteCanvasActivity.java

/**
 * Initializes the on-screen keys for meta keys and arrow keys.
 *//*from w  w w .j  a va2 s. c o m*/
private void initializeOnScreenKeys() {

    layoutKeys = (RelativeLayout) findViewById(R.id.layoutKeys);

    keyStow = (ImageButton) findViewById(R.id.keyStow);
    setKeyStowDrawableAndVisibility();
    keyStow.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            if (layoutKeys.getVisibility() == View.VISIBLE) {
                extraKeysHidden = true;
                setExtraKeysVisibility(View.GONE, false);
            } else {
                extraKeysHidden = false;
                setExtraKeysVisibility(View.VISIBLE, true);
            }
            layoutKeys.offsetTopAndBottom(prevBottomOffset);
            setKeyStowDrawableAndVisibility();
        }
    });

    // Define action of tab key and meta keys.
    keyTab = (ImageButton) findViewById(R.id.keyTab);
    keyTab.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View arg0, MotionEvent e) {
            RemoteKeyboard k = canvas.getKeyboard();
            int key = KeyEvent.KEYCODE_TAB;
            if (e.getAction() == MotionEvent.ACTION_DOWN) {
                myVibrator.vibrate(Constants.SHORT_VIBRATION);
                keyTab.setImageResource(R.drawable.tabon);
                k.repeatKeyEvent(key, new KeyEvent(e.getAction(), key));
                return true;
            } else if (e.getAction() == MotionEvent.ACTION_UP) {
                keyTab.setImageResource(R.drawable.taboff);
                resetOnScreenKeys(0);
                k.stopRepeatingKeyEvent();
                return true;
            }
            return false;
        }
    });

    keyEsc = (ImageButton) findViewById(R.id.keyEsc);
    keyEsc.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View arg0, MotionEvent e) {
            RemoteKeyboard k = canvas.getKeyboard();
            int key = 111; /* KEYCODE_ESCAPE */
            if (e.getAction() == MotionEvent.ACTION_DOWN) {
                myVibrator.vibrate(Constants.SHORT_VIBRATION);
                keyEsc.setImageResource(R.drawable.escon);
                k.repeatKeyEvent(key, new KeyEvent(e.getAction(), key));
                return true;
            } else if (e.getAction() == MotionEvent.ACTION_UP) {
                keyEsc.setImageResource(R.drawable.escoff);
                resetOnScreenKeys(0);
                k.stopRepeatingKeyEvent();
                return true;
            }
            return false;
        }
    });

    keyCtrl = (ImageButton) findViewById(R.id.keyCtrl);
    keyCtrl.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            boolean on = canvas.getKeyboard().onScreenCtrlToggle();
            keyCtrlToggled = false;
            if (on)
                keyCtrl.setImageResource(R.drawable.ctrlon);
            else
                keyCtrl.setImageResource(R.drawable.ctrloff);
        }
    });

    keyCtrl.setOnLongClickListener(new OnLongClickListener() {
        @Override
        public boolean onLongClick(View arg0) {
            myVibrator.vibrate(Constants.SHORT_VIBRATION);
            boolean on = canvas.getKeyboard().onScreenCtrlToggle();
            keyCtrlToggled = true;
            if (on)
                keyCtrl.setImageResource(R.drawable.ctrlon);
            else
                keyCtrl.setImageResource(R.drawable.ctrloff);
            return true;
        }
    });

    keySuper = (ImageButton) findViewById(R.id.keySuper);
    keySuper.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            boolean on = canvas.getKeyboard().onScreenSuperToggle();
            keySuperToggled = false;
            if (on)
                keySuper.setImageResource(R.drawable.superon);
            else
                keySuper.setImageResource(R.drawable.superoff);
        }
    });

    keySuper.setOnLongClickListener(new OnLongClickListener() {
        @Override
        public boolean onLongClick(View arg0) {
            myVibrator.vibrate(Constants.SHORT_VIBRATION);
            boolean on = canvas.getKeyboard().onScreenSuperToggle();
            keySuperToggled = true;
            if (on)
                keySuper.setImageResource(R.drawable.superon);
            else
                keySuper.setImageResource(R.drawable.superoff);
            return true;
        }
    });

    keyAlt = (ImageButton) findViewById(R.id.keyAlt);
    keyAlt.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            boolean on = canvas.getKeyboard().onScreenAltToggle();
            keyAltToggled = false;
            if (on)
                keyAlt.setImageResource(R.drawable.alton);
            else
                keyAlt.setImageResource(R.drawable.altoff);
        }
    });

    keyAlt.setOnLongClickListener(new OnLongClickListener() {
        @Override
        public boolean onLongClick(View arg0) {
            myVibrator.vibrate(Constants.SHORT_VIBRATION);
            boolean on = canvas.getKeyboard().onScreenAltToggle();
            keyAltToggled = true;
            if (on)
                keyAlt.setImageResource(R.drawable.alton);
            else
                keyAlt.setImageResource(R.drawable.altoff);
            return true;
        }
    });

    keyShift = (ImageButton) findViewById(R.id.keyShift);
    keyShift.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            boolean on = canvas.getKeyboard().onScreenShiftToggle();
            keyShiftToggled = false;
            if (on)
                keyShift.setImageResource(R.drawable.shifton);
            else
                keyShift.setImageResource(R.drawable.shiftoff);
        }
    });

    keyShift.setOnLongClickListener(new OnLongClickListener() {
        @Override
        public boolean onLongClick(View arg0) {
            myVibrator.vibrate(Constants.SHORT_VIBRATION);
            boolean on = canvas.getKeyboard().onScreenShiftToggle();
            keyShiftToggled = true;
            if (on)
                keyShift.setImageResource(R.drawable.shifton);
            else
                keyShift.setImageResource(R.drawable.shiftoff);
            return true;
        }
    });

    // Define action of arrow keys.
    keyUp = (ImageButton) findViewById(R.id.keyUpArrow);
    keyUp.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View arg0, MotionEvent e) {
            RemoteKeyboard k = canvas.getKeyboard();
            int key = KeyEvent.KEYCODE_DPAD_UP;
            if (e.getAction() == MotionEvent.ACTION_DOWN) {
                myVibrator.vibrate(Constants.SHORT_VIBRATION);
                keyUp.setImageResource(R.drawable.upon);
                k.repeatKeyEvent(key, new KeyEvent(e.getAction(), key));
                return true;
            } else if (e.getAction() == MotionEvent.ACTION_UP) {
                keyUp.setImageResource(R.drawable.upoff);
                resetOnScreenKeys(0);
                k.stopRepeatingKeyEvent();
                return true;
            }
            return false;
        }
    });

    keyDown = (ImageButton) findViewById(R.id.keyDownArrow);
    keyDown.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View arg0, MotionEvent e) {
            RemoteKeyboard k = canvas.getKeyboard();
            int key = KeyEvent.KEYCODE_DPAD_DOWN;
            if (e.getAction() == MotionEvent.ACTION_DOWN) {
                myVibrator.vibrate(Constants.SHORT_VIBRATION);
                keyDown.setImageResource(R.drawable.downon);
                k.repeatKeyEvent(key, new KeyEvent(e.getAction(), key));
                return true;
            } else if (e.getAction() == MotionEvent.ACTION_UP) {
                keyDown.setImageResource(R.drawable.downoff);
                resetOnScreenKeys(0);
                k.stopRepeatingKeyEvent();
                return true;
            }
            return false;
        }
    });

    keyLeft = (ImageButton) findViewById(R.id.keyLeftArrow);
    keyLeft.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View arg0, MotionEvent e) {
            RemoteKeyboard k = canvas.getKeyboard();
            int key = KeyEvent.KEYCODE_DPAD_LEFT;
            if (e.getAction() == MotionEvent.ACTION_DOWN) {
                myVibrator.vibrate(Constants.SHORT_VIBRATION);
                keyLeft.setImageResource(R.drawable.lefton);
                k.repeatKeyEvent(key, new KeyEvent(e.getAction(), key));
                return true;
            } else if (e.getAction() == MotionEvent.ACTION_UP) {
                keyLeft.setImageResource(R.drawable.leftoff);
                resetOnScreenKeys(0);
                k.stopRepeatingKeyEvent();
                return true;
            }
            return false;
        }
    });

    keyRight = (ImageButton) findViewById(R.id.keyRightArrow);
    keyRight.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View arg0, MotionEvent e) {
            RemoteKeyboard k = canvas.getKeyboard();
            int key = KeyEvent.KEYCODE_DPAD_RIGHT;
            if (e.getAction() == MotionEvent.ACTION_DOWN) {
                myVibrator.vibrate(Constants.SHORT_VIBRATION);
                keyRight.setImageResource(R.drawable.righton);
                k.repeatKeyEvent(key, new KeyEvent(e.getAction(), key));
                return true;
            } else if (e.getAction() == MotionEvent.ACTION_UP) {
                keyRight.setImageResource(R.drawable.rightoff);
                resetOnScreenKeys(0);
                k.stopRepeatingKeyEvent();
                return true;
            }
            return false;
        }
    });
}

From source file:net.evendanan.android.thumbremote.ui.RemoteUiActivity.java

/**
 * Handler an android keypress and send it to boxee if appropriate.
 *//*from  w  ww .  j  a v  a  2  s  .c  o m*/
@Override
public boolean onKeyDown(final int keyCode, final KeyEvent event) {
    switch (keyCode) {
    case KeyEvent.KEYCODE_BACK:
        if (RemoteApplication.getConfig().getHandleBack()) {
            Log.d(TAG, "Will handle back");
            if (mBoundService != null)
                mBoundService.remoteBack();
            return true;
        } else {
            Log.d(TAG, "Will NOT handle back");
            return super.onKeyDown(keyCode, event);
        }

    case KeyEvent.KEYCODE_DPAD_CENTER:
        if (mBoundService != null)
            mBoundService.remoteSelect();
        return true;

    case KeyEvent.KEYCODE_DPAD_DOWN:
        if (mBoundService != null)
            mBoundService.remoteDown();
        return true;

    case KeyEvent.KEYCODE_DPAD_UP:
        if (mBoundService != null)
            mBoundService.remoteUp();
        return true;

    case KeyEvent.KEYCODE_DPAD_LEFT:
        if (mBoundService != null)
            mBoundService.remoteLeft();
        return true;

    case KeyEvent.KEYCODE_DPAD_RIGHT:
        if (mBoundService != null)
            mBoundService.remoteRight();
        return true;

    case KeyEvent.KEYCODE_VOLUME_UP:
    case KeyEvent.KEYCODE_VOLUME_DOWN:
        final int volumeFactor = (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) ? -1 : 1;
        final int volumeOffset = (volumeFactor * RemoteApplication.getConfig().getVolumeStep());
        if (mBoundService != null)
            mBoundService.remoteVolumeOffset(volumeOffset);
        return true;
    case KeyEvent.KEYCODE_DEL:
        if (mBoundService != null)
            mBoundService.remoteKeypress((char) 8);
        return true;
    default:
        final char unicodeChar = (char) event.getUnicodeChar();

        // Log.d(TAG, "Unicode is " + ((char)unicodeChar));

        if (Character.isLetterOrDigit(unicodeChar) || msPunctuation.contains(unicodeChar)) {
            // Log.d(TAG, "handling " + ((char)unicodeChar));
            if (mBoundService != null)
                mBoundService.remoteKeypress(unicodeChar);
            return true;
        } else {
            return super.onKeyDown(keyCode, event);
        }
    }
}

From source file:com.owen.tvrecyclerview.widget.TvRecyclerView.java

/**
 * keycode?Direction/*w w  w  .java2 s  . co  m*/
 * @param keyCode
 * @return
 */
private int keyCode2Direction(int keyCode) {
    switch (keyCode) {
    case KeyEvent.KEYCODE_DPAD_DOWN:
        return FOCUS_DOWN;

    case KeyEvent.KEYCODE_DPAD_RIGHT:
        return FOCUS_RIGHT;

    case KeyEvent.KEYCODE_DPAD_LEFT:
        return FOCUS_LEFT;

    case KeyEvent.KEYCODE_DPAD_UP:
        return FOCUS_UP;

    default:
        return -1;
    }
}

From source file:com.fishstix.dosboxfree.DBGLSurfaceView.java

@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
private void processJoystickInput(MotionEvent event, int historyPos) {
    float hatX = 0.0f;
    InputDevice.MotionRange range = event.getDevice().getMotionRange(MotionEvent.AXIS_HAT_X, event.getSource());
    if (range != null) {
        if (historyPos >= 0) {
            hatX = InputDeviceState.ProcessAxis(range,
                    event.getHistoricalAxisValue(MotionEvent.AXIS_HAT_X, historyPos));
        } else {//  w  w  w.  ja  v  a2s.co  m
            hatX = InputDeviceState.ProcessAxis(range, event.getAxisValue(MotionEvent.AXIS_HAT_X));
        }
    }

    float hatY = 0.0f;
    range = event.getDevice().getMotionRange(MotionEvent.AXIS_HAT_Y, event.getSource());
    if (range != null) {
        if (historyPos >= 0) {
            hatY = InputDeviceState.ProcessAxis(range,
                    event.getHistoricalAxisValue(MotionEvent.AXIS_HAT_Y, historyPos));
        } else {
            hatY = InputDeviceState.ProcessAxis(range, event.getAxisValue(MotionEvent.AXIS_HAT_Y));
        }
    }

    float joyX = 0.0f;
    range = event.getDevice().getMotionRange(MotionEvent.AXIS_X, event.getSource());
    if (range != null) {
        if (historyPos >= 0) {
            joyX = InputDeviceState.ProcessAxis(range,
                    event.getHistoricalAxisValue(MotionEvent.AXIS_X, historyPos));
        } else {
            joyX = InputDeviceState.ProcessAxis(range, event.getAxisValue(MotionEvent.AXIS_X));
        }
    }

    float joyY = 0.0f;
    range = event.getDevice().getMotionRange(MotionEvent.AXIS_Y, event.getSource());
    if (range != null) {
        if (historyPos >= 0) {
            joyY = InputDeviceState.ProcessAxis(range,
                    event.getHistoricalAxisValue(MotionEvent.AXIS_Y, historyPos));
        } else {
            joyY = InputDeviceState.ProcessAxis(range, event.getAxisValue(MotionEvent.AXIS_Y));
        }
    }

    float joy2X = 0.0f;
    range = event.getDevice().getMotionRange(MotionEvent.AXIS_Z, event.getSource());
    if (range != null) {
        if (historyPos >= 0) {
            joy2X = InputDeviceState.ProcessAxis(range,
                    event.getHistoricalAxisValue(MotionEvent.AXIS_Z, historyPos));
        } else {
            joy2X = InputDeviceState.ProcessAxis(range, event.getAxisValue(MotionEvent.AXIS_Z));
        }
    }

    float joy2Y = 0.0f;
    range = event.getDevice().getMotionRange(MotionEvent.AXIS_RZ, event.getSource());
    if (range != null) {
        if (historyPos >= 0) {
            joy2Y = InputDeviceState.ProcessAxis(range,
                    event.getHistoricalAxisValue(MotionEvent.AXIS_RZ, historyPos));
        } else {
            joy2Y = InputDeviceState.ProcessAxis(range, event.getAxisValue(MotionEvent.AXIS_RZ));
        }
    }

    if (mAnalogStickPref == 0) {
        mMouseThread.setCoord(
                (int) ((Math.abs(joyX * 32.0f) > DEADZONE) ? (-joyX * 32.0f * mMouseSensitivityX) : 0),
                (int) ((Math.abs(joyY * 32.0f) > DEADZONE) ? (-joyY * 32.0f * mMouseSensitivityY) : 0));
        DosBoxControl.nativeJoystick((int) ((joy2X * 256.0f) + mJoyCenterX),
                (int) ((joy2Y * 256.0f) + mJoyCenterY), ACTION_MOVE, -1);
    } else {
        mMouseThread.setCoord(
                (int) ((Math.abs(joy2X * 32.0f) > DEADZONE) ? (-joy2X * 32.0f * mMouseSensitivityX) : 0),
                (int) ((Math.abs(joy2Y * 32.0f) > DEADZONE) ? (-joy2Y * 32.0f * mMouseSensitivityY) : 0));
        DosBoxControl.nativeJoystick((int) ((joyX * 256.0f) + mJoyCenterX),
                (int) ((joyY * 256.0f) + mJoyCenterY), ACTION_MOVE, -1);
    }

    // Handle all other keyevents
    int value = 0;
    int tKeyCode = MAP_NONE;

    if (hatX < 0) {
        value = customMap.get(KeyEvent.KEYCODE_DPAD_LEFT);
        if (value > 0) {
            // found a valid mapping
            tKeyCode = getMappedKeyCode(value, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_LEFT));
            if (tKeyCode > MAP_NONE) {
                DosBoxControl.sendNativeKey(tKeyCode, true, mModifierCtrl, mModifierAlt, mModifierShift);
            }
        }
        hatXlast = hatX;
    } else if (hatX > 0) {
        value = customMap.get(KeyEvent.KEYCODE_DPAD_RIGHT);
        if (value > 0) {
            // found a valid mapping
            tKeyCode = getMappedKeyCode(value, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_RIGHT));
            if (tKeyCode > MAP_NONE) {
                DosBoxControl.sendNativeKey(tKeyCode, true, mModifierCtrl, mModifierAlt, mModifierShift);
            }
        }
        hatXlast = hatX;
    } else {
        // released
        if (hatX != hatXlast) {
            if (hatXlast < 0) {
                value = customMap.get(KeyEvent.KEYCODE_DPAD_LEFT);
                if (value > 0) {
                    // found a valid mapping
                    tKeyCode = getMappedKeyCode(value,
                            new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_LEFT));
                    if (tKeyCode > MAP_NONE) {
                        DosBoxControl.sendNativeKey(tKeyCode, false, mModifierCtrl, mModifierAlt,
                                mModifierShift);
                    }
                }
            } else if (hatXlast > 0) {
                value = customMap.get(KeyEvent.KEYCODE_DPAD_RIGHT);
                if (value > 0) {
                    // found a valid mapping
                    tKeyCode = getMappedKeyCode(value,
                            new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_RIGHT));
                    if (tKeyCode > MAP_NONE) {
                        DosBoxControl.sendNativeKey(tKeyCode, false, mModifierCtrl, mModifierAlt,
                                mModifierShift);
                    }
                }
            }
        }
        hatXlast = hatX;
    }
    if (hatY < 0) {
        value = customMap.get(KeyEvent.KEYCODE_DPAD_UP);
        if (value > 0) {
            // found a valid mapping
            tKeyCode = getMappedKeyCode(value, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_UP));
            if (tKeyCode > MAP_NONE) {
                DosBoxControl.sendNativeKey(tKeyCode, true, mModifierCtrl, mModifierAlt, mModifierShift);
            }
        }
        hatYlast = hatY;
    } else if (hatY > 0) {
        value = customMap.get(KeyEvent.KEYCODE_DPAD_DOWN);
        if (value > 0) {
            // found a valid mapping
            tKeyCode = getMappedKeyCode(value, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_DOWN));
            if (tKeyCode > MAP_NONE) {
                DosBoxControl.sendNativeKey(tKeyCode, true, mModifierCtrl, mModifierAlt, mModifierShift);
            }
        }
        hatYlast = hatY;
    } else {
        // released
        if (hatY != hatYlast) {
            if (hatYlast < 0) {
                value = customMap.get(KeyEvent.KEYCODE_DPAD_UP);
                if (value > 0) {
                    // found a valid mapping
                    tKeyCode = getMappedKeyCode(value,
                            new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_UP));
                    if (tKeyCode > MAP_NONE) {
                        DosBoxControl.sendNativeKey(tKeyCode, false, mModifierCtrl, mModifierAlt,
                                mModifierShift);
                    }
                }
            } else if (hatYlast > 0) {
                value = customMap.get(KeyEvent.KEYCODE_DPAD_DOWN);
                if (value > 0) {
                    // found a valid mapping
                    tKeyCode = getMappedKeyCode(value,
                            new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_DOWN));
                    if (tKeyCode > MAP_NONE) {
                        DosBoxControl.sendNativeKey(tKeyCode, false, mModifierCtrl, mModifierAlt,
                                mModifierShift);
                    }
                }
            }
        }
        hatYlast = hatY;
    }
}

From source file:com.iiordanov.runsoft.bVNC.RemoteCanvasActivity.java

/**
  * Initializes the on-screen keys for meta keys and arrow keys.
  *//*from w w w.  j a  v  a  2  s  . c o  m*/
private void initializeOnScreenKeys() {

    layoutKeys = (RelativeLayout) findViewById(R.id.layoutKeys);

    keyStow = (ImageButton) findViewById(R.id.keyStow);
    setKeyStowDrawableAndVisibility();
    keyStow.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            if (layoutKeys.getVisibility() == View.VISIBLE) {
                extraKeysHidden = true;
                setExtraKeysVisibility(View.GONE, false);
            } else {
                extraKeysHidden = false;
                setExtraKeysVisibility(View.VISIBLE, true);
            }
            layoutKeys.offsetTopAndBottom(prevBottomOffset);
            setKeyStowDrawableAndVisibility();
        }
    });

    // Define action of tab key and meta keys.
    keyTab = (ImageButton) findViewById(R.id.keyTab);
    keyTab.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View arg0, MotionEvent e) {
            RemoteKeyboard k = canvas.getKeyboard();
            int key = KeyEvent.KEYCODE_TAB;
            if (e.getAction() == MotionEvent.ACTION_DOWN) {
                BCFactory.getInstance().getBCHaptic().performLongPressHaptic(canvas);
                keyTab.setImageResource(R.drawable.tabon);
                k.repeatKeyEvent(key, new KeyEvent(e.getAction(), key));
                return true;
            } else if (e.getAction() == MotionEvent.ACTION_UP) {
                keyTab.setImageResource(R.drawable.taboff);
                resetOnScreenKeys(0);
                k.stopRepeatingKeyEvent();
                return true;
            }
            return false;
        }
    });

    keyEsc = (ImageButton) findViewById(R.id.keyEsc);
    keyEsc.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View arg0, MotionEvent e) {
            RemoteKeyboard k = canvas.getKeyboard();
            int key = 111; /* KEYCODE_ESCAPE */
            if (e.getAction() == MotionEvent.ACTION_DOWN) {
                BCFactory.getInstance().getBCHaptic().performLongPressHaptic(canvas);
                keyEsc.setImageResource(R.drawable.escon);
                k.repeatKeyEvent(key, new KeyEvent(e.getAction(), key));
                return true;
            } else if (e.getAction() == MotionEvent.ACTION_UP) {
                keyEsc.setImageResource(R.drawable.escoff);
                resetOnScreenKeys(0);
                k.stopRepeatingKeyEvent();
                return true;
            }
            return false;
        }
    });

    keyCtrl = (ImageButton) findViewById(R.id.keyCtrl);
    keyCtrl.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            boolean on = canvas.getKeyboard().onScreenCtrlToggle();
            keyCtrlToggled = false;
            if (on)
                keyCtrl.setImageResource(R.drawable.ctrlon);
            else
                keyCtrl.setImageResource(R.drawable.ctrloff);
        }
    });

    keyCtrl.setOnLongClickListener(new OnLongClickListener() {
        @Override
        public boolean onLongClick(View arg0) {
            BCFactory.getInstance().getBCHaptic().performLongPressHaptic(canvas);
            boolean on = canvas.getKeyboard().onScreenCtrlToggle();
            keyCtrlToggled = true;
            if (on)
                keyCtrl.setImageResource(R.drawable.ctrlon);
            else
                keyCtrl.setImageResource(R.drawable.ctrloff);
            return true;
        }
    });

    keySuper = (ImageButton) findViewById(R.id.keySuper);
    keySuper.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            boolean on = canvas.getKeyboard().onScreenSuperToggle();
            keySuperToggled = false;
            if (on)
                keySuper.setImageResource(R.drawable.superon);
            else
                keySuper.setImageResource(R.drawable.superoff);
        }
    });

    keySuper.setOnLongClickListener(new OnLongClickListener() {
        @Override
        public boolean onLongClick(View arg0) {
            BCFactory.getInstance().getBCHaptic().performLongPressHaptic(canvas);
            boolean on = canvas.getKeyboard().onScreenSuperToggle();
            keySuperToggled = true;
            if (on)
                keySuper.setImageResource(R.drawable.superon);
            else
                keySuper.setImageResource(R.drawable.superoff);
            return true;
        }
    });

    keypad = (HangulKeypad) findViewById(R.id.hangul_keypad);
    keypad.setVncKeyboard(canvas);
    keypad.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            btnChatShowToggle.setVisibility(View.VISIBLE);
            keypad.setVisibility(View.GONE);
            keypad.setTag("");
            keyKor.setVisibility(View.VISIBLE);
            if (v.getId() == R.id.key_show_eng) {
                InputMethodManager inputMgr = (InputMethodManager) getSystemService(
                        Context.INPUT_METHOD_SERVICE);
                inputMgr.toggleSoftInput(0, 0);
            }
        }
    });

    //TODO
    keyKor = (Button) findViewById(R.id.keyKor);
    keyKor.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            String toggle = (String) keypad.getTag();

            if (TextUtils.isEmpty(toggle)) {
                InputMethodManager inputMgr = (InputMethodManager) getSystemService(
                        Context.INPUT_METHOD_SERVICE);
                inputMgr.hideSoftInputFromWindow(btnChatShowToggle.getWindowToken(), 0);

                new Handler().postDelayed(new Runnable() {

                    @Override
                    public void run() {
                        canvas.getKeyboard().processLocalKeyEvent(144, new KeyEvent(144, 0));

                        keyKor.setVisibility(View.GONE);
                        keypad.setVisibility(View.VISIBLE);
                        keypad.setTag("1");
                    }
                }, 500);
            } else {
                keyKor.setVisibility(View.VISIBLE);
                btnChatShowToggle.setVisibility(View.VISIBLE);

                keypad.setVisibility(View.GONE);
                keypad.setTag("");
            }
        }
    });

    keyAlt = (ImageButton) findViewById(R.id.keyAlt);
    keyAlt.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            boolean on = canvas.getKeyboard().onScreenAltToggle();
            keyAltToggled = false;
            if (on)
                keyAlt.setImageResource(R.drawable.alton);
            else
                keyAlt.setImageResource(R.drawable.altoff);
        }
    });

    keyAlt.setOnLongClickListener(new OnLongClickListener() {
        @Override
        public boolean onLongClick(View arg0) {
            BCFactory.getInstance().getBCHaptic().performLongPressHaptic(canvas);
            boolean on = canvas.getKeyboard().onScreenAltToggle();
            keyAltToggled = true;
            if (on)
                keyAlt.setImageResource(R.drawable.alton);
            else
                keyAlt.setImageResource(R.drawable.altoff);
            return true;
        }
    });

    keyShift = (ImageButton) findViewById(R.id.keyShift);
    keyShift.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            boolean on = canvas.getKeyboard().onScreenShiftToggle();
            keyShiftToggled = false;
            if (on)
                keyShift.setImageResource(R.drawable.shifton);
            else
                keyShift.setImageResource(R.drawable.shiftoff);
        }
    });

    keyShift.setOnLongClickListener(new OnLongClickListener() {
        @Override
        public boolean onLongClick(View arg0) {
            BCFactory.getInstance().getBCHaptic().performLongPressHaptic(canvas);
            boolean on = canvas.getKeyboard().onScreenShiftToggle();
            keyShiftToggled = true;
            if (on)
                keyShift.setImageResource(R.drawable.shifton);
            else
                keyShift.setImageResource(R.drawable.shiftoff);
            return true;
        }
    });

    // vncCanvas.sendMetaKey(MetaKeyBean.keyArrowLeft);

    // Define action of arrow keys.
    keyUp = (ImageButton) findViewById(R.id.keyUpArrow);
    keyUp.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View arg0, MotionEvent e) {
            RemoteKeyboard k = canvas.getKeyboard();
            int key = KeyEvent.KEYCODE_DPAD_UP;
            if (e.getAction() == MotionEvent.ACTION_DOWN) {
                BCFactory.getInstance().getBCHaptic().performLongPressHaptic(canvas);
                keyUp.setImageResource(R.drawable.upon);
                k.repeatKeyEvent(key, new KeyEvent(e.getAction(), key));
                return true;
            } else if (e.getAction() == MotionEvent.ACTION_UP) {
                keyUp.setImageResource(R.drawable.upoff);
                resetOnScreenKeys(0);
                k.stopRepeatingKeyEvent();
                return true;
            }
            return false;
        }
    });

    keyDown = (ImageButton) findViewById(R.id.keyDownArrow);
    keyDown.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View arg0, MotionEvent e) {
            RemoteKeyboard k = canvas.getKeyboard();
            int key = KeyEvent.KEYCODE_DPAD_DOWN;
            if (e.getAction() == MotionEvent.ACTION_DOWN) {
                BCFactory.getInstance().getBCHaptic().performLongPressHaptic(canvas);
                keyDown.setImageResource(R.drawable.downon);
                k.repeatKeyEvent(key, new KeyEvent(e.getAction(), key));
                return true;
            } else if (e.getAction() == MotionEvent.ACTION_UP) {
                keyDown.setImageResource(R.drawable.downoff);
                resetOnScreenKeys(0);
                k.stopRepeatingKeyEvent();
                return true;
            }
            return false;
        }
    });

    keyLeft = (ImageButton) findViewById(R.id.keyLeftArrow);
    keyLeft.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View arg0, MotionEvent e) {
            RemoteKeyboard k = canvas.getKeyboard();
            int key = KeyEvent.KEYCODE_DPAD_LEFT;
            if (e.getAction() == MotionEvent.ACTION_DOWN) {
                BCFactory.getInstance().getBCHaptic().performLongPressHaptic(canvas);
                keyLeft.setImageResource(R.drawable.lefton);
                k.repeatKeyEvent(key, new KeyEvent(e.getAction(), key));
                return true;
            } else if (e.getAction() == MotionEvent.ACTION_UP) {
                keyLeft.setImageResource(R.drawable.leftoff);
                resetOnScreenKeys(0);
                k.stopRepeatingKeyEvent();
                return true;
            }
            return false;
        }
    });

    keyRight = (ImageButton) findViewById(R.id.keyRightArrow);
    keyRight.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View arg0, MotionEvent e) {
            RemoteKeyboard k = canvas.getKeyboard();
            int key = KeyEvent.KEYCODE_DPAD_RIGHT;
            if (e.getAction() == MotionEvent.ACTION_DOWN) {
                BCFactory.getInstance().getBCHaptic().performLongPressHaptic(canvas);
                keyRight.setImageResource(R.drawable.righton);
                k.repeatKeyEvent(key, new KeyEvent(e.getAction(), key));
                return true;
            } else if (e.getAction() == MotionEvent.ACTION_UP) {
                keyRight.setImageResource(R.drawable.rightoff);
                resetOnScreenKeys(0);
                k.stopRepeatingKeyEvent();
                return true;
            }
            return false;
        }
    });
}

From source file:com.android.app.MediaPlaybackActivity.java

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    try {/*  ww w.  jav  a 2 s .  co  m*/
        switch (keyCode) {
        case KeyEvent.KEYCODE_DPAD_LEFT:
            if (!useDpadMusicControl()) {
                break;
            }
            if (mService != null) {
                if (!mSeeking && mStartSeekPos >= 0) {
                    mPauseButton.requestFocus();
                    if (mStartSeekPos < 1000) {
                        mService.prev();
                    } else {
                        mService.seek(0);
                    }
                } else {
                    scanBackward(-1, event.getEventTime() - event.getDownTime());
                    mPauseButton.requestFocus();
                    mStartSeekPos = -1;
                }
            }
            mSeeking = false;
            mPosOverride = -1;
            return true;
        case KeyEvent.KEYCODE_DPAD_RIGHT:
            if (!useDpadMusicControl()) {
                break;
            }
            if (mService != null) {
                if (!mSeeking && mStartSeekPos >= 0) {
                    mPauseButton.requestFocus();
                    mService.next();
                } else {
                    scanForward(-1, event.getEventTime() - event.getDownTime());
                    mPauseButton.requestFocus();
                    mStartSeekPos = -1;
                }
            }
            mSeeking = false;
            mPosOverride = -1;
            return true;
        }
    } catch (RemoteException ex) {
    }
    return super.onKeyUp(keyCode, event);
}

From source file:com.android.app.MediaPlaybackActivity.java

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    int direction = -1;
    int repcnt = event.getRepeatCount();

    if ((seekmethod == 0) ? seekMethod1(keyCode) : seekMethod2(keyCode))
        return true;

    switch (keyCode) {
    /*/*from   www  . j  a va2 s.  co m*/
    // image scale
    case KeyEvent.KEYCODE_Q: av.adjustParams(-0.05, 0.0, 0.0, 0.0, 0.0,-1.0); break;
    case KeyEvent.KEYCODE_E: av.adjustParams( 0.05, 0.0, 0.0, 0.0, 0.0, 1.0); break;
    // image translate
    case KeyEvent.KEYCODE_W: av.adjustParams(    0.0, 0.0,-1.0, 0.0, 0.0, 0.0); break;
    case KeyEvent.KEYCODE_X: av.adjustParams(    0.0, 0.0, 1.0, 0.0, 0.0, 0.0); break;
    case KeyEvent.KEYCODE_A: av.adjustParams(    0.0,-1.0, 0.0, 0.0, 0.0, 0.0); break;
    case KeyEvent.KEYCODE_D: av.adjustParams(    0.0, 1.0, 0.0, 0.0, 0.0, 0.0); break;
    // camera rotation
    case KeyEvent.KEYCODE_R: av.adjustParams(    0.0, 0.0, 0.0, 0.0, 0.0,-1.0); break;
    case KeyEvent.KEYCODE_U: av.adjustParams(    0.0, 0.0, 0.0, 0.0, 0.0, 1.0); break;
    // camera translate
    case KeyEvent.KEYCODE_Y: av.adjustParams(    0.0, 0.0, 0.0, 0.0,-1.0, 0.0); break;
    case KeyEvent.KEYCODE_N: av.adjustParams(    0.0, 0.0, 0.0, 0.0, 1.0, 0.0); break;
    case KeyEvent.KEYCODE_G: av.adjustParams(    0.0, 0.0, 0.0,-1.0, 0.0, 0.0); break;
    case KeyEvent.KEYCODE_J: av.adjustParams(    0.0, 0.0, 0.0, 1.0, 0.0, 0.0); break;
            
    */

    case KeyEvent.KEYCODE_SLASH:
        seekmethod = 1 - seekmethod;
        return true;

    case KeyEvent.KEYCODE_DPAD_LEFT:
        if (!useDpadMusicControl()) {
            break;
        }
        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_S:
        toggleShuffle();
        return true;

    case KeyEvent.KEYCODE_DPAD_CENTER:
    case KeyEvent.KEYCODE_SPACE:
        doPauseResume();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

From source file:io.github.vomitcuddle.SearchViewAllowEmpty.SearchView.java

/**
 * React to the user typing while in the suggestions list. First, check for
 * action keys. If not handled, try refocusing regular characters into the
 * EditText.//w  ww .  j  ava  2s .  c  o m
 */
private boolean onSuggestionsKey(View v, int keyCode, KeyEvent event) {
    // guard against possible race conditions (late arrival after dismiss)
    if (mSearchable == null) {
        return false;
    }
    if (mSuggestionsAdapter == null) {
        return false;
    }
    if (event.getAction() == KeyEvent.ACTION_DOWN && KeyEventCompat.hasNoModifiers(event)) {
        // First, check for enter or search (both of which we'll treat as a
        // "click")
        if (keyCode == KeyEvent.KEYCODE_ENTER || keyCode == KeyEvent.KEYCODE_SEARCH
                || keyCode == KeyEvent.KEYCODE_TAB) {
            int position = mQueryTextView.getListSelection();
            return onItemClicked(position, KeyEvent.KEYCODE_UNKNOWN, null);
        }

        // Next, check for left/right moves, which we use to "return" the
        // user to the edit view
        if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT || keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
            // give "focus" to text editor, with cursor at the beginning if
            // left key, at end if right key
            int selPoint = (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) ? 0 : mQueryTextView.length();
            mQueryTextView.setSelection(selPoint);
            mQueryTextView.setListSelection(0);
            mQueryTextView.clearListSelection();
            HIDDEN_METHOD_INVOKER.ensureImeVisible(mQueryTextView, true);

            return true;
        }

        // Next, check for an "up and out" move
        if (keyCode == KeyEvent.KEYCODE_DPAD_UP && 0 == mQueryTextView.getListSelection()) {
            // TODO: restoreUserQuery();
            // let ACTV complete the move
            return false;
        }
    }
    return false;
}

From source file:cm.aptoide.com.actionbarsherlock.widget.SearchView.java

/**
 * React to the user typing while in the suggestions list. First, check for
 * action keys. If not handled, try refocusing regular characters into the
 * EditText.// ww  w  .j  ava  2 s  .c  o  m
 */
private boolean onSuggestionsKey(View v, int keyCode, KeyEvent event) {
    // guard against possible race conditions (late arrival after dismiss)
    if (mSearchable == null) {
        return false;
    }
    if (mSuggestionsAdapter == null) {
        return false;
    }
    if (event.getAction() == KeyEvent.ACTION_DOWN && KeyEventCompat.hasNoModifiers(event)) {
        // First, check for enter or search (both of which we'll treat as a
        // "click")
        if (keyCode == KeyEvent.KEYCODE_ENTER || keyCode == KeyEvent.KEYCODE_SEARCH
                || keyCode == KeyEvent.KEYCODE_TAB) {
            int position = mQueryTextView.getListSelection();
            return onItemClicked(position, KeyEvent.KEYCODE_UNKNOWN, null);
        }

        // Next, check for left/right moves, which we use to "return" the
        // user to the edit view
        if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT || keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
            // give "focus" to text editor, with cursor at the beginning if
            // left key, at end if right key
            // TODO: Reverse left/right for right-to-left languages, e.g.
            // Arabic
            int selPoint = (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) ? 0 : mQueryTextView.length();
            mQueryTextView.setSelection(selPoint);
            mQueryTextView.setListSelection(0);
            mQueryTextView.clearListSelection();
            ensureImeVisible(mQueryTextView, true);

            return true;
        }

        // Next, check for an "up and out" move
        if (keyCode == KeyEvent.KEYCODE_DPAD_UP && 0 == mQueryTextView.getListSelection()) {
            // TODO: restoreUserQuery();
            // let ACTV complete the move
            return false;
        }

        // Next, check for an "action key"
        // TODO SearchableInfo.ActionKeyInfo actionKey = mSearchable.findActionKey(keyCode);
        // TODO if ((actionKey != null)
        // TODO         && ((actionKey.getSuggestActionMsg() != null) || (actionKey
        // TODO                 .getSuggestActionMsgColumn() != null))) {
        // TODO     // launch suggestion using action key column
        // TODO     int position = mQueryTextView.getListSelection();
        // TODO     if (position != ListView.INVALID_POSITION) {
        // TODO         Cursor c = mSuggestionsAdapter.getCursor();
        // TODO         if (c.moveToPosition(position)) {
        // TODO             final String actionMsg = getActionKeyMessage(c, actionKey);
        // TODO             if (actionMsg != null && (actionMsg.length() > 0)) {
        // TODO                 return onItemClicked(position, keyCode, actionMsg);
        // TODO             }
        // TODO         }
        // TODO     }
        // TODO }
    }
    return false;
}

From source file:android.widget.Gallery.java

/**
 * Handles left, right, and clicking/*from  w  w  w.  ja v a 2s . com*/
 * @see android.view.View#onKeyDown
 */
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    switch (keyCode) {

    case KeyEvent.KEYCODE_DPAD_LEFT:
        if (movePrevious()) {
            playSoundEffect(SoundEffectConstants.NAVIGATION_LEFT);
            return true;
        }
        break;
    case KeyEvent.KEYCODE_DPAD_RIGHT:
        if (moveNext()) {
            playSoundEffect(SoundEffectConstants.NAVIGATION_RIGHT);
            return true;
        }
        break;
    case KeyEvent.KEYCODE_DPAD_CENTER:
    case KeyEvent.KEYCODE_ENTER:
        mReceivedInvokeKeyDown = true;
        // fallthrough to default handling
    }

    return super.onKeyDown(keyCode, event);
}