Compose'un GTK ve Qt uygulamalarında nasıl çalışmasını sağlar?


16

Gnome'u uzun süre kullandım, ancak ximvarsayılan GTK davranışı yerine vanilya X giriş yöntemini ( ) tercih ettim . Sadece değişkenleri ayarladım GTK_IM_MODULEve QT_IM_MODULEortam değişkenlerini ayarladım ve ximçoklu düzen yapılandırma, Composeanahtar, özel ~/.XComposeve misc:typotipografi uzantılarıyla ilgili herhangi bir sorun yaşamadım .

Son Gnome 3.6, yarı pişmiş ve buggy göndererek ibus ve kullanıcılara zorlayarak klavye girişini tamamen vidaladı . Klavyeyi daha önce olduğu gibi ( ibusengelli olsa bile ) çalıştıramadım ve Gnome'u tamamen terk etmek zorunda kaldım.

Şimdi basit bir pencere yöneticisi kullanıyorum ve klavyemi ile yapılandırıyorum setxkbmap. Klavye tekrar iyi çalışıyor olsa da, Compose tuşunun her yerde çalışmasını sağlayamadım. Compose, düz X11 uygulamalarında ( xterm) çalışır, ancak ne GTK2 ne de GTK3 veya Qt uygulamalarında çalışmaz.

Mevcut Archlinux sürümlerini kullanıyorum:

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

ve Composeanahtarı şu şekilde etkinleştirin :

setxkbmap ... -option 'compose:menu'

ve export GTK_IM_MODULE, QT_IM_MODULEdeğişkenler:

$ echo $GTK_IM_MODULE $QT_IM_MODULE 
xim xim

Compose anahtar X11 tarafından düzgün bir şekilde tanınır:

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

xtermBenim ~/.XComposedahil dizileri düzgün çalışır . GTK veya Qt uygulamalarında çalışmaz. Diyelim ki, Compose 'girersem uygulamalar sıradaki 'üçüncü anahtarı beklemeden hemen yankılanır .

Şimdi Xorg'da ( ComposeQt uygulamalarında da çalışmadığı için) veya GTK ve Qt'de bir şey değiştiğini düşünüyorum . *_IM_MODULEdeğişkenler artık yeterli değil. Modern GTK ve Qt'yi ximve Oluşturma dizilerini tanımak için başka ne gerekiyor ?

Not: Compose anahtarının GTK'da çalışmadığı konusunda benzer (ve yanıtlanmamış) bir soru var . Askerden farklı olarak ben kurmadım ibus.

Yanıtlar:


8

GTK uygulamaları için çalışan bir çözüm bulundu (Qt için değil). Birinin ayarlanması gerekiyor

XMODIFIERS="@im=none"

X11'in ölü tuşları kullanmasına izin vermek için. İçin @PabloSaratxaga sayesinde onun cevabını .


3

Ben openSUSE de benzer bir sorun vardı. ~/.XComposeGTK + uygulamaları tarafından yok sayılır, bu nedenle kendi Oluşturma sıralarım Firefox, Gimp ve diğerlerinde çalışmadı.

Ben gtk-query-immodules-2.0birkaç giriş yöntemleri listelenen öğrendim , ama değil xim; dolayısıyla, GTK_IM_MODULEdeğişkene bakılmaksızın xim, kullanılamıyordu. Paketlerin gtk2-immodule-xim(ve arkadaşların) kurulması sorunu çözdü.

Belki de bu açıklama aynı lanetten muzdarip insanlar için yararlı olabilir.


1

Bu kalıcı bir yapılandırma yoludur. Örneğin burada https://wiki.edubuntu.org/ComposeKey#line-66 açıklanmaktadır . Bu şekilde ~ / .XCompos ile oluşturma anahtarları yapılandırdım. Bunu hem ubuntu hem de debian sistemlerinde kontrol ettim.


Sorun, bir defalık yöntemin bile çalışmayı durdurmasıdır. Kalıcı değişiklik talimatları Debian / Ubuntu'ya özgüdür.
sastanin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.