找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 3994|回复: 25

[教程] Palm pre小技巧-节约使用你的PowerKey(电源键)

[复制链接]
发表于 2010-12-12 23:53 | 显示全部楼层 |阅读模式
更多内容可以访问我和我老婆的blog,夫妻扉片,访问的时候别忘了“支援”我们一下哈:)
4 d# k  u7 G$ p; \0 E一、 开篇$ I- l: \! r5 f3 h6 p8 o
2010年11月22日,不寻常的一天,这一天发生了两件我“毕生难忘”的事情(对于我而言):)。首先是天津正式启动携号转网;然后我又无法克制自己看手机的冲动去友人网观摩了一番。在此过程中,我办了一件错事——点击了Palm的图标,看到了Palmpre,想起了当年瘾科技上看到的无线充电,爱上了他的造型,在淘宝上搜了PP的价格,当发现PP的价格在我私房钱购买能力之内的时候,于11月30日入手一部Palm pre :(。
; m1 R* ^' s% T1 Z9 O/ j; C; Z) C  i" G二、 问题的产生4 ^6 y+ U5 m6 i9 w" L
为什么要说我办了一件错事呢?因为11月22日-11月30日之间我查阅了一些资料,主要是关于PP滑道问题、电源键问题、屏幕问题、漏接电话问题…(上面的“…”真的是“…”,貌似还有其他的问题)。并且在51(duzi)及treo8(heihei1981)上分别咨询了关于上述问题出现的几率,不过大部分回帖我都忘记了,只记得有人告诉我“既然喜欢,何必在乎那么多呢”。而后闪电出手,入了一部。但是问题还是要解决的呀,大家说1.4.5的漏接电话已经解决了,还好,目前我还没碰到。滑道和PowerKey属于硬件设计问题,没办法了,只能少用滑道和PowerKey!
7 f- G+ R2 C* l2 s8 A  y少用滑道好说,我不用键盘就好啦,装个虚拟键盘凑合凑合。但是电源键呢?关屏幕我不用(JS卖给我的时候有相关软件);重启不用(开始用Internal菜单里面的选项,后来发现了Terminal,就用reboot命令,再后来发现DeviceInfo里也有重启命令,再后来听说橙色键+sym+R也能重启【没试过,需要滑盖】)、但是打开屏幕要用,锁屏状态来电拒接也要用(还要用2次),这个是最废PowerKey的了,Preware找了,没有相关patch或者软件或者其他解决办法。自己想…3 r% i: `# H' F3 @  _
三、 解决过程
6 ~' D+ _' |0 _/ f' t% ]计划使用“奶头键”代替电源键拒接电话!今天12月12日了,从30日到现在,我牺牲了所有课余(我已工作好多年)时间,通读了《PalmwebOS RoughCuts》;基本学会了WebOS应用软件的编写;研究了一天com.palm.app.phone的代码。NOW,无功而返!,貌似锁屏状态下需要设置指定按键的状态,不知道我想的对不,主要是下面代码使我觉得应该是这样的。
  1. + @! J% ]4 |* W& v% Z7 h' N1 e
  2.         powerButtonSubscribe: function(enable, clientName, callback) {( R5 H6 ?* o- O2 ]7 M( m) q
  3.         var request = new Mojo.Service.Request(this.displayUri, {
    8 p- N3 w- `3 Y5 T
  4.             method: 'setProperty',+ `. q# v$ @) D
  5.                         parameters: {
    $ G& i0 y5 I5 ]1 B5 N) w
  6.                                 'powerKeyBlock': enable,* z; y- ~! a6 G% ^0 V! q
  7.                                 'client': clientName* Z4 D# o/ `$ L0 X
  8.                         },, U5 j  I+ h/ \) f3 ?' Z
  9.                         onSuccess: function(payload){1 z0 i; p4 U& N6 r0 V" B' `
  10.                                 if (callback) callback(payload);3 K7 ^6 |3 g! D' h4 U6 @
  11.                         },# G* ?, G( W; x9 K. s2 r1 k- ?; y* A
  12.                         onFailure: function() {7 E: k1 ?( U/ h1 X5 ?6 s2 c
  13.                                 QDLogger.log( "TelephonyCommands::powerButtonSubscribe", "failure");: ?. H7 U; I+ c' G. g
  14.                         }
    2 n" o* Z, ^( Y( @. c
  15.         });
    7 r2 U6 L: i0 _" T7 [1 y
  16.       
    ( K& e! q( h0 ?3 Y. g/ V, n
  17.         return request;
    ! o4 l# @8 m% f! l$ p
  18.         },  L* h5 _# P8 w' z/ H' L- b: K
复制代码
当然我也不知道我想的对不。总之今天折腾一天发现凭借我目前的知识,无法解决此问题!L
4 \6 U! ]) J( M8 J" e: P3 |8 \9 q四、 结论
" H) B  N' }  z4 e/ O* z$ H想必看到这里各位都急了吧?解决不了你在这里忽悠什嘛!!!介不是没事找事吗?其实也不算是完全没有成果,我郁闷的同时突然发现,虽然我无法解决使用其他按键激活屏幕,或者拒接电话的方法,但是我可以减少一次电源键的使用。解决方法如下。

  1. . w# O* {9 e4 X5 E. ~, Y- x
  2.          //这里就是处理电源键事件的函数,位于/usr/palm/applications/com.palm.app.phone/app/controllers/incomingcall-assistant.js的490行1 J; I1 P  G% Y3 I/ {
  3.         handleHardKeyPress: function() {7 k5 H) J( K7 ~% A+ h( q
  4.                 QDLogger.log( "IncomingcallAssistant#handleHardKeyPress");
    + H0 u, F4 Y' {6 z0 G& z
  5.                 if (this.muted) {
    ! \8 p) c* A) s! X# e- G) i* F
  6.                         QDLogger.log( "IncomingcallAssistant#handleHardKeyPress", "reject");
    . Y( g! ~* T5 |0 U
  7.                         this.rejectCall();
    . v! I2 h$ ?: x
  8.                 } else {
    ' B5 }* I) r9 K' O" @; D) M
  9.                         QDLogger.log( "IncomingcallAssistant#handleHardKeyPress", "mute");* v0 H8 q! _, N% p6 q1 t3 G/ Q
  10.                         this.mute();
    ( B) `! c7 h( W: e  _
  11.                 }& ~$ ?2 E; k- j9 V4 F4 R* m
  12.         },
复制代码
就是这里,没错,位于/usr/palm/application/com.palm.app.phone/app/controllers/的incomingcall-assistant.js文件,就是这个handleHardKeyPress方法,就是他只和电源键搞暧昧,当电源键被按下的时候,先看看现在是静音(muted)吗?是就拒接来电,不是?先静音,浪费一次电源键的Press。* B/ A0 N6 k+ w9 C- t
找到了有什么用呢?找到了就想办法解决别,无论如何先减少一次电源键的press再说,大家只需要添加几个“/”就行了,添加后的代码如下。
  1. " W" K" Z4 l/ z/ c$ |8 m4 f
  2.         //修改后的代码) v( E, G4 v: F2 n% ~
  3.         handleHardKeyPress: function() {8 @# I2 [0 o! U  Z. x* n4 A
  4.                 //QDLogger.log( "IncomingcallAssistant#handleHardKeyPress");
    + Z9 k2 E9 u- K. H9 ]) a8 `
  5.                 //if (this.muted) {1 ~1 B/ j8 B/ k1 K- o6 L! l! D1 y8 h
  6.                         //QDLogger.log( "IncomingcallAssistant#handleHardKeyPress", "reject");1 ]3 w8 s3 V& u0 |% e" I! V
  7.                         this.rejectCall();# ~2 a9 S8 ^7 p# L! g
  8.                 //} else {! _) @. U) b- s$ }0 j5 h! Q
  9.                         //QDLogger.log( "IncomingcallAssistant#handleHardKeyPress", "mute");/ w( b+ L5 J8 o6 z0 Q; i# I; j
  10.                         //this.mute();
    7 l! w2 @* {% I6 q, q( f
  11.                 //}
    - g/ j  d  H: S; V. k2 f
  12.         },
复制代码
好了,这么做至少能降低一些PowerKey的使用频率,但具体他能撑多久呢,还不知道,不过我将鞠躬尽瘁的去研究怎么使用NTJ挂电话或者激活屏幕!不知道能成功不,linux基础太差。(又为我的理想之路添加了一些困难~~)。4 D" X5 z3 k$ \4 _" v+ b/ s5 a
五、 操作方法  l+ r0 A/ E5 n9 j4 E
不说使用Putty什么的修改文件,说起来浪费篇幅并且还要rootfs_open -r,rootfs-open-w一番,有兴趣没基础的可以搜搜帖子研究一下。用最繁琐但是比较容易叙述的方法来说明好了,这个方法我也想了一阵子呢,首先在Internal里面把/usr/palm/applications/com.palm.app.phone/app/controllers/下的incomingcall-assistant.js文件拷贝至/media/internal/{anywhere},然后连接电脑选择U盘模式,使用记事本打开文件,按照上面的办法修改文件,停止硬件,拔数据线,拷贝至原位置,重启手机,大功告成!
0 ]2 h( b" w5 f5 i2 {3 V(注!一定要重启哦,否则锁屏状态来电手机是没反应的,至少我的是这样。另外这种做法也需要在牺牲静音能力和节约电源键使用之间进行权衡。反正我觉得不错。我喜欢,哈哈。)+ q& ?3 T' t& `* }
9 e1 a' W9 @4 T( S! r+ `
[ Edited by heihei1981 on 2010-12-13 12:23 ]

评分

参与人数 1威望 +5 收起 理由
2b6c3d729918489 + 5 谢谢分享

查看全部评分

回复

使用道具 举报

发表于 2010-12-12 23:58 | 显示全部楼层
谢谢分享..图有点小
回复 支持 反对

使用道具 举报

发表于 2010-12-13 00:17 | 显示全部楼层
没看懂。。。lz最后解决了什么问题?* i$ B5 a( S0 _' N
善意的提醒一下,这么在乎电源键和滑轨,基本上就丧失了palm全键盘的优势啊,您这是玩手机,还是让手机玩呢?
回复 支持 反对

使用道具 举报

发表于 2010-12-13 00:39 | 显示全部楼层
文章很写意....
2 H; N0 ^9 n8 E: N& Tbut..没看明白 怎么减少了一次powerbutton的press...9 J! _$ E2 S# S- `
哎呀..我也写意起来了..哈哈
; ]" s6 y% V& N# t/ Y, O, J! f# ^! n% A  q" y! R  M
顶了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-12-13 11:37 | 显示全部楼层
很简单,就是找到锁屏状态下webos处理press电源键的处理函数,然后把静音什么的关了,大图我blog上有,不知道怎么复制到这里就变小图了。点一下貌似也是大图
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2010-12-13 11:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2010-12-13 11:52 | 显示全部楼层
现在把重启关机加进顶部菜单,已经成功
( q, r6 t) H; e9 [  L/ Q( V$ O/ Shttp://www.treo8.com/bbs/viewthread.php?tid=185431
' v. X" A0 d( f  D+ Z( V' ~. v) q6 l7 F0 r6 U3 K" ^3 V
省了不少电源键吧
回复 支持 反对

使用道具 举报

发表于 2010-12-13 11:55 | 显示全部楼层
楼主不要贴图片,直接copy代码过来看看
回复 支持 反对

使用道具 举报

发表于 2010-12-13 11:56 | 显示全部楼层
技术贴,顶了~~~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-12-13 12:00 | 显示全部楼层
原帖由 mophesto 于 2010-12-13 00:17 发表 % A0 W( {2 F: q- x8 S
没看懂。。。lz最后解决了什么问题?
5 |8 S) S: `% h" H# M! D0 g善意的提醒一下,这么在乎电源键和滑轨,基本上就丧失了palm全键盘的优势啊,您这是玩手机,还是让手机玩呢?
7 |8 \0 U8 [$ _2 R/ T" H' X
没有过于在乎滑轨,该用还是要用的呀,只是为了减少不必要的使用罢了。我发现我爱上pp了,虽然键盘按键性对于我来说比较小
回复 支持 反对

使用道具 举报

发表于 2010-12-13 12:07 | 显示全部楼层
楼主研究关屏的话,可以看看下面路径的文件
" X& W% G4 \# I# z/usr/palm/applications/com.palm.app.screenlock/app/controllers/
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-12-13 12:16 | 显示全部楼层
原帖由 fisher88 于 2010-12-13 11:55 发表 * k' f% C0 c+ {: o9 T% c; N0 K
楼主不要贴图片,直接copy代码过来看看

7 i7 A' w$ _3 s, x. o3 C* Qok,现在编辑一下,另外劳烦版主能帮忙设置个回复可见哈。
回复 支持 反对

使用道具 举报

发表于 2010-12-13 12:18 | 显示全部楼层
原帖由 heihei1981 于 2010-12-13 12:16 发表 & [* B; U% U7 }8 O( R  V
% k# s4 B, W+ y- n6 P0 l/ K6 E# ]. k
ok,现在编辑一下,另外劳烦版主能帮忙设置个回复可见哈。
# p4 i; }8 V/ J/ s$ z
! i* Z& \+ K& W$ o: }: h! \
呵呵,回复可见,不是treo8的习惯。我帮你高亮了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-12-13 12:24 | 显示全部楼层
好的,3q3q,就是想让更多人看到罢了:)
回复 支持 反对

使用道具 举报

发表于 2010-12-13 12:37 | 显示全部楼层
  LZ V5.
回复 支持 反对

使用道具 举报

发表于 2010-12-13 12:47 | 显示全部楼层
哥买手机就是为了让他坏的,这样我就找到了安慰自己买新手机的借口了 ,Pre又不贵,坏了再买,没打算一部手机用几年哦,半年够用就行了
回复 支持 反对

使用道具 举报

发表于 2010-12-13 12:48 | 显示全部楼层
呵呵# i7 W/ D' `! J) c
虽然 不懂& ]6 M# y) r5 b, _
但是帮顶一下
回复 支持 反对

使用道具 举报

发表于 2010-12-13 12:50 | 显示全部楼层
LZ有钻研精神啊!~````
回复 支持 反对

使用道具 举报

发表于 2010-12-13 14:34 | 显示全部楼层
滑轨没点题,电源键该按就按
回复 支持 反对

使用道具 举报

发表于 2010-12-13 16:29 | 显示全部楼层
原帖由 fisher88 于 2010-12-13 11:55 发表
" k# w- `8 @1 b) }楼主不要贴图片,直接copy代码过来看看
9 i* F/ w7 I1 \$ d1 I
重启关机一直都设备信息里操作的
回复 支持 反对

使用道具 举报

发表于 2010-12-13 16:33 | 显示全部楼层
奶头键我个人使用频率不高……要是哪位高人能改成电源键的功能就更适合单手操作了……
回复 支持 反对

使用道具 举报

发表于 2010-12-13 16:44 | 显示全部楼层
感谢分享,LZ用心哦!
回复 支持 反对

使用道具 举报

发表于 2010-12-13 18:05 | 显示全部楼层
其实可以把用系统增强补丁的在电话设置里设来电时滑锁打什么也不做,这样来电时滑开锁就不会直接接听了,,,
; s/ \) |( H$ u( [4 P0 qPS:如果那补丁装不上,可以解开他单独提取PHONE的补丁来装就OK,(俺就是这么干地)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-12-13 19:55 | 显示全部楼层
原帖由 温州城掌柜 于 2010-12-13 18:05 发表
2 T! Z5 w3 i  x) _其实可以把用系统增强补丁的在电话设置里设来电时滑锁打什么也不做,这样来电时滑开锁就不会直接接听了,,,
  p! K* H+ c2 w2 n7 B9 APS:如果那补丁装不上,可以解开他单独提取PHONE的补丁来装就OK,(俺就是这么干地)

: F5 R& z5 Y! v& g  ?3 u锁屏情况下挂电话不是只能按两下电源键的吗?
回复 支持 反对

使用道具 举报

发表于 2010-12-16 21:28 | 显示全部楼层
帮顶了
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2011-3-21 11:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|吹友吧 ( 京ICP备05078561号 )

GMT+8, 2025-2-24 02:55 , Processed in 0.362587 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表