找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 3889|回复: 29

[软件及汉化] 【修正错误】【找回巨硬的感觉】修改justinput切换方式为先shift再空格,方便单手操作

[复制链接]
发表于 2011-5-3 08:58 | 显示全部楼层 |阅读模式
替换mojo.js中justinput的hack代码:
  1. // justinput hack start$ E* H' h- n$ T. |* i
  2. window.addEventListener('load', loadingScript, false);
    ; X  c7 z1 m% P- ~" v- y
  3. function loadingScript() {9 T/ Z- @2 R. _6 J- ]3 O: Z: T
  4.         loadJS('ime');
    7 J! H2 r3 R9 L& c' ?
  5.         loadCSS();
    ) i  t4 Q6 s7 u/ \$ I- |
  6.         if (typeof(Mojo.Service) == "undefined") {  s) k8 z, e6 x7 [. u
  7.                 loadJS('service');  c! s$ B  V4 D3 r; U, ~. S* x2 @
  8.         }
    & Y# ~* B* \; r
  9. }
    . W3 m: V9 y2 Q9 G4 ?+ H# ]1 \

  10. 7 ]  ]% O- Q) {% I0 e. v$ ], |
  11. var timePress = 0;
    0 |+ ?) T* H, D9 L
  12. var ime = undefined;7 W/ |. @' ?6 ?, a. n
  13. var orange = false;- L. s- u* w/ y
  14. document.onkeydown = function(event) {
    ) p8 r+ n1 m. n! l+ `8 V
  15.     if(event.keyCode == 16) {4 A. r* A" c& ?1 _# A' z
  16.         orange = true;
    6 q# c- D9 s# A4 \& w) }
  17.         } else {
    % e% E; i, v. P" ^
  18.             if (orange == true && event.keyCode == 32) {. V1 x! g# W% k; b6 N& r
  19.             if (typeof(ime) == "undefined") {5 y5 L6 S- t$ P  Z8 x
  20.                 ime = new IME(false);
    4 A6 M, D6 |& _  \  _6 m
  21.             } else {- e+ [& {# j5 V3 j, F% u
  22.               ime.toggleIme();
    # E& G  L2 e' ?, g$ O& ?
  23.             }
    % y8 `' N6 \9 `% K( e  F/ R, b  l
  24.                 event.returnValue = false;
    ( L# H) a2 X5 ^+ C2 i( h
  25. / /               orange=false;7 F$ }$ K1 Z0 T, \) C
  26.         }
    5 D) x6 v: `; a) |4 h4 V
  27. // orange=false应该放在这里
    0 p( G/ ^4 {% Q3 W/ r) m: `
  28.          orange=false;   ?6 i( f2 J3 n( ]8 X" |
  29. }
    : V4 P) ?! d5 D/ ?- N
  30. }, }1 P$ q  y6 Y6 C% G) v7 K
  31. //document.onkeyup = function(event) {$ }2 `9 A3 l" C; m2 c/ \3 R
  32. //    if(event.keyCode == 129) {
    9 [1 |; V. C! Y) C( |6 v  Y
  33. //        orange = false;4 O. T/ _. p! Q8 w8 O" q8 S+ g
  34. //    }) C' _$ r7 Y8 V) T, [
  35. //}& z6 ?8 r8 ]4 f/ s

  36. ; N  ~+ W  K* L
  37. function loadJS(name) {
    5 f" g$ |. n) ]: u; m/ `( C% Y3 G
  38.         var element = document.createElement('script');$ b' a# Q5 m; L1 u( |9 b+ u
  39.         element.setAttribute('src', '/usr/palm/frameworks/mojo/justinput/' + name + '.js');
    4 @& G" {! |5 `! h" G4 j. G9 s
  40.         element.setAttribute('type', 'text/javascript');* u" c) t3 L: @/ B! ]) z
  41.         document.body.appendChild(element);
    & R$ P2 h4 Y5 k' I
  42. }# |: ?( [8 w$ F

  43. . `) L2 J. T( T3 L2 P
  44. function loadCSS() {" ?2 p- y* O" u% v7 A9 l: ~
  45.         element = document.createElement('link');
    0 h, q- P. @) f
  46.         element.setAttribute('href', '/usr/palm/frameworks/mojo/justinput/canvas.css');
    . ^  C" E6 c' [
  47.         element.setAttribute('rel', 'stylesheet');
    ! B! q: C( }. h) Q' `; h6 w9 k
  48.         element.setAttribute('type', 'text/css');
    : M8 a! m( p) m  |) p
  49.         document.getElementsByTagName('head').item(0).appendChild(element);
    5 o, ?% N4 Q* w6 |+ n5 W2 @  h. ], u
  50. }8 E3 ~+ ~2 y) A

  51. . S# e# t( M* z2 a4 y
  52. function cleanTimer() {/ z$ U' h- o: Z" T8 }  G3 G
  53.         timePress = 0;0 A% e7 [9 P6 ^( b  R
  54. }& |+ N- c5 |$ ]2 X$ D
  55. // justinput hack end
复制代码
如果你mojo.js中没有其他hack代码,可以直接替换mojo.js
/ k0 ~3 u7 e  X- A' ~( c) S! F+ P8 a, c! x
orange=false语句用错地方了,自己用internalz改一下吧,附件没有更新
5 j, k+ S1 g9 N  D

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入我们

×

评分

参与人数 2威望 +20 收起 理由
寂夜清风 + 10 支持
binggz + 10 谢谢分享

查看全部评分

回复

使用道具 举报

发表于 2011-5-3 09:23 | 显示全部楼层
这个要顶一下
回复 支持 反对

使用道具 举报

发表于 2011-5-3 09:26 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

发表于 2011-5-3 13:01 | 显示全部楼层
是替换/usr/palm/frameworks/mojo/mojo.js吗
回复 支持 反对

使用道具 举报

发表于 2011-5-3 13:07 | 显示全部楼层
是根据修改了事件监听的方法来改的吗?
回复 支持 反对

使用道具 举报

发表于 2011-5-3 18:41 | 显示全部楼层
这个要顶$ L" E/ _6 \" u* C
回复 支持 反对

使用道具 举报

发表于 2011-5-3 19:46 | 显示全部楼层
高!!
回复 支持 反对

使用道具 举报

发表于 2011-5-3 20:59 | 显示全部楼层
不是有现成的双击手势区么……单手操控直接打这个补丁不是更快?
回复 支持 反对

使用道具 举报

发表于 2011-5-3 21:05 | 显示全部楼层
不用这么麻烦的,js不是有个长按shift调用输入法的补丁么?误导大家啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-4 00:08 | 显示全部楼层
eliotlyn 发表于 2011-5-3 13:01 " \: X( e' E3 T
是替换/usr/palm/frameworks/mojo/mojo.js吗
8 H4 n% V" q3 ?2 _( R8 H$ W" }# l
是的。。。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-4 00:12 | 显示全部楼层
长按太慢,双击手势区有时会失灵,这是650时代形成的习惯,shift+空格,方便单手操作
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-4 00:15 | 显示全部楼层
yantaixuxu 发表于 2011-5-3 13:07 : n' @% ^0 L0 `1 G$ n
是根据修改了事件监听的方法来改的吗?

  1. * c3 M! n( M( G4 E, |
  2. document.onkeydown = function(event) {0 M5 N  x# x/ ^+ l3 Q' U
  3.     if(event.keyCode == 16) {
    0 Z% e2 J2 g: x6 p
  4.         orange = true;; H7 g+ J' Y" ^; U$ S3 L
  5.         } else {9 P  ]  _1 J2 [! N) ~
  6.             if (orange == true && event.keyCode == 32) {
    - x0 ^7 ~2 c( _0 h
  7.             if (typeof(ime) == "undefined") {2 v( t* A& i% N. z4 Z
  8.                 ime = new IME(false);! s* @5 c1 S, p. y) C' g) R$ [
  9.             } else {
    ; W- l5 T* K1 m
  10.               ime.toggleIme();
    ' K# x0 |' ^" g0 l
  11.             }5 S9 z$ T! Q' H( p* T
  12.                 event.returnValue = false;
    ( K4 N7 ]* ~% V
  13.                 orange=false;
    $ z7 L' A2 B7 B, q5 e
  14.         }: X1 E$ ?5 h; [1 t2 ]
  15. }
    4 ^1 B+ h  o% b' q& A
  16. }3 W: A  e2 B, p  P& _4 F
  17. //document.onkeyup = function(event) {
    7 P  b# `# q# B, m3 w0 e
  18. //    if(event.keyCode == 129) {( L& e! R. Q) S" q
  19. //        orange = false;8 r7 L! ^* V& D8 e1 m# E6 w
  20. //    }
    8 |  {* Y9 I* \# S
  21. //}
复制代码
修改的是这部分,其实就是改一下onkeydown事件中的逻辑关系,然后把onkeyup事件禁用掉
回复 支持 反对

使用道具 举报

发表于 2011-5-4 00:47 | 显示全部楼层
回复 ayang 的帖子
& y6 Q# A, |2 U( A% s% @9 {/ S4 I) u$ g
shift + 空格不是要两个手吗? 怎么就方便单手了?
回复 支持 反对

使用道具 举报

发表于 2011-5-4 08:47 | 显示全部楼层
个人也觉得手势区双击比较方便。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-4 10:32 | 显示全部楼层
本帖最后由 ayang 于 2011-5-4 10:33 编辑 ) f2 s/ H8 o' M4 z& J/ e( K
0 S; u/ Q8 K! A7 f7 a0 W+ C
回复 netrich 的帖子
/ ]; {; _" T* J/ E: ?# Q9 z" Q/ j0 G2 F1 |/ H) d
看贴不仔细,是可以先按shift,再按空格,不用同时按
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-4 10:34 | 显示全部楼层
回复 tobbyful 的帖子( Y! F; v) P/ j% t' L7 s; F* c: R

' A8 Z1 n: q9 z0 i+ t手势区双击,你就没碰到过失灵的情况吗?双击的时候心里总没底
回复 支持 反对

使用道具 举报

发表于 2011-5-4 15:37 | 显示全部楼层
ayang 发表于 2011-5-4 10:34
$ L2 q2 S# z$ b$ {回复 tobbyful 的帖子% M, E3 J% Q2 V2 M- q8 m% ~. O) f
) D7 ~7 j- D8 w1 j: u6 g% ]1 B, i$ y
手势区双击,你就没碰到过失灵的情况吗?双击的时候心里总没底
! k/ R. x6 P6 E% B& f8 F- r
看到绿色的点亮了就好了啊。。。为什么没有底呢?不过你很强!!!偶只是伸手党!佩服你
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-4 15:41 | 显示全部楼层
有时候会点不亮啊
回复 支持 反对

使用道具 举报

发表于 2011-5-4 17:22 | 显示全部楼层
搞定啦,多谢
回复 支持 反对

使用道具 举报

发表于 2011-5-4 20:53 | 显示全部楼层
还是要支持楼主的工作的。。。毕竟动手为王。。。
回复 支持 反对

使用道具 举报

发表于 2011-5-4 21:00 | 显示全部楼层
此方法不知道能不能用在艾薇输入法上呢,已经用习惯爱微输入法了
回复 支持 反对

使用道具 举报

发表于 2011-5-4 21:13 | 显示全部楼层
不能只按shift就切换中英文吗?9 ~5 L+ ?7 j4 C
650用梅花的飘过……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-4 21:14 | 显示全部楼层
苏州超人 发表于 2011-5-4 21:13 6 @2 P9 d5 N" ?- [
不能只按shift就切换中英文吗?
- V+ l5 D' G: P) Z* v# |, @650用梅花的飘过……
, D! v' q7 P4 T# S
只按shift,那你要输入大写英文怎么办
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-4 21:15 | 显示全部楼层
ohjust 发表于 2011-5-4 21:00 6 C( L/ _# |  Z$ n/ h# C* I4 r
此方法不知道能不能用在艾薇输入法上呢,已经用习惯爱微输入法了
8 H& Q% t; T- {6 W8 z) G
应该不行吧
回复 支持 反对

使用道具 举报

发表于 2011-5-4 21:37 | 显示全部楼层
ayang 发表于 2011-5-4 21:14 * b( e& n$ A7 [7 o
只按shift,那你要输入大写英文怎么办

' P. X# e# M1 i5 z5 y输入大写英文按两下shift啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-4 23:36 | 显示全部楼层
按两下,不就是关闭输入法了啊,改成sym键到是可以
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2011-5-16 10:37 | 显示全部楼层
用原来双击手势区的补丁,然后把键值改成17就可以了
回复 支持 反对

使用道具 举报

发表于 2011-10-14 19:59 | 显示全部楼层
来自d版带着爱来帮顶一下 修改成功
回复 支持 反对

使用道具 举报

发表于 2011-11-6 22:55 | 显示全部楼层
我的mojo.js中有其他的hack代码,怎么办
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-22 08:07 , Processed in 0.347418 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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