下面列出了android.view.KeyEvent#isNumLockOn ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public boolean onKeyEvent(KeyEvent event, EventId eventId) {
// Lock state changes should only occur on key up. If we don't check for key up, two events
// will fire. This is especially noticeable if the user holds down the Caps Lock key for
// a while before releasing.
if (event.getAction() == KeyEvent.ACTION_UP) {
if (event.getKeyCode() == KeyEvent.KEYCODE_CAPS_LOCK) {
if (event.isCapsLockOn()) {
compositor.handleEvent(Compositor.EVENT_CAPS_LOCK_ON, eventId);
} else {
compositor.handleEvent(Compositor.EVENT_CAPS_LOCK_OFF, eventId);
}
} else if (event.getKeyCode() == KeyEvent.KEYCODE_NUM_LOCK) {
if (event.isNumLockOn()) {
compositor.handleEvent(Compositor.EVENT_NUM_LOCK_ON, eventId);
} else {
compositor.handleEvent(Compositor.EVENT_NUM_LOCK_OFF, eventId);
}
} else if (event.getKeyCode() == KeyEvent.KEYCODE_SCROLL_LOCK) {
if (event.isScrollLockOn()) {
compositor.handleEvent(Compositor.EVENT_SCROLL_LOCK_ON, eventId);
} else {
compositor.handleEvent(Compositor.EVENT_SCROLL_LOCK_OFF, eventId);
}
}
}
return false; // Never intercept keys; only report on their state.
}
/**
* Checks whether the given event is any of DPAD down or NUMPAD down.
* @param event Event to be checked.
* @return Whether the event should be processed as a navigation down.
*/
public static boolean isGoDown(KeyEvent event) {
return isActionDown(event) && (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_DOWN
|| (!event.isNumLockOn() && event.getKeyCode() == KeyEvent.KEYCODE_NUMPAD_2));
}
/**
* Checks whether the given event is any of DPAD up or NUMPAD up.
* @param event Event to be checked.
* @return Whether the event should be processed as a navigation up.
*/
public static boolean isGoUp(KeyEvent event) {
return isActionDown(event) && (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_UP
|| (!event.isNumLockOn() && event.getKeyCode() == KeyEvent.KEYCODE_NUMPAD_8));
}
/**
* Checks whether the given event is any of DPAD right or NUMPAD right.
* @param event Event to be checked.
* @return Whether the event should be processed as a navigation right.
*/
public static boolean isGoRight(KeyEvent event) {
return isActionDown(event) && (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_RIGHT
|| (!event.isNumLockOn() && event.getKeyCode() == KeyEvent.KEYCODE_NUMPAD_6));
}
/**
* Checks whether the given event is any of DPAD down or NUMPAD down.
* @param event Event to be checked.
* @return Whether the event should be processed as a navigation down.
*/
public static boolean isGoDown(KeyEvent event) {
return isActionDown(event) && (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_DOWN
|| (!event.isNumLockOn() && event.getKeyCode() == KeyEvent.KEYCODE_NUMPAD_2));
}
/**
* Checks whether the given event is any of DPAD up or NUMPAD up.
* @param event Event to be checked.
* @return Whether the event should be processed as a navigation up.
*/
public static boolean isGoUp(KeyEvent event) {
return isActionDown(event) && (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_UP
|| (!event.isNumLockOn() && event.getKeyCode() == KeyEvent.KEYCODE_NUMPAD_8));
}
/**
* Checks whether the given event is any of DPAD right or NUMPAD right.
* @param event Event to be checked.
* @return Whether the event should be processed as a navigation right.
*/
public static boolean isGoRight(KeyEvent event) {
return isActionDown(event) && (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_RIGHT
|| (!event.isNumLockOn() && event.getKeyCode() == KeyEvent.KEYCODE_NUMPAD_6));
}
/**
* Checks whether the given event is any of DPAD down or NUMPAD down.
* @param event Event to be checked.
* @return Whether the event should be processed as a navigation down.
*/
public static boolean isGoDown(KeyEvent event) {
return isActionDown(event) && (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_DOWN
|| (!event.isNumLockOn() && event.getKeyCode() == KeyEvent.KEYCODE_NUMPAD_2));
}
/**
* Checks whether the given event is any of DPAD up or NUMPAD up.
* @param event Event to be checked.
* @return Whether the event should be processed as a navigation up.
*/
public static boolean isGoUp(KeyEvent event) {
return isActionDown(event) && (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_UP
|| (!event.isNumLockOn() && event.getKeyCode() == KeyEvent.KEYCODE_NUMPAD_8));
}
/**
* Checks whether the given event is any of DPAD right or NUMPAD right.
* @param event Event to be checked.
* @return Whether the event should be processed as a navigation right.
*/
public static boolean isGoRight(KeyEvent event) {
return isActionDown(event) && (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_RIGHT
|| (!event.isNumLockOn() && event.getKeyCode() == KeyEvent.KEYCODE_NUMPAD_6));
}