cht電腦資訊gcin
adm Find login register

wine focus 的問題。

eliu
1 wine focus 的問題。
Promote 0 Bookmark 02007-12-24quote  

剛才試著想解決 wine/IE6 & gcin focus 的問題,也可能與 game WOW 有關。

後來才發現,這個 focus 問題似乎是 wine & window manager 的問題。

我們在開啟 IE6 後,open google,mouse 移至 text entry 約數秒後,會出現 google 搜尋 的 tip window,這時候看 IE 的 window 的 title bar 的顏色,focus  已經被轉移到 tip window。我是用不用click window 就自動 focus,那如果改成 Click to Focus 呢?結果沒有 Click,Focus 還是轉移到 tip window。所以看起來 Window manager(Gnome metacity) & Wine 都有問題。

觀察 gcin 的 log 發現,wine 並沒有對 tip window 送 Focus In/Out 給 gcin,所以這邊 gcin 就幫不上忙了。

 

 

 

edited: 2
eliu
2
Promote 0 Bookmark 02007-12-24quote  

剛才又試了一下, Icewm也不正常,只有 KDE 的 window manager 正常,所以,其實確實也是 window manager 的問題。

eliu
4
Promote 0 Bookmark 02007-12-24quote  
Tetralet
5
Promote 0 Bookmark 02007-12-26quote  

也許和本主題無關...

在 Wine 要啟動 OverTheSpot 要做如下設定:

cat >> ~/.wine/user.reg << EOF

[Software\\\\Wine\\\\X11 Driver]
"InputStyle"="overthespot"

EOF

但無作用就是了,GCIN 視窗反而出不來。 XD

eliu
6
Promote 0 Bookmark 02007-12-26quote  
swyear
7
Promote 0 Bookmark 02007-12-26quote  

我的就是 KDE + wine + World of Warcraft

不過我看不懂這一串要測試什麼? 

eliu
8
Promote 0 Bookmark 02007-12-26quote  
swyear

我的就是 KDE + wine + World of Warcraft

不過我看不懂這一串要測試什麼? 

那是測為什麼有 tip window 出現後亂移 focus 的問題。

所以 gcin 在 KDE 還是不正常?

eliu
9
Promote 0 Bookmark 02008-02-09quote  
剛才試了一下 wine-0.9.54,IE  focus 的問題似乎已經解決了。不過還有 buffer 太小的問題,我來看 wine source code.
eliu
10
Promote 0 Bookmark 02008-02-09quote  

附上給 wine 0.9.54 的 .so

cp  winex11.drv.so /usr/lib/wine

 

/wine-0.9.54/dlls/winex11.drv/keyboard.c 

 static WORD EVENT_event_to_vkey( XIC xic, XKeyEvent *e)
{
    KeySym keysym = 0;
    Status status;
    char buf[256];

    /* Clients should pass only KeyPress events to XmbLookupString */
    if (xic && e->type == KeyPress)
        XmbLookupString(xic, e, buf, sizeof(buf), &keysym, &status);
    else
        XLookupString(e, buf, sizeof(buf), &keysym, NULL);

.............. 

 void X11DRV_KeyEvent( HWND hwnd, XEvent *xev )
{
    XKeyEvent *event = &xev->xkey;
    char Str[256];
    KeySym keysym = 0;

edited: 2

cht電腦資訊gcin
adm Find login register
views:24048