zonble’s promptbook 我是全宇宙底Enerrgy底總量

2005 年 7 月 29 日

重量級傳播學者

無以名狀 像是一顆彈頭

下載

閱讀〈像是一顆彈頭〉全文

文章分類: — zonble @ 11:27 am 迴響(5) #

2005 年 7 月 24 日

我的電腦 怎樣在 Mac OS X 下寫一套輸入法?(三)

到目前為止的介紹所介紹的,都只是一個輸入法系統元件的「外殼」,而還沒有介紹作業系統如何與輸入法的核心演算法溝通。接下來要介紹的,就是輸入法如何取得使用者輸入的按鍵的資訊,然後給予適當的回應。

作業系統會將使用者按了某個鍵盤按鍵這樣的事情,當成是一種「事件」(Event),而在 Mac OS X 中,有非常多不同種類的事件,包括滑鼠事件與鍵盤事件的類型,而每個類型下又有許多更進一步的區別,例如,滑鼠事件就有滑鼠移動、點選、拖拉、放開,鍵盤則有打一下、按著不放…等等,蘋果在 Carbon Event Manager Reference 這份文件中,便完整列出了各種事件。輸入法則透過前一篇介紹的 kCMTextServiceEvent,獲得這些事件,以 CIM 這個範例來說,可以在 CIMcomponent.cpp 裡頭,在遇到 kCMTextServiceEvent ,就丟到 CIMSessionEvent() 裡頭處理, CIMSessionEvent() 則寫在 CIM.cpp 裡頭。

閱讀〈怎樣在 Mac OS X 下寫一套輸入法?(三)〉全文

文章分類: — zonble @ 11:40 pm 迴響(3) #

2005 年 7 月 23 日

我的電腦 怎樣在 Mac OS X 下寫一套輸入法?(二)

講完了資源檔案,接下來,我們要看的是程式的部份。我們首先要看CIMcomponent.cpp這個檔案,這個地方的程式碼,是讓你所要寫的輸入法,足成為一個系統元件的溝通介面,用來接收各種來自作業系統的事件,並且給予回應,用蘋果的官方術語來說,就是各種低階例行事件(Low-levelRoutines)。

一般來說,在進行輸入法開發的時候,幾乎都不會修改這個部份的程式碼,但是要進一步了解輸入法的運作,就必須要解說,一個輸入法系統元件會處理那些事件,才能夠知道我們要在什麼時候,讓輸入法做什麼事情。您也可以先參看蘋果的這幾篇官方文件:Text Services Manager Reference: Low-levelRoutineSelectors,以及Component Manager Reference: Request Codes

閱讀〈怎樣在 Mac OS X 下寫一套輸入法?(二)〉全文

文章分類: — zonble @ 1:41 am 迴響(1) #

2005 年 7 月 22 日

我的電腦 怎樣在 Mac OS X 下寫一套輸入法?(一)

Glider 最近推出了 QIM的體驗版本。QIM 是一套在 Mac OS X 環境下的簡體中文拼音輸入法,而在 glider 開始開發 QIM 的時候,曾經有向 OpenVanilla 的開發團隊詢問有沒有關於在 Mac OS X 下開發輸入法的相關文件,而那時候居然答不出來,一方面是因為蘋果官方本身所提供的文件就不多,甚至有許多與作業系統溝通的方式,都還找不到文件,在開發 OpenVanilla 的時候,也都是在缺乏文件的狀況下摸索,而在摸索的同時,自己卻也沒有留下多少文件。想想這樣還是不行,還是該來弄一點文件。

閱讀〈怎樣在 Mac OS X 下寫一套輸入法?(一)〉全文

文章分類: — zonble @ 9:33 pm 迴響(1) #

2005 年 7 月 17 日

隨手筆記 一個下午的一無所獲

陽光刺眼,天空很藍,一片雲都沒有的那種藍,藍到讓人難以想像颱風正在接近。這種天實在要不該去游泳池、要不就是該去海邊,而不該是窩在圖書館裡頭,夾在書架以及落地窗之間的狹小自習桌前,獨自面對著書本;冷氣嗡嗡作響卻始終不夠冷,更要命的是落地窗面向的是西面,隔著沒有什麼屏庇作用的百葉窗,西照還是將熱浪投入了這個空氣其實不流通的角落,是了,居然在冷氣房裡,沒過幾分鐘,汗水居然也浸透了汗衫。

閱讀〈一個下午的一無所獲〉全文

文章分類: — zonble @ 6:08 am 迴響(90) #

下一頁


Powered by WordPress 2.5, Yichi.org, ideas and cares.

Weizhong Yang(a.k.a zonble)
Email:zonble@gmail.com
AIM: zonble@man.com