|
我是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
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入我们
×
|