再次请教一个问题,有关手机键盘的两个软键的键值

liqun5218 2005-01-23 06:03:58
请问在全屏下如何让两个软键(SOFTKEY1,SOFTKEY2)响应事件。
我知道用NOKIA的包的话可以用keycode==KEY_SOFTKEY1来判断,可是KEY_SOFTKEY1好像是NOKIA包里提供的,在MIDP2.0里就没有。
试了好久都没测试出来那两个键的键值是多少?在模拟器上测试的是SOFTKEY1和SOFTKEY2,但到了手机上就不行了。。请问这两个键的真实键值是什么?是不是每部手机的那两键的值都相同呢?
...全文
222 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
岳振 2005-02-15
  • 打赏
  • 举报
回复
Nokia比较方便,但其他机型还是添加Command吧。
有的机型软键根本没有键值(不会在keyPressed(int key)被捕获),比如NECN810
lonelymoon 2005-02-14
  • 打赏
  • 举报
回复
给你几个我做过的机器的值(左/右)
moto c650 -21/-22
mote v878 -16/-18
moto v300系列 21/22
ALCATEL OT756 -21/-22
sie-CX65,M65 -1/-4
ALCATEL OT735i,NEC N810,NEC N820,SE T618,SE T628 用commandaction

每个新机器必须都用真机测试一下,除了数字键,别的基本都不一样
lonelymoon 2005-02-14
  • 打赏
  • 举报
回复
大部分手机都各自不一样,找真机测试吧
还有不少机器只能用commandaction来截事件
zyp80 2005-02-10
  • 打赏
  • 举报
回复
小心三星的没有返回键值,只能commandaction
Javcs 2005-02-06
  • 打赏
  • 举报
回复
路过学习~~~~
egxsun 2005-02-06
  • 打赏
  • 举报
回复
up
网络咖啡 2005-02-03
  • 打赏
  • 举报
回复
测试一下就可以了,大部分手机还是一样的.
xinianyang 2005-02-03
  • 打赏
  • 举报
回复
机型 6600 7610
上 -1 -1
下 -2 -2
左 -3 -3
右 -4 -4
中 -5 -5
左软 -6 -6
右软 -7 -7
做过12种不同机型的移植工作,从来没遇到你说的情况.这我们做的机型按键表格,你看看,能不能对你有帮助!
IsGoldenFinger 2005-02-03
  • 打赏
  • 举报
回复
左-6右-7不会错的
crazypc 2005-01-25
  • 打赏
  • 举报
回复
SOFTKEY_1和SOFTKEY_2 是 keyName, -6,-7 是 keyCode。
只要在 keyPressed(int keyCode) 里判断keyCode就行了,每个机器的SOFTKEY_1和SOFTKEY_2对应的keyCode都不一样,需要测试一下。
goodnow 2005-01-25
  • 打赏
  • 举报
回复
大部分手机的软键值是这样的

final int SOFTKEY1 =-6; //左软键值
final int SOFTKEY2 =-7; //右软键值
liqun5218 2005-01-24
  • 打赏
  • 举报
回复
谢谢
我写过了,在模拟器中能获取到那两个键的键值,分别是SOFTKEY_1和SOFTKEY_2。在NOKIA的手机上却测不到,而它的那两键的键值以应该是KEY_SOFTKEY1和KEY_SOFTKEY2 ,可是就是测不到,不知道怎么回事?

如果没有通用的键值,那在全屏模式下如何让两个软键都能响应事件?
efei 2005-01-24
  • 打赏
  • 举报
回复
肯定不会相同啊,各个手机有各个手机的设置

告诉你一个方法,你写一个测试程序,把keyPressed事件中的keyCode输出到屏幕上,然后就可以知道任意键的键值了
efei 2005-01-24
  • 打赏
  • 举报
回复


在有些手机上,如果无法响应左右两个软键的事件,可以做相应的映射处理

方法是,添加两个Command,并Listen之

然后在commandAction里根据不同条件调用keyPressed:
if(cmd==cmdLeft){
keyPressed(KEY_LEFTSOFT);
}else if(cmd==cmdRight){
keyPressed(KEY_RIGHTSOFT);
}
cnesky 2005-01-24
  • 打赏
  • 举报
回复
nokia 上直接调用KEY_SOFTKEY1 和 KEY_SOFTKEY2就可以了,不用知道键值具体是多少。

乐百 2005-01-24
  • 打赏
  • 举报
回复
如果没有通用的键值,那在全屏模式下如何让两个软键都能响应事件?
_________________________________________________________________
如果是你使用的是NOKIA
全屏的时候左边的是和LEFT,右边是和RIGHT是相同的!!!
而且全屏是没有CommandListen的!
就知道一点,希望对你有帮助!建议考虑不要使用这2个键来控制!!!
eric_uugames 2005-01-24
  • 打赏
  • 举报
回复
兄弟,这个问题我知道。
想要在Canvas.keyPressed(int keyCode)中捕获倒softkey不一定总是可以得,在有的真机(如SA T618)上,按软键根本就不触发keyPressed。就算触发,各个机器也不一样,甚至模拟器和真机的都不一样。

建议你从设计上考虑避开这个问题

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧