2011-12-23 49 views

回答

1

通過輸入交付在X11上工作的方式,這不會發生:X11窗口必須具有焦點才能接收輸入事件 - 換句話說:事件僅傳遞到焦點窗口。

例如,GTK +中的輸入方法和可訪問性支持依賴於工具包通過特定的API(分別爲IM和ATK)向另一個進程發送數據和從另一個進程接收數據。 GNOME中的所有虛擬鍵盤都使用兩種方法來處理輸入事件。

在純X11上,您可以使用XTest擴展API將事件從虛擬鍵盤發送到調用它的應用程序。

1

您希望將WM_HINTS屬性中的輸入提示設置爲false,而不是添加WM_TAKE_FOCUS屬性。這將確保窗口管理器永遠不會將鍵盤焦點轉移到您的窗口,但不會阻止其他事件。參見ICCCM第4.1.7節。

http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.7

+0

除非它不工作(在Ubuntu 10測試),窗口仍然獲得焦點。 – cap 2015-08-01 02:17:53

相關問題