如果要加新酷音,
- 在 method_codes[] 裡增加一個項目, !CHEWING
- gtab.list 裡增加一個新的項目,新酷音 ] !CHEWING chewing.png
- MAX_GTAB_NUM_KEY 也要再加1
- load_gtab_list 一開頭把 method_type 寫死了,所以這邊也要加,inmd[16].method_type=method_type_CHEWING
- 加 method_type_CHEWING
以上從 gcin-setup.cpp 的 cb_default_input_method() 開始追
callback 裡呼叫了 create_gtablist_window(),然後再呼叫 create_model()。從裏面的 add_items() 再看到 load_gtab_list() 而推導的。
從 GtkIMContextClass 的 filter_keypress 開始看: gtk_im_context_gcin_filter_keypress
大致上的架構是這樣子:
gtk_im_context -> gcin client <-> gcin server
eve.cpp 裡的 ProcessKeyPress 是處理 Key 的部份,所以這邊可以看到輸入法的切換、暫時切換為英文、選phrase...等等的處理。
沒有留言:
張貼留言