Mac輸入法從零開始_第1頁
Mac輸入法從零開始_第2頁
Mac輸入法從零開始_第3頁
Mac輸入法從零開始_第4頁
Mac輸入法從零開始_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Mac輸入法從零開始淺談基于Mac的輸入法框架童洋1我自己畢業(yè)于北京理工大學08年進入MSRA09年進入騰訊QQ輸入法QQ詞典Mac初學者第一次在同學家使用iMac找不到中文輸入法2我們的團隊騰訊研究院人機交互中心3產品理念簡潔、實用、優(yōu)雅用戶第一:切實為用戶創(chuàng)造價值不要讓中文輸入成為用戶使用Mac的障礙提供Windows輸入法流暢的輸入體驗滿足Mac用戶個性化的需求建立良好的口碑不斷提升輸入法的準確率和輸入速度服務于高端用戶精品化的交互視覺體驗功能:少即是多蘋果的產品理念:封閉的高速路關注細節(jié)4視覺設計兩種方案的PK更Mac還是更Windows5交互設計更Mac的交互體驗兼容Windows輸

2、入法的使用習慣6發(fā)布引擎移植 1周框架搭建 1周界面繪制 1周7用戶反饋8用戶反饋9開發(fā)進度互聯網速度小步快跑2011年6月3日beta1支持整句輸入簡約美觀的Mac風格皮膚超大詞庫2011年6月8日beta2單擊Shift鍵切換中英文解決刪除錯誤的bug超大字符集Esc鍵清除候選欄2011年6月24日1.0支持模糊音支持簡繁轉換支持網址模式候選詞數目可設置候選欄大小可設置提供卸載工具狀態(tài)切換時提示消息2011年7月7日1.1支持五筆支持拼音五筆混輸提供五筆設置全新皮膚風格用戶反饋功能開發(fā)10Mac輸入法SDKInput Method Kit FrameworkSDK框架IMKServerIM

3、KInputController1InputSession1輸入法引擎IMKInputController2InputSession2IMKInputController3InputSession3按鍵候選按鍵IMKServerInput候選IMKTextInput綁定11plist文件描述輸入法信息Bundle名字圖標文件輸入法名稱輸入法模式(拼音、五筆)IMKController名字12IMKServerInput獲得按鍵的三種非正式方式按鍵綁定(sample)inputText獲得字符按鍵didCommandBySelector處理特定的操作,例如insertNewline換行,dele

4、teBackward刪除文本數據string獲得字符按鍵keyCode獲得按鍵的Unicode編碼,例如刪除鍵的keyCode=51flags獲得modifier flags的變化,例如Shift,Ctrl的按下獲得所有按鍵消息通過NSEvent獲得所有按鍵消息KeyDownKeyUpModifierChanged13重要的接口函數(BOOL) handleEvent:(NSEvent*)event client:(id) sender接收按鍵消息引擎處理return YES交還系統(tǒng)處理return NO(void) activateServer:(id) sender輸入法呼出(void)

5、deactivateServer:(id) sender輸入法切出輸入法失去應用程序焦點14重要的接口函數(void) insertText:(id) string replacementRange:(NSRange)replacementRange提交候選詞上屏replacementRange=NSNotFound插入光標位置(void) setMarkedText:(id) string selectionRange:(NSRange)selectionRange replacementRange:(NSRange)repleacementRange設置inline拼音串selection

6、Range為拼音串長度15輸入法引擎handleEvent獲得按鍵留交給引擎處理引擎不處理,handleEvent return NO交回系統(tǒng)處理例如Vim中清除輸入串后,再按Esc退出insert模式輸入法引擎跨平臺-硬鍵盤模式16Adapter模塊17內核模塊18皮膚繪制NSWindoworderFront:nil候選詞窗口顯示在最前面setLevel:NSScreenSaverWindowLevel避免響應F3NSView解析XML文件,傳入根節(jié)點NSXMLELemnt根據XML結構,建立SubView結構在drawRect中完成NSView的繪制NSWindow 調用setConten

7、tView關聯NSViewNSView通過delegate將鼠標點擊消息傳到InputControllerInputControllerNSViewNSViewNSViewNSWindow19Shift鍵的截獲InputMethodServerDelegateClass=QQInputController使handleEvent生效Shift鍵單獨按下Shift鍵+E20密碼框的問題密碼框的識別,自動轉換為英文模式IsSecureEventInputEnable21Inline拼音串沒有inline拼音串時,輸入法截獲刪除鍵后,firefox仍會截獲輸入拼音串后需調用setMarkedText輸入法切出時清除inline拼音串在word中存在有訪問沖突22覆蓋安裝新版本的增加了輸入模式,例如五筆安裝包拷貝新版本QQInput.app至LibraryInput Methods覆蓋后需無法出現新輸入模式 安裝腳本設置/Library/Preferences下com.apple.HIToolbox.plist中的可用輸入源23跨越Mac與Windows的障礙切換輸入法時上屏(void) dealloc去掉inline拼音串,在組詞框中編輯拼音串系統(tǒng)暫不支持讀取windows下的皮膚文件讀取OLE復合

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論