找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 3890|回复: 29

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

[复制链接]
发表于 2011-5-3 08:58 | 显示全部楼层 |阅读模式
替换mojo.js中justinput的hack代码:
  1. // justinput hack start
    4 ^, g: {# M# O# v7 G
  2. window.addEventListener('load', loadingScript, false);
    ' f6 C* k, ?, _8 l, P  p
  3. function loadingScript() {/ f& y7 M) r4 w8 ?, k8 ~
  4.         loadJS('ime');
    ) I9 [6 u. M1 [9 K3 [& z, d
  5.         loadCSS();
    ( @7 P* i) N5 H3 a# t9 S: `
  6.         if (typeof(Mojo.Service) == "undefined") {
    5 d9 f+ ^3 N3 e% D! m' v
  7.                 loadJS('service');9 Y8 y# Z( h% v8 c
  8.         }. y4 _- F: B- A& r, F; ]/ j* N
  9. }3 Q8 v9 ]( k  C- x4 ?

  10. : [$ V, |/ |: N1 ?9 F
  11. var timePress = 0;
    ) A, Y3 ]+ }' M0 F3 q* \) |
  12. var ime = undefined;
    & G; p* h1 T) f0 T7 P& H% d. Z
  13. var orange = false;( R6 O- |( O+ H% z
  14. document.onkeydown = function(event) {
    ' A3 |: W( `% ]$ O' d7 B
  15.     if(event.keyCode == 16) {
    : q7 u1 b8 \; s/ |# Z& d# d
  16.         orange = true;* B7 z) |! j! t( Q7 E: Q* M
  17.         } else {
    , a1 r( n& t, P+ m# f
  18.             if (orange == true && event.keyCode == 32) {
    ' x4 l) F( P3 N0 l
  19.             if (typeof(ime) == "undefined") {, h, x' f% o* m' P; d
  20.                 ime = new IME(false);9 l4 h% D8 M1 b! A- v
  21.             } else {" h8 W" D. u% b( f$ R  f
  22.               ime.toggleIme();& a- U# f- k* z! v$ T9 R
  23.             }2 J! Y2 [5 r9 P% U2 {
  24.                 event.returnValue = false;! h  E3 ~4 U! u$ I- h
  25. / /               orange=false;- [9 M8 s- W! n- c7 B
  26.         }0 M" |, L( U1 D7 ?) S- W- v- }
  27. // orange=false应该放在这里
    $ z' T, B7 y  {; n
  28.          orange=false; : k3 B, H7 s" N+ P" Q
  29. }
    / t1 e  A( {: d* Y/ `
  30. }* F" o  @* m6 L) y" G" \
  31. //document.onkeyup = function(event) {- d/ O2 u- C* o2 [1 K
  32. //    if(event.keyCode == 129) {& {/ _2 U( w1 j4 i. b* _0 @$ L
  33. //        orange = false;) @; ~  P8 T# w, n
  34. //    }, J, I7 ^4 w& h8 Y, o% K
  35. //}
    2 l0 g& \# W; R) V* H
  36. - {+ z3 ~( K3 P8 G6 q
  37. function loadJS(name) {
    - `  c/ {+ a% u# h$ m1 Z6 X
  38.         var element = document.createElement('script');
    ( ^  {3 h$ t' r7 v4 m. D
  39.         element.setAttribute('src', '/usr/palm/frameworks/mojo/justinput/' + name + '.js');
    ( @! R; ?" D5 v8 [2 P
  40.         element.setAttribute('type', 'text/javascript');
    9 j5 k* z1 y% h$ q9 c5 c
  41.         document.body.appendChild(element);2 v+ s9 L" e, ^1 ], ^4 ~
  42. }) L% s" ?7 h& Y$ j

  43. / a, X) x5 O: Q: ~1 Q
  44. function loadCSS() {- `/ y- `8 @2 G2 z/ n9 Y
  45.         element = document.createElement('link');
    / p* |6 @) l: n+ T) K3 ^, ?
  46.         element.setAttribute('href', '/usr/palm/frameworks/mojo/justinput/canvas.css');- Q, `! p  K& [" @+ M
  47.         element.setAttribute('rel', 'stylesheet');
    9 j' f( J+ q, Z. e: r/ }; S5 w
  48.         element.setAttribute('type', 'text/css');
    2 B7 s/ M8 a: j: g8 J) `$ k
  49.         document.getElementsByTagName('head').item(0).appendChild(element);
    : k( X* L+ A: \( h! |. v/ K
  50. }
    " s4 v0 F0 j! F* w8 T2 ?: h& Z
  51. . _% z7 q, W( \) T. \( n
  52. function cleanTimer() {; P! o/ {& W7 c  W2 Y
  53.         timePress = 0;
    6 _+ A1 l8 k2 `% K& e% r) q9 x
  54. }
    + B! M0 K* q8 J
  55. // justinput hack end
复制代码
如果你mojo.js中没有其他hack代码,可以直接替换mojo.js
! N; A* t; s. n: n" [
0 P% A5 H7 X$ Eorange=false语句用错地方了,自己用internalz改一下吧,附件没有更新
5 ]8 n  E% u& Y% E0 W! E

本帖子中包含更多资源

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

×

评分

参与人数 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 | 显示全部楼层
这个要顶
" j! Q$ T$ _4 ~  D& @4 M
回复 支持 反对

使用道具 举报

发表于 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 - `9 g, V# d$ f* u9 Y4 {# h0 T
是替换/usr/palm/frameworks/mojo/mojo.js吗
; |  o; G2 u- H3 Z7 d
是的。。。。。。
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2011-5-4 00:15 | 显示全部楼层
yantaixuxu 发表于 2011-5-3 13:07
' ^+ d- ?5 Y4 O, [7 q/ y是根据修改了事件监听的方法来改的吗?

  1. " y  C  f+ f" H7 U: E2 j! C& i
  2. document.onkeydown = function(event) {
    $ q; j* |* F. y* b% o. S
  3.     if(event.keyCode == 16) {+ }' S5 Z3 Q5 }1 `1 [
  4.         orange = true;! }- Y3 T5 Q% l
  5.         } else {; b7 M5 ~8 D. q8 A1 U) f4 ?
  6.             if (orange == true && event.keyCode == 32) {
    $ A# w) X% q6 r& W' a
  7.             if (typeof(ime) == "undefined") {
    ) J" F/ c2 d$ @1 _
  8.                 ime = new IME(false);; _* U  j+ Z$ O* Z3 a" F1 Q
  9.             } else {
    , i0 p* _3 Z3 W. W* f; E( v
  10.               ime.toggleIme();
    5 Z5 f5 Q1 g4 v# k2 A" r
  11.             }1 L. I# b/ z7 x' t
  12.                 event.returnValue = false;& I+ l% J# R! x6 u
  13.                 orange=false;2 Q9 K4 L& E2 ]
  14.         }! G5 c3 j" S; D% S
  15. }: ~- p8 G; G  Q( E( I0 i# T( _
  16. }
    7 b1 i! h4 c: \# L6 ?' O- E
  17. //document.onkeyup = function(event) {* w' m3 _* X  P. ?
  18. //    if(event.keyCode == 129) {4 r% h  E: f" S4 p# K' L! k
  19. //        orange = false;
    4 ?: E, i0 x4 L0 r
  20. //    }6 B9 k" C( s# o0 j0 D+ _! `
  21. //}
复制代码
修改的是这部分,其实就是改一下onkeydown事件中的逻辑关系,然后把onkeyup事件禁用掉
回复 支持 反对

使用道具 举报

发表于 2011-5-4 00:47 | 显示全部楼层
回复 ayang 的帖子
! @6 Q# S3 W! k' _/ E6 c2 f( Y3 q0 g2 _$ r$ |) M
shift + 空格不是要两个手吗? 怎么就方便单手了?
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2011-5-4 10:32 | 显示全部楼层
本帖最后由 ayang 于 2011-5-4 10:33 编辑 . x  W4 k0 C6 J. m
" H: [: a" X4 g1 X! A7 n" x
回复 netrich 的帖子  V" b# m: K% Q0 g) Z+ C# F' w

" P5 e% ^; h8 U% g6 g6 s- x看贴不仔细,是可以先按shift,再按空格,不用同时按
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-4 10:34 | 显示全部楼层
回复 tobbyful 的帖子
/ h- ]& v; d; Y/ Y' M9 s( g
/ ^$ A2 `( _- ?6 J手势区双击,你就没碰到过失灵的情况吗?双击的时候心里总没底
回复 支持 反对

使用道具 举报

发表于 2011-5-4 15:37 | 显示全部楼层
ayang 发表于 2011-5-4 10:34
1 E% H; p. N' V$ c" x: o; ^, d- N回复 tobbyful 的帖子
% I) \+ Y0 H, d7 f! @3 n0 n( i+ N8 A1 \. B& s
手势区双击,你就没碰到过失灵的情况吗?双击的时候心里总没底

1 t: g% y5 J/ Z: q9 b$ f7 V看到绿色的点亮了就好了啊。。。为什么没有底呢?不过你很强!!!偶只是伸手党!佩服你
回复 支持 反对

使用道具 举报

 楼主| 发表于 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就切换中英文吗?3 O, s! m% ]4 x% U' S
650用梅花的飘过……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-4 21:14 | 显示全部楼层
苏州超人 发表于 2011-5-4 21:13
& J1 [; S9 b( t/ M4 W  J不能只按shift就切换中英文吗?
) W  T2 S- E4 S- y650用梅花的飘过……
7 E5 T: G8 U1 |0 P% B) j" e/ X
只按shift,那你要输入大写英文怎么办
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-4 21:15 | 显示全部楼层
ohjust 发表于 2011-5-4 21:00 4 g  P- ~  i% E2 p
此方法不知道能不能用在艾薇输入法上呢,已经用习惯爱微输入法了

1 L1 l3 Y/ \0 s/ G9 a5 t: c( r应该不行吧
回复 支持 反对

使用道具 举报

发表于 2011-5-4 21:37 | 显示全部楼层
ayang 发表于 2011-5-4 21:14 ' s  S# p" V& e7 b, A: j
只按shift,那你要输入大写英文怎么办

0 @( n/ o: e+ u) E  K* \输入大写英文按两下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-2-23 01:15 , Processed in 0.387873 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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