我已经写了一些黑莓手机应用程序,但现在我正在尝试编写一个必须以某种低级别方式访问硬件(键盘)的应用程序,而且我似乎无法找到一种方法来实现它,也没有在'官方'董事会帮助它。
问题是,我需要知道在黑莓键盘上按下'$'键的时间,所以我的应用程序(或常驻服务)可以捕获它,停止'$'字符显示,如果用户接下来按下元音,则为该元音添加一个重音...如果它按下另一个键,只需发回'$'字符+另一个字符。
即。 '$'+'a'=á
换句话说,我需要创建一个应用程序或服务,将'$'键转换为重音键,就像典型的非美国PC键盘一样。
现在问题在于:整个Blackberry OS在Java虚拟机下运行(将JVM变为实际的操作系统)。所以你可以想象,为它编写的每个应用程序都是用Java编写的。
在他们的Java实现中显然有一组特殊的黑莓api库,因此开发人员能够访问特定的Blackberry功能和特性......但是似乎没有什么东西可以用来完成我的特定任务
但是也许有,而且我还没有找到它,因为我还是Blackberry Programming的新手。
因此,在该说明中,将非常感谢任何帮助或评论。
-Gabriel Alonso。
答案 0 :(得分:1)
答案 1 :(得分:0)
Blackberry不允许执行应用程序,如果他们使用某些API,更不用说低级编程了。
您可以在应用程序中使用键盘处理 - 这是Java的可能性。与KeyListener接口和Keypad类一样。
答案 2 :(得分:0)
这是一个非常晚的回复,但是......
您可以使用keyChar(屏幕成员和KeyListenerInterface)拦截任何键 - 对于第一个字母,捕获按下的键。如果它是“$”保持它并且不要调用super.keyChar。在下一个keyChar(或没有输入的延迟之后)执行你的映射,如果$先前被按下,并将你设计的字符代码发送到super.keyChar调用。如果keyChar存在实现问题,则可以类似地使用keyDown和keyUp。