Tôi đã sử dụng Gnome trong một thời gian dài, nhưng phương thức nhập liệu vanilla X ( xim
) ưa thích hơn hành vi GTK mặc định. Tôi chỉ đặt GTK_IM_MODULE
và QT_IM_MODULE
các biến môi trường thành xim
, và không có bất kỳ vấn đề nào với các phần mở rộng cấu hình, Composekhóa, tùy chỉnh ~/.XCompose
và misc:typo
kiểu chữ.
Gnome 3.6 gần đây đã hoàn toàn nhập vào bàn phím bằng cách vận chuyển một nửa lỗi ibus
và lỗi và buộc nó vào người dùng . Tôi không thể làm cho bàn phím hoạt động tốt như trước (ngay cả khi ibus
bị vô hiệu hóa) và phải từ bỏ hoàn toàn Gnome.
Bây giờ tôi sử dụng một trình quản lý cửa sổ đơn giản và cấu hình bàn phím của mình với setxkbmap
. Mặc dù bàn phím hoạt động tốt trở lại, tôi không thể để phím Compose hoạt động ở mọi nơi. Soạn thảo hoạt động trong các ứng dụng X11 đơn giản ( xterm
), nhưng nó không hoạt động trong cả ứng dụng GTK2, GTK3 và Qt.
Tôi sử dụng các phiên bản Archlinux hiện tại:
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
và bật Composekhóa như thế này:
setxkbmap ... -option 'compose:menu'
và xuất GTK_IM_MODULE
, QT_IM_MODULE
biến:
$ echo $GTK_IM_MODULE $QT_IM_MODULE
xim xim
Compose Khóa được nhận dạng đúng bởi X11:
$ xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
135 Multi_key
Nó hoạt động đúng trong xterm
, trình tự từ ~/.XCompose
bao gồm của tôi . Nó không hoạt động trong các ứng dụng GTK hoặc Qt. Giả sử, nếu tôi nhập Compose ', thì ứng dụng sẽ lặp lại '
ngay lập tức mà không cần đợi khóa thứ ba trong chuỗi.
Bây giờ tôi cho rằng một cái gì đó đã thay đổi trong Xorg (vì Composecũng không hoạt động trong ứng dụng Qt), hoặc trong GTK và Qt. *_IM_MODULE
biến là không đủ bây giờ. Những gì khác được yêu cầu để làm cho GTK và Qt hiện đại nhận ra xim
và các chuỗi Soạn của nó?
PS Có một câu hỏi tương tự (và chưa được trả lời) về khóa Compose không hoạt động trong GTK . Không giống như người hỏi, tôi không ibus
cài đặt.