Atalhos de teclado personalizados

Quero que meu aplicativo suporte atalhos de teclado. Muitos dispositivos, comoAsus Transformer tem teclado externo que temCtrl key (disponível no nível 11 da API). Eu fiz um código para checar seCtrl chave funciona no emulador:

@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);
}

Infelizmente ele não funciona no emulador e não consigo verificar em hardware real.

Eu tenho duas perguntas:
1. Funcionaria no dispositivo comoAsus Transformer?
2. Por queCtrl chave não funciona no emulador?

EDIT: tentei encontrar uma resposta ou solução para o meu problema, mas nem o Google nem o SO ajudou.

questionAnswers(1)

yourAnswerToTheQuestion