lazarus缺臨門一腳(中文輸入問題) [論壇 - Ubuntu 程式設計]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

« 1 (2)


回覆: lazarus缺臨門一腳(中文輸入問題)
會員二級
註冊日期:
2011/10/5 8:09
所屬群組:
已註冊使用者
等級: 6
HP : 0 / 126
MP : 17 / 3467
EXP: 5
離線
我是用Ubuntu系統預設的IBus,沒能幫上忙. 如果gcin在 gedit 的畫面操作起來也有相同問題時,就不會是與TMemo不相容,而是要先解決gcin與Ubuntu系統的相容問題了.

如果你能把gcin與 TMemo 不相容的情形再具體描述一下, 或許有網友能幫上忙.

2013/8/26 7:16
應用擴展 工具箱
回覆: lazarus缺臨門一腳(中文輸入問題)
會員三級
註冊日期:
2009/1/10 10:33
所屬群組:
已註冊使用者
等級: 14
HP : 0 / 330
MP : 77 / 11696
EXP: 20
離線
chinlung 寫到:
我是用Ubuntu系統預設的IBus,沒能幫上忙. 如果gcin在 gedit 的畫面操作起來也有相同問題時,就不會是與TMemo不相容,而是要先解決gcin與Ubuntu系統的相容問題了.

如果你能把gcin與 TMemo 不相容的情形再具體描述一下, 或許有網友能幫上忙.


這問題正是開欄的wss網友提到的(請參看貼文#1),不過個人不能確定是gcin的問題。
理由是:如果是gcin的問題,那麼為何其他的軟體如gedit, libre office, jedit 等使用gcin都沒有同樣的現象?


我也在gcin的網頁上反應這問題(http://hyperrate.com/thread.php?tid=28898),希望能得維護者eliu兄的看法。

2013/8/27 8:04
應用擴展 工具箱
回覆: lazarus缺臨門一腳(中文輸入問題)
會員一級
註冊日期:
2012/9/7 22:42
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 25
MP : 3 / 618
EXP: 0
離線
Lazarus剛出1.0.12,還有這問題嗎?

2013/8/27 10:46
應用擴展 工具箱
回覆: lazarus缺臨門一腳(中文輸入問題)
會員三級
註冊日期:
2009/1/10 10:33
所屬群組:
已註冊使用者
等級: 14
HP : 0 / 330
MP : 77 / 11696
EXP: 20
離線
fygul 寫到:
Lazarus剛出1.0.12,還有這問題嗎?


問題依然存在。

2013/8/27 11:23
應用擴展 工具箱
回覆: lazarus缺臨門一腳(中文輸入問題)
會員二級
註冊日期:
2011/10/5 8:09
所屬群組:
已註冊使用者
等級: 6
HP : 0 / 126
MP : 17 / 3467
EXP: 5
離線
隨便google到的資料:

http://www.wretch.cc/blog/niuty/3246680
說在 skype 得先安裝 gcin-qt3-immodule

http://hyperrate.com/thread.php?tid=27332
的#19 說在 gedit 得先安裝 gcin-gtk3-immodule

所以是否在 lazarus 需要等gcin的維護者再另外開發類似的 gcin-???-immodule 供大家安裝之後, 在lazarus才可以正常使用gcin吧!

2013/8/28 18:58
應用擴展 工具箱
回覆: lazarus缺臨門一腳(中文輸入問題)
管理員
註冊日期:
2010/5/7 5:46
所屬群組:
已註冊使用者
討論區管理群
等級: 31
HP : 0 / 755
MP : 434 / 23866
EXP: 23
離線
swwei 寫到:
fygul 寫到:
Lazarus剛出1.0.12,還有這問題嗎?


問題依然存在。

Lazarus有lazarus-ide-qt4和lazarus-ide-qt4-版本號
gcin有gcin-qt4-immodule
僅供參考,看起來好像有關聯

2013/8/28 19:36
應用擴展 工具箱
回覆: lazarus缺臨門一腳(中文輸入問題)
會員二級
註冊日期:
2011/10/5 8:09
所屬群組:
已註冊使用者
等級: 6
HP : 0 / 126
MP : 17 / 3467
EXP: 5
離線
昨天在 Ubuntu 11.04 環境,安裝 gcin version 1.4.6 來測試 gcin 與 lazarus編譯出來的程式之間的互動, 發現gcin其實是會掉入一個固定的錯誤模式, 但在同一個lazarus編譯出來的程式若用 ibus 來輸入中文字卻都完全正常, 所以我還是認為可能「要等gcin的維護者再另外開發類似的 gcin-???-immodule 供大家安裝」。

在lazarus寫一個新專案,Form1裡面放3個TEdit及1個TMemo,編譯執行這個程式:

gcin是處於「En」英文模式,點在Memo1,打入幾個英文字,目前為止gcin一切正常.

按Ctrl+Space之後,Memo1的gcin是處於「簡」簡易模式,打入一個「弓」卻顯示「弓弓」的組字出來供選擇,目前為止gcin會把操作者輸入的一個字根當作送來2次, 但此時出現的待選字「1了 2予 3阬 .....」,也無法選進Memo1,例如此時按2,則Memo1出現的是「2」而不是「予」,此時Memo1的gcin其時沒有完全進入「簡」簡易模式, 這時隨便點在仍是處於「En」英文模式的Edit1、Edit2、Edit3 來輸入英文字卻會出現中文待選字的組字供選擇,但也是只打入英文字或數字,完全無法選字,此時Edit1、Edit2、Edit3的gcin其時沒有完全進入「En」英文模式.

然後點在Edit1,此時gcin是處於「En」英文模式(與Memo1的輸入模式沒有連動關係),按Ctrl+Space之後,gcin是處於「簡」簡易模式,此時在Edit1及Memo1都可以正常輸入中文字, gcin不會再把操作者輸入的一個字根當作送來2次,而在Edit2及Edit3仍是處於「En」英文模式,所以Edit2及Edit3只能輸入英數字,但不會出現任何待選字的組字供選擇,所以gcin此時是完全正常運作.

點在Memo1,按Ctrl+Space之後,Memo1的gcin是處於「En」英文模式,再回到Edit1的gcin是仍是處於「簡」簡易模式,此時在Edit1打入一個「弓」卻顯示「弓弓」的組字出來供選擇, 但也是無法把待選字選進Edit1,例如此時按2,則Memo1出現的是「2」而不是「予」.

點在Edit2,此時gcin是處於「En」英文模式(與Edit1的輸入模式沒有連動關係),按Ctrl+Space之後,gcin是處於「簡」簡易模式,此時在Edit1及Edit2都可以正常輸入中文字, gcin不會再把操作者輸入的一個字根當作送來2次,而在Memo1及Edit3仍是處於「En」英文模式,所以Memo1及Edit3只能輸入英數字.

點在Edit3,此時gcin是處於「En」英文模式(與Edit1的輸入模式沒有連動關係),按Ctrl+Space之後,此時3個Edit的gcin顯示是處於「簡」簡易模式,只有Memo1的gcin顯示是處於「En」英文模式, 結果這時候的3個Edit都是打入一個字根「弓」卻顯示「弓弓」的組字出來供選擇,卻完全無法選字. 而Memo1輸入英文字卻也出現中文待選字的組字供選擇,但也是只打入英文字或數字,完全無法選字,
此時的3個Edit的gcin雖然顯示為「簡」簡易模式,但實際上尚未完全脫離「En」英文模式,也尚未完全進入「簡」簡易模式!
此時的Memo1的gcin雖然顯示為「En」英文模式,但實際上尚未完全脫離「簡」簡易模式!

點在Memo1,按Ctrl+Space之後,Memo1的gcin是處於「簡」簡易模式,此時的Memo1、Edit1、Edit2、Edit3的gcin都顯示處於「簡」簡易模式,這時任一個都可以正常輸入中文字!
此時把任2個的gcin都切換為「En」英文模式,則gcin在這4個元件的該模式下,可以正常操作!

看出來了嗎? gcin所掉入的一個錯誤模式就昭然若揭了!
同一個程式裡的偶數個可輸入元件都切換在中文輸入法的時候,gcin可以正常運作!
如果是奇數個可輸入元件都切換在中文輸入法的時候,gcin就會掉入一個錯亂模式!
但同樣這個程式在 ibus 輸入中文是完全正常的, 所以我還是認為可能「要等gcin的維護者再另外開發類似的 gcin-???-immodule 供大家安裝」。

2013/8/31 12:07
應用擴展 工具箱
回覆: lazarus缺臨門一腳(中文輸入問題)
會員三級
註冊日期:
2009/1/10 10:33
所屬群組:
已註冊使用者
等級: 14
HP : 0 / 330
MP : 77 / 11696
EXP: 20
離線
之前有外國user反應ibus 與 lazarus ide 不相容的問題
http://forum.lazarus.freepascal.org/index.php?topic=16585.0
但是沒有搜尋到lazarus開發團隊對此的反應

個人的疑問是:輸入模式的決定,被focus的元件也可加入一段判斷邏輯,決定如何反應鍵盤訊息,

例如 lazarus ide 的文字編輯畫面根本對原本 gcin 輸入切換的 ctrl+space 有不同反應,在按下 ctrl+space 後跳出自動補句選項, 還是依然 英文模式…,不動就是不動。

也許lazarus 相關gtk2元件程式源碼,打開來研究研究?
慚愧個人眼高手低,至今出一張嘴而已!

2013/8/31 16:47
應用擴展 工具箱
回覆: lazarus缺臨門一腳(中文輸入問題)
會員二級
註冊日期:
2011/10/5 8:09
所屬群組:
已註冊使用者
等級: 6
HP : 0 / 126
MP : 17 / 3467
EXP: 5
離線
那個「外國user」反映的問題看起來不是 ibus 與 lazarus ide 不相容的問題, 而是 與 lazarus 編譯出來的程式中的 TEdit及TMaskEdit 元件輸入 Asia Character (我猜就是指中文字吧!) 的 key press 重複問題, 所以是相同於現在 gcin 遇到的是相同問題, 但是在 lazarus 1.0.10 所編譯出來的程式不會再有 ibus 重複送 key press 的問題, 因此看起來應該是 lazarus 早就修正那個「外國user」反映的問題了. 看來是要等有人去 lazarus 反映這個gcin的相同問題,才會有解決的一天了.

2013/9/1 12:23
應用擴展 工具箱
回覆: lazarus缺臨門一腳(中文輸入問題)
會員二級
註冊日期:
2011/10/5 8:09
所屬群組:
已註冊使用者
等級: 6
HP : 0 / 126
MP : 17 / 3467
EXP: 5
離線
在對岸找到的解決方法:

sudo gedit /usr/share/lazarus/1.1.0/lcl/interfaces/gtk2/gtk2proc.inc

上述路徑中的「1.1.0」請依照你的 lazarus 版本編號來修改輸入,
然後搜尋 checkdeadkey 這個程序的呼叫的地方,直接註解掉這個程序的調用,

//checkDeadKey;

儲存, 這個東東是處理「音調鍵」問題的,中文語系沒有這個需求,可以直接註解掉,
在某些非U.S.英語鍵盤上,有些鍵用於給字母加上音調。因為它們本身不產生字元,
所以稱之為「音調鍵」。例如,使用德語鍵盤時,對於U.S.鍵盤上的+/=鍵,
德語鍵盤的對應位置就是一個「音調鍵」,未按下Shift鍵時它用於標識銳音,
按下Shift鍵時則用於標識抑音。

然後進入 su 狀態, 重新編譯你的 lazarus:
sudo su
cd /usr/share/lazarus/1.1.0
make
上述路徑中的「1.1.0」請依照你的 lazarus 版本編號來修改輸入

最後重新啟動lazarus,編譯測試你的程式,Edit、Memo元件的中文輸入應該都OK.

2014/4/18 18:13
應用擴展 工具箱

« 1 (2)

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.