#osxchat blog

2005/01/05

輸入法的FixTextService問題

作者: zonble

在OpenVanilla 0.62的程式中忘記處理了一件事情,而造成在使用上的一些問題,而最近這個問題也接連有朋友不斷提出。

狀況是,當您在使用 OV 輸入文字的時候,如果輸入緩衝區當中還有東西的狀況下(所謂輸入緩衝區,就是在你打字時,文字下方會出現一段底線的狀態,代表還在輸入中,還沒有將文字送到應用程式裡),這時候移動滑鼠點選應用程式中的其他地方,或是暫時切換到其他的輸入法,然後再切回 OV 時,您會發現,原來緩衝區當中的東西已經送到應用程式中,但是再按一下按鈕,可以看到輸入法緩衝區的內容還是存在的,而造成同樣的內容重複送出兩次這樣的不正常狀況。而如果是在緩衝區內容特別大的狀況,例如在酷音輸入法中,使用時會更加的不便。

造成這種狀況的原因是,在OV 0.62中,忘了處理在收到kCMFixTextService要求的時候,應該要回應的行為。而光是從文件上,只看到 FixTextService 的用途是詢問您是否確認將文字送出,實在很難看出,到底是在怎樣的狀況下,會收到kCMFixTextService的要求,而其實就是上述的狀況。

這兩天發現所有在MacOS X上的輸入法,包括內建的繁體中文輸入法(TCIM)、內建日文輸入法以及MacUIM等,在遇到要求FixTextService的時候,都會直接將緩衝區當中的文字送出,然後清除緩衝區。而我稍微改了一下SpaceChewing酷音輸入法與 OV 的程式碼,發現就算是設計成清空緩衝區,MacOS X的輸入法環境,還是會在FixTextService事件中,送出輸入法緩衝區,所以,在遇到FixTextService的時候,不管怎樣,都會送出,而輸入法也應該在遇到這種狀況時,清空內部的資料。

但是這樣其實怪怪的,因為在緩衝區當中的資料,往往並不構成使用者想要輸入的文字,比方說,注音、倉頡、行列等輸入法,在打出注音符號或字根,還沒有組成文字的時候,就因為FixTextService而送出緩衝區,這樣的結果其實並不是使用者想要的。這種狀況應該要想辦法解決,而目前TCIM的注音輸入法等,也都有同樣的問題。

說到了TCIM,這兩天又發現TCIM一個很兩光的地方。TCIM有一個「動態提示」的設計,可以在您輸入了某個字根之後,自動列出以這個字根開頭的所有候選字,然後您可以在選字窗上選擇您要輸入的文字;但是,「動態提示」功能在注音輸入法中是有問題的,也就是比方說,當您打了「ㄅ」之後,還沒有按下空白,「動態提示」就會自動列出「崩」、「繃」等字,看到這樣的介面,您就以為按下數字鍵可以輸入選字窗上的字,但是當您按下「2」的時候,還是會出現「ㄉ」,而不是打出選字窗上編號「2」的候選字。

看樣子,TCIM的「動態提示」主要供倉頡以及拼音輸入法使用,但是卻沒有注意到注音使用者的使用問題。

標籤: , ,

3 篇留言:

  • [quote]
    當您打了「ㄅ」之後,還沒有按下空白,「動態提示」就會自動列出「崩」、「繃」等字,看到這樣的介面,您就以為按下數字鍵可以輸入選字窗上的字,但是當您按下「2」的時候,還是會出現「ㄉ」,而不是打出選字窗上編號「2」的候選字
    [end of quote]

    Although I haven't typed Chinese for ages, but I would recommend adding an extra key for this, such as Shift - 2 or Control - 2 to get " 繃 " (選字窗上編號「2」的候選字).

    作者: Blogger Antony Shen 發表時間: 1/07/2005 08:47:00 下午  

  • 高薪徵求blog高手幫我架站!

    時薪: NT$600-1000
    最低保障: 2小時 (依本人領悟力而定)
    上課地點: 北市木柵忠順街自宅
    性別: 限男性,非Gay

    本人懂HTML, 和一點點CSS, 但不懂PHP
    我要架兩個Blog, 一個使用WordPress, 另一個使用pLog
    空間及資料庫都已備好
    希望有對兩種都懂的人能清楚的傳達我概念和修改方法
    口齒清晰, 表達能力強, 有野心和抱負的好男兒, 愛看職業運動者優先

    時間就是金錢, 你我都一樣

    電話面試專線: 0958-359689 于先生
    Email: wendell_yu@yahoo.com

    謝謝 !

    作者: Blogger Wendell 發表時間: 1/09/2005 10:02:00 下午  

  • 我是不知道于先生是怎麼想到上 #osxchat 這裡找人幫忙的,也不太能夠知道于先生怎麼會知道 #osxchat 頻道上有人能夠架設 WordPress 或 pLog 等 PHP 服務。我個人是 wp 以及 plog 的繁體中文語系的製作者,我想在這個頻道裡頭或是在台灣,我敢說我對這兩套東西有著一定的熟悉,個人也是男性異性戀者,也應該滿足于先生的需求。不過,于先生,我怎麼看您我都覺得不順眼。

    我就是看不慣您明明就是希望找人幫忙,卻天殺的擺出那種充滿歧視與高壓的姿態,我實在看不出來有什麼理由要架設一個站台,需要拒絕與自己的性別以及與性取向不同的人,而且在與您希望徵求 PHP 教師無關的文章上發表莫名其妙的留言,我覺得您的問題可能不在於不懂 PHP ,而在於可能根本不懂什麼是blog或什麼是網路,外加您可能也缺乏比較健康的性別教育以及待人接物的基本禮節,如果您覺得時間就是金錢的話,個人竊自以為養出像您現在這種目光如豆心胸狹隘的舉止,似乎已經浪費了人類以及社會不少金錢與時間。

    作者: Blogger zonble 發表時間: 1/10/2005 11:59:00 下午  

張貼留言

? 回前頁