GTK और Qt ऐप्स में कंपोज़ काम कैसे करें?


16

मैंने लंबे समय तक Gnome का उपयोग किया, लेकिन ximडिफ़ॉल्ट GTK व्यवहार पर वेनिला एक्स इनपुट विधि ( ) को प्राथमिकता दी । मैं बस सेट GTK_IM_MODULEऔर QT_IM_MODULEपर्यावरण चर xim, और कई लेआउट विन्यास, Composeकुंजी, कस्टम ~/.XComposeऔर misc:typoटाइपोग्राफी एक्सटेंशन के साथ कोई समस्या नहीं थी ।

हाल ही में Gnome 3.6 ने पूरी तरह से एक आधे-बेक्ड और छोटी गाड़ी को शिपिंग करके ibus और इसे उपयोगकर्ताओं पर मजबूर करके कीबोर्ड इनपुट को खराब कर दिया । मैं सिर्फ कीबोर्ड को पहले की तरह (यहां तक ​​कि ibusविकलांगों के साथ ) काम नहीं कर सका , और पूरी तरह से गनोम को छोड़ना पड़ा।

अब मैं एक साधारण विंडो मैनेजर का उपयोग करता हूं, और अपने कीबोर्ड को कॉन्फ़िगर करता हूं setxkbmap। जबकि कीबोर्ड फिर से अच्छी तरह से काम करता है, मुझे हर जगह कंपोज़ की काम करने की अनुमति नहीं मिली। कम्पोज़ X11 ऐप्स में काम करता है ( xterm), लेकिन यह न तो GTK2, न ही GTK3 और न ही Qt ऐप्स में काम करता है।

मैं वर्तमान आर्कलिनक्स संस्करणों का उपयोग करता हूं:

xorg-xinput 1.6.0
xorg-server 1.13.1
xf86-input-keyboard 1.6.2
gtk2 2.24.14
gtk3 3.6.4
qt 4.8.4

और Composeइस तरह कुंजी सक्षम करें:

setxkbmap ... -option 'compose:menu'

और निर्यात GTK_IM_MODULE, QT_IM_MODULEचर:

$ echo $GTK_IM_MODULE $QT_IM_MODULE 
xim xim

Compose कुंजी को X11 द्वारा ठीक से पहचाना गया है:

$ xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
135 Multi_key

यह xtermमेरे ~/.XComposeशामिल से क्रम में ठीक से काम करता है । यह जीटीके या क्यूटी ऐप में से किसी में भी काम नहीं करता है। कहते हैं, अगर मैं प्रवेश करता हूं Compose ', तो 'अनुक्रम में तीसरी कुंजी की प्रतीक्षा किए बिना, एप्स तुरंत गूंजते हैं ।

अब मुझे लगता है कि Xorg में कुछ बदल गया है (क्योंकि ComposeQt ऐप्स में भी काम नहीं करता है), या GTK और Qt में। *_IM_MODULEचर अब पर्याप्त नहीं हैं। आधुनिक GTK और Qt को पहचानने ximऔर इसके कंपोज़ सीक्वेंस बनाने के लिए और क्या आवश्यक है ?

PS इसमें GTK में काम नहीं करने वाली Compose कुंजी के बारे में एक समान (और अनुत्तरित) प्रश्न है । पूछने वाले के विपरीत, मैंने ibusस्थापित नहीं किया है।

जवाबों:


8

एक समाधान मिला जो GTK ऐप्स के लिए काम करता है (लेकिन Qt नहीं)। एक सेट करने की जरूरत है

XMODIFIERS="@im=none"

X11 को डेड कीज को संभालने दें। उनके जवाब के लिए @PabloSaratxaga को धन्यवाद ।


3

मुझे OpenSUSE में इसी तरह की समस्या थी। ~/.XComposeजीटीके + अनुप्रयोगों को नजरअंदाज किया जाएगा, इसलिए फ़ायरफ़ॉक्स, जिम्प, और अन्य में मेरे खुद के कंपोज़ सीक्वेंस काम नहीं कर रहे हैं।

मुझे पता चला कि gtk-query-immodules-2.0कुछ इनपुट विधियों को सूचीबद्ध किया गया है, लेकिन नहीं xim; इसलिए, GTK_IM_MODULEचर के बावजूद , ximअनुपलब्ध था। पैकेजों gtk2-immodule-xim(और दोस्तों) को स्थापित करने से समस्या हल हो गई।

हो सकता है कि यह टिप्पणी उसी अभिशाप से पीड़ित लोगों के लिए उपयोगी साबित हो।


1

यह लगातार कॉन्फ़िगरेशन का एक तरीका है। यह यहाँ उदाहरण के लिए वर्णित है https://wiki.edubuntu.org/ComposeKey#line-66 । मैंने इस तरह से ~ / .XCompose के साथ कम्पोज़ कुंजियाँ कॉन्फ़िगर की हैं। मैंने ubuntu और debian सिस्टम दोनों पर यह जाँच की है।


समस्या यह है कि एकांगी विधि ने भी काम करना बंद कर दिया है। लगातार परिवर्तन के निर्देश डेबियन / उबंटू विशिष्ट हैं।
सस्तनिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.