Как создать приложение BlackBerry для доступа к оборудованию низкого уровня? - PullRequest
3 голосов
/ 16 февраля 2010

Я написал несколько приложений для BlackBerry, но сейчас я пытаюсь написать приложение, которое должно иметь доступ к аппаратному обеспечению (клавиатуре) каким-то низкоуровневым способом, и я не могу найти ни способа это сделать, ни какой-либо другой помогите ему в «официальных» досках.

Дело в том, что мне нужно знать, когда в любое время нажимается клавиша '$' на клавиатуре Blackberry, чтобы мое приложение (или резидентная служба) могло его перехватить, чтобы не отображался символ '$', и если пользователь нажимает следующий гласный, то добавляет акцент к этому гласному ... и если он нажимает другую клавишу, просто отправьте обратно символ '$' + другой символ.

т.е. '$' + 'a' = а

Другими словами, мне нужно создать приложение или сервис, который преобразует клавишу '$' в клавишу акцента, точно так же, как работает обычная клавиатура ПК за пределами США.

Теперь вот проблема: вся ОС Blackberry работает под виртуальной машиной Java (своего рода превращение JVM в настоящую ОС). Как вы можете себе представить, каждое приложение, написанное для него, написано на Java.

Очевидно, что в их реализации Java есть набор специальных библиотек API BlackBerry, так что разработчик может получить доступ к определенным функциям и возможностям Blackberry ... однако, кажется, нет ничего, что я мог бы использовать для достижения своей конкретной задачи .

Но тогда, может быть, есть, и я не нашел его, так как я все еще новичок в программировании Blackberry.

Итак, в этой заметке любая помощь или комментарий будут высоко оценены.

-Габриэль Алонсо.

Ответы [ 3 ]

1 голос
/ 16 февраля 2010

Экран должен иметь фокус, чтобы можно было получить ключевое событие.

RIM не разрешает низкоуровневый доступ к своему оборудованию по соображениям безопасности.

Нажмите и удерживайте нажатой буквенную клавишу и поверните колесико с накаткой для прокрутки между международными символами / символами ударения, символами уравнений и другими отметками.

Вот источник

0 голосов
/ 22 октября 2010

Это очень поздний ответ, однако ...

Вы можете использовать keyChar (элемент экрана и KeyListenerInterface), чтобы перехватить любую клавишу - для первой буквы захватить нажатую клавишу. Если это «$», держитесь за него и не вызывайте super.keyChar. На следующем keyChar (или после задержки без ввода) выполните отображение, если $ был ранее нажат, и отправьте код сконструированного символа в вызов super.keyChar. keyDown и keyUp могут использоваться аналогично, если keyChar представляет проблемы с реализацией.

0 голосов
/ 16 февраля 2010

Blackberry не разрешают выполнять приложения, если они используют определенный API, не говоря уже о низкоуровневом программировании.

Все, что вы можете использовать в своих приложениях для работы с клавиатурой, - это возможности Java. Как интерфейс KeyListener и класс клавиатуры.

...