找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 1636|回复: 2

[软件及汉化] 解決just type中文輸入,首字母問題

[复制链接]
发表于 2011-4-20 12:59 | 显示全部楼层 |阅读模式
我是2.1的,嘗試了一下,解決了just type輸入中文時,出現英文首字母的問題.
% q, d" e5 ^: A" ze.g. 以前拼音輸入"你好"會出現"n你好",修改後只會出現"你好"2 I2 @& r! n; D8 K9 {  e8 w
1 d, ^) `5 }2 Q2 E
) d1 q2 S4 s" ?5 [+ n8 J, m3 F
/usr/lib/luna/system/luna-applauncher/app/controllers/global-search-assistant.js
( E( ]" y9 j8 D9 l
& V" ~& G3 N/ k. x1 C/ v原本內容:
& U- e4 L- [- w! y                // try to handle the very first key event" I" C/ `2 b2 v# `5 V
                var s;( |$ @' x. @3 }2 A) x2 B+ @2 i- y* z
                if (Mojo.Char.isPrintableChar(event.keyCode, true) && !event.ctrlKey) {& ?! Y# p1 ]& g/ ?) s
                        s = String.fromCharCode(event.keyCode);
3 O) Y& I; T( i* f8 \3 a                }
! {' H' A$ k! r2 ^+ y* H                if (s && this.searchTerm.length==0 && this.searchPressHoldTerm.length==0) {
- d7 O3 z4 R$ n, S- A5 \0 Z0 h                        // first valid key press event! G! e2 Q* S1 q, j1 n
                        this.onActivate(s);5 L- h% o: r9 B3 L* z1 ?4 Z1 ^5 \
                        this.updateSearchTerm(s, true);
3 [7 P1 h2 ^; U& ]                        8 v9 s, C  M( K1 X* w
                        // we manually updated the search field, c4 q) K. t: k' {: d0 i
                        event.preventDefault();1 }/ {  s) J) [' y
                }
4 @2 Z7 W3 e0 [$ E3 ]+ R3 R6 \9 i& ]8 `. I) z修改後內容:
" O2 ^6 L, S& d+ R9 k6 X                // try to handle the very first key event( h7 A& I. {& Z! F2 X
                var s=/^\w+$/;6 D7 l. Z% E0 G& S
                if (Mojo.Char.isPrintableChar(event.keyCode, true) && !event.ctrlKey) {
4 S% z; r4 x+ U* d6 E! I7 B! z                        s = String.fromCharCode(event.keyCode);& a) P1 Q. t/ V$ ]) w7 T5 W: L
                }. O7 y6 p. n! Q
                if (s && this.searchTerm.length==0 && this.searchPressHoldTerm.length==0) {
* e$ d/ c$ d& A8 M" A+ P) ]                        // first valid key press event
  i% Y2 s2 K1 {& s0 ~, X) v# J                        this.onActivate(s);
' p5 s0 W  u) n                        if(!s.test(str))
. J! c4 Y+ d' X  q' y3 l5 k+ t- x6 S) Z                                this.updateSearchTerm(s,true);. j0 Y5 X' E8 A1 k* [
                        else
( w- w" G8 t7 m6 z) T2 Z                                this.updateSearchTerm(" ",true);
6 ?" c1 _$ F6 c+ r+ A, j                        // we manually updated the search field& a  f6 `4 S& _* D4 I& K, {
                        event.preventDefault();( x- d+ _% {( W  b8 E- `
                }
7 g. \+ s5 e$ U% e+ s: X3 A/ _" C原理:! o4 p4 w+ ]* b, J/ D! b
s是上屏的首個字串,判斷是否英文或符號而決定是否上屏.- x' K) b2 r  y8 u
Bug:4 e; p# F) H+ w; T, K0 l
有時候數字模式會檢測不到首個輸入字,而不會自動打開just type,或是在just tpye的光標會不見了,, F+ |# k3 G- z1 g7 t
解決方法:手動按1下just type的輸入欄,光標重新出現,之後就可以正常使用
0 h. z' T/ [5 Q這bug不是經常出現,出現原因也不太清楚,5 [: c( [' s0 C8 M
我只是個javascript新手,如果有人有更好的判斷方法,請分享一下.
; [. \- `) j  A: y% O5 y( g5 P) _1 |) E5 o

本帖子中包含更多资源

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

×
回复

使用道具 举报

发表于 2011-4-20 13:13 | 显示全部楼层
谢谢分享,越来越多的人加入到开发自定义的行列中了!
回复 支持 反对

使用道具 举报

发表于 2011-4-20 14:31 | 显示全部楼层
还在用qq云啊。试试wbee吧
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 15:33 , Processed in 0.296683 second(s), 16 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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