में Xorg ईवेंट हैंडिंग को जोड़ने के लिए मेरे पास a lightweight application है जो Xorg और dbus ईवेंट को पकड़ता है। ऐसा करने के लिए मैं dbus पाश प्रारंभ और g_main_loop शुरू कर दिया है, लेकिन मैं एक प्राकृतिक तरीके में से निपटने Xorg घटना जोड़ने के लिए पता नहीं कैसे:g_main_loop
GMainLoop * mainloop = NULL;
mainloop = g_main_loop_new(NULL,FALSE);
dbus_g_thread_init();
dbus_init();
// <<<<<<<<<<<<<<<<<<<<<<<<<
//1 way using timeout
//g_timeout_add(100, kbdd_default_iter, mainloop);
//2nd way using pthread
//GThread * t = g_thread_create(kbdd_default_loop, NULL, FALSE, NULL);
//>>>>>>>>>>>>>>>>>>>>>>>>>>>
g_main_loop_run(mainloop);
डिफ़ॉल्ट आईटीईआर में मैं जाँच कर रहा हूँ अगर वहाँ एक्स इंतजार कर घटना और उन्हें संभाल लें।
दोनों तरीके खराब दिखते हैं, पहले क्योंकि मेरे पास ईवेंट की जांच के लिए अनियंत्रित कॉल हैं, दूसरा क्योंकि मैं अतिरिक्त थ्रेड करता हूं और अतिरिक्त ताले बनाना पड़ता हूं।
पीएस मुझे पता है कि मैं gtk lib का उपयोग कर सकता हूं, लेकिन मैं किसी टूलकिट पर निर्भरता नहीं रखना चाहता हूं।