Что я хочу : Чтобы узнать, когда пользователь нажал кнопку, например, с цифрой «2».Мне все равно, нажата ли клавиша «Alt» или «Shift».Пользователь нажал кнопку, и я хочу оценить, напечатана ли на этой кнопке цифра 2.
Естественно, если я переключаю устройства, эта клавиша изменится.На Bold 9700/9500 это клавиша 'E'.На «Жемчужине» это клавиша «T» / «Y».
Мне удалось заставить это работать, как кажется, окольным путем, посмотрев код клавиши символа «2». с кнопкой ALT и использованием Keypad.key()
для получения фактической кнопки:
// figure out which key the '2' is on:
final int BUTTON_2_KEY = Keypad.key(KeypadUtil.getKeyCode('2', KeypadListener.STATUS_ALT, KeypadUtil.MODE_EN_LOCALE));
protected boolean keyDown(int keycode, int time) {
int key = Keypad.key(keycode);
if ( key == BUTTON_2_KEY ) {
// do something
return true;
}
return super.keyDown(keycode,time);
}
Я не могу не задаться вопросом, есть ли лучший способ сделать это.Я посмотрел на константы, определенные в KeypadListener
и Keypad
, но не могу найти какие-либо константы, сопоставленные с фактическими кнопками на устройстве.
Не хотели бы более опытные разработчики BlackBerry оказать помощьрука?
Спасибо!