<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 67  文章 - 79  trackbacks - 0
    <2008年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(1)

    隨筆檔案

    文章檔案

    相冊

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    雖然以前籌劃過很多項目,但動手去做的實在不多,能做出來的就更少了,這個scim的dbus前端算是我做的最認真的一個了。

    這個項目是為了解決linux環境下,一些特殊的應用(比如游戲程序)i18n文字輸入問題。雖然SDL從1.2.13開始支持了xim,但還是很不完善,至少我不能解決全屏模式下的輸入法問題。所以我想沿用win32下的游戲模式,傳遞鍵盤事件給輸入法引擎,得到一組lookup字符串,再自己畫出IM Panel。

    XIM好像很難這樣作(這年頭講xlib的書難找,我看過《Xlib Programming Manual》的i18n部分后,還是沒有找到基于xim的解決方法)。
    SCIM的SocketFrontEnd有點這個意思,不過還是不行。所以我想自己作一個scim的frontEnd 來提供類似候選字符串的查找的功能。本來想基于SocketFrontEnd的,但是發覺這樣做的話,客戶端的程序勢必要依賴scim(或者抄寫一遍scim的frontEnd和socket頭文件),并且也不利于其他語言的binging,所以決定作一個dbus模式server。選擇scim而不是xim的一個附帶效果就是,client可以不依賴X,這樣即使是console或者是fb下的i18n環境也可以簡單的調用scim輸入法服務。

    關于scim,dbus的文檔不多,所以了解他們的結構和用法多半只能看代碼。scim的頭文件的注釋很詳細,代碼的結構也清晰,基本上花了2天時間就了解了scim的FrontEnd。但是dbus就不容易了,雖然有glib和qt的binging,但是我想這應該是GP和元編成大展身手的地方。看著freedesktop上的Reference寫了一些Pure C++ binging后,才發現自己重復造輪子了。早有個Pure C++ dbus binging在freedesktop的git上http://www.freedesktop.org/wiki/Software/dbus-c%2B%2B 。所以雖然tarball里面自己寫的代碼沒幾K,一大半還是從freedesktop上git來的dbus-c++ binging。

    由于全部是在用業余時間在做,目前的代碼僅能做到在我的機器上完成大部分功能。構建方面我也不是很懂,所以目前make文件慘不忍睹、極不規范。目前自己設計的scim-introspection.xml中,提出的接口里還是幾個冷門的方法沒實現,scim中還有幾個方法和信號不清楚怎么用dbus傳,有些應該是用object的參數(比如lookup對象)被我用StringList簡化了,這些都是要繼續完善的部分。我希望將來dbus能成為scim默認提供的frontend之一。

    代碼:http://www.tkk7.com/Files/zarra/scim-dbus-frontend.zip
    pygame 演示:



    posted on 2008-07-11 09:40 zarra 閱讀(873) 評論(17)  編輯  收藏

    FeedBack:
    # re: scim dbus前端[未登錄] 2008-07-28 10:47 apple
    這個界面還是相當熟悉的.......
    代碼還是看不懂,幾個月來發現自己一點長進也沒有
    慚愧啊~~`  回復  更多評論
      
    # re: scim dbus前端 2009-03-03 10:58 趙梓安!
    真是不好意思。我是09年2月看到你這個博文的。事隔半年了.不知道這位人兄對scim的前端開發是否還有趣興.

    我也想做一個scoketfrontend可是沒能成功.

    生成出來libMyfrontend.so的方法也不知道對不對.
    我scim -f libMyfrontend.so后

    說libMyfrontend.so 載入失敗.很是頭痛.希望你能看到我經你的留言.來幫幫我~!  回復  更多評論
      
    # re: scim dbus前端 2009-03-03 16:56 趙梓安!
    這位仁兄我下載了這個東西,make通過了。我要怎么執行呢?????  回復  更多評論
      
    # re: scim dbus前端 2009-03-03 17:05 趙梓安!
    我能看出來你這個是用python寫的。

    我python pygame_scim.py
    說找不到

    pygame

    這個東西。你能不能把完全包借小弟用一用。
    我想用QTE寫一個界面~!  回復  更多評論
      
    # re: scim dbus前端 2009-03-03 21:39 zarra
    scim 的dbus 前端是用C++寫的 用了dbusc++ 這個庫 已經包含在代碼中
    一個python 程序是使用 dbus來和scim通訊的一個演示,使用了pygame
    基本所有的發行版都有它 #>apt-get install pygame
    不過 我后來發現了 ibus 這個項目 也是一個dbus 接口的輸入法服務器 但是依賴很多

    我寫的那個 基本輸入功能都有 穩定性沒測試過...

    我留個地址 zarraxx@gmail.com   回復  更多評論
      
    # re: scim dbus前端 2009-03-04 08:41 趙梓安!
    真高興能與你取得聯系。

    我寫的frontend成功了。現在是早上八點多剛上班。

    我非常興奮能看到你的留言。


    我決定試一下你給的見意!謝謝!  回復  更多評論
      
    # re: scim dbus前端 2009-03-04 08:45 趙梓安!
    真的很高興能與你取得聯系。

    我也做了一個 frontend。通過scim -f ./libm.so實現了我想要的。

    現在是早是八點多,我剛上班一打開你的博看到你的留言后我非常高興。

    我決定試試。再此謝過!
      回復  更多評論
      
    # re: scim dbus前端 2009-03-04 10:39 趙梓安!
    你的東西我運行了.

    是好使的但我沒有YaHei.Consolas.1.12.ttf字休.所以我用了None這個代替之后我看到的都是小格子.

    我正下載它,不知道下來之后要放在哪個路徑下!  回復  更多評論
      
    # re: scim dbus前端[未登錄] 2009-03-04 12:09 zarra
    不一定要用 YaHei.Consolas.1.12.ttf 隨便放個中文字體文件在 py 文件同目錄下就好了
    同時別忘記改下 py 文件中的 font=pygame.font.Font('YaHei.Consolas.1.12.ttf',12) 這行   回復  更多評論
      
    # re: scim dbus前端 2009-03-04 12:12 趙梓安!
    我這個字體已經下來了.

    你讓我認識了python這個腳本  回復  更多評論
      
    # re: scim dbus前端 2009-03-04 12:27 趙梓安!
    呵呵,果真好使,你這樣的天才難遇呀!

    能不能加我個好友.

    fhqsuhpv@163.com

    我在努力吧你的python改寫為QTE4的程序!  回復  更多評論
      
    # re: scim dbus前端 2009-03-04 15:04 趙梓安!
    我想改成QT這個想法現實嗎?  回復  更多評論
      
    # re: scim dbus前端 2009-03-06 10:11 
    你好,還是我~!

    我想問一下哦。你那面的fronend有一個配置器scim-adaptor.h
    我想這個是C++的對吧!

    那我想為QT提供一個接口我應怎么辦。

    我用了qdbusxml2cpp (你好那個)scim-introspection.xml -p scim-intrf

    結果出現了scim-intrf.h scim-intrf.cpp 文件。

    當我把他們當成QT的接口make時。出現了scim-intrf.o:(許多)**未定義的引用

    我該怎么辦!!!  回復  更多評論
      
    # re: scim dbus前端 2009-03-06 15:42 
    我在我的Makefile中加入了-lQtDBus之后上面的那個錯誤就沒有了.

    同在我又在分析你的那個python的程序.大多都注上的注解.有一個地方我不明白.

    import locale, sye 為什么要引他,他是哪來的,有什么用?

    self.language,self.encoding =locale.getdefaultlocale()
    這句我能從字面上理解是獲取默認的locale....

    這是什么意思呢!我要用QT怎么獲取呢?????  回復  更多評論
      
    # re: scim dbus前端 2009-03-06 16:10 
    我的同事問我問題時,我一下想起來!

    我感覺是從系統上獲取的.語言和編碼!

    你的邏輯思維真不一般.  回復  更多評論
      
    # re: scim dbus前端 2009-03-07 22:06 zarra
    scim輸入法服務器 這東西是支持多語言的,在語言下還支持多編碼
    作frontend 當然應該找到系統當前的語言和編碼 作為默認值
    難不成在中文locale里 每次調出來的都是默認的en 要手動切下語言  回復  更多評論
      
    # re: scim dbus前端 2009-03-09 09:00 
    不是說你獲取這一行寫的代碼不一般。。。。是你正個的邏輯思維!~  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产成人精品亚洲2020| 亚洲国产精品yw在线观看| 久久亚洲精品11p| 看全色黄大色大片免费久久| 亚洲av乱码一区二区三区香蕉| 亚洲精品视频在线观看免费| 91久久亚洲国产成人精品性色| 99热这里只有精品6免费| 亚洲高清中文字幕综合网| 久久久久久精品免费免费自慰| 亚洲午夜久久久精品电影院| 岛国片在线免费观看| 亚洲AV成人无码久久WWW| 亚洲?v无码国产在丝袜线观看| 一级午夜a毛片免费视频| 亚洲一区无码中文字幕| 日韩内射激情视频在线播放免费 | 国产亚洲综合久久系列| 成人性生交大片免费看中文| 亚洲国产成人高清在线观看| 四虎在线视频免费观看视频| 亚洲一区二区三区在线网站| 国产成人精品高清免费| 国产精品1024在线永久免费| 亚洲Av无码专区国产乱码DVD| 4hu四虎最新免费地址| 亚洲成在人线在线播放无码| 国产亚洲精品激情都市| 久久99青青精品免费观看| 亚洲一卡2卡三卡4卡无卡下载| 亚洲伊人成无码综合网| 2022久久国产精品免费热麻豆| 亚洲日韩国产二区无码| 亚洲人成网77777色在线播放| 最近免费中文字幕大全免费版视频 | 成人永久免费高清| 两个人的视频www免费| 亚洲国产成人久久综合一区| 亚洲?V无码乱码国产精品| 亚洲视频在线免费播放| 四虎成人精品国产永久免费无码|