Пользовательские сочетания клавиш
Я хочу, чтобы мое приложение поддерживало сочетания клавиш. Многие устройства, такие какAsus Transformer
есть внешняя клавиатура, которая имеетCtrl ключ (доступен на уровне API 11). Я'мы сделали некоторый код, чтобы проверитьCtrl ключ работает в эмуляторе:
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(Build.VERSION.SDK_INT>10 &&
event.getAction()==KeyEvent.ACTION_DOWN &&
event.isCtrlPressed()){
String actionType="NONE";
final int keyCode = event.getKeyCode();
switch(keyCode){
case KeyEvent.KEYCODE_C:
actionType = "COPY";
break;
case KeyEvent.KEYCODE_V:
actionType = "PASTE";
break;
case KeyEvent.KEYCODE_X:
actionType = "CUT";
break;
case KeyEvent.KEYCODE_R:
actionType = "REFRESH";
break;
case KeyEvent.KEYCODE_A:
actionType = "SELECT ALL";
break;
}
Toast.makeText(ctx, actionType, Toast.LENGTH_SHORT).show();
return true;
}
return super.dispatchKeyEvent(event);
}
К сожалению это неработать в эмуляторе, а я не могупроверить это на реальном оборудовании.
У меня есть два вопроса:
1. Будет ли это работать на устройстве, как?Asus Transformer
2. ПочемуCtrl ключ не работает в эмуляторе?
РЕДАКТИРОВАТЬ: Я пытался найти ответ или решение своей проблемы, но ни Google, ни SO не помогли.