Вопрос по keyboard-shortcuts, android, ctrl, shortcuts, keyboard – Пользовательские сочетания клавиш

7

Я хочу, чтобы мое приложение поддерживало сочетания клавиш. Многие устройства, такие как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 не помогли.

Но как насчет аппаратных клавиатур с клавишей CTRL? Krzysztof Miemiec
на большинстве устройств нет клавиши CTRL (по крайней мере, на большинстве программных клавиатур) njzk2

Ваш Ответ

1   ответ
1

1. Would it work on device like Asus Transformer?

Я проверил мойAsus Transformer TF101 с физической клавиатурой (стандартная док-станция отAsus) а такжеyour code works fine, Я думаю, что вы можете использовать его без проблем.

2. Why CTRL key does not work in emulator?

Глядя насписок кнопок, которые можно отобразить (например, используяemulator -keysetЯ не думаю, что текущая версия эмулятора поддерживает прямойCtrl сопоставление клавиш, так что вам здесь не повезло.

Спасибо за ответ! Это хорошие новости. Я думаю, что было бы неплохо добавить опцию для изменения клавиши-модификатора, чтобы обеспечить поддержку для всех, у кого есть клавиатура для устройства Android. Krzysztof Miemiec

Похожие вопросы