This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Compose key fails on some ligatures

Tags: None
(comma "," separated)
markp0
Registered Member
Posts
1
Karma
0

Compose key fails on some ligatures

Fri Sep 19, 2014 4:23 am
I'm on Linux Mint 17 KDE (Platform Version 4.13.3). I've mapped my right win key to compose key using
System Settings > Input Devices > Keyboard > Advanced > Position of Compose key > Right Win

As far as I can tell, the compose key works in every program for most characters. But some ligatures don't work.

For example, these work:
  • compose + o + e = œ
  • compose + O + E = Œ
  • compose + a + e = æ
  • compose + A + E = Æ

but these don't:
  • compose + f + f = ff
  • compose + f + i = fi
  • compose + f + l = fl
  • compose + F + i = ffi
  • compose + F + l = ffl
  • compose + I + J = IJ
  • compose + I + j = IJ
  • compose + i + j = ij

I'm able to use digraphs in vim to achieve these, e.g.
  • Ctrl-k + i + j = ij
but it would be nice to use the compose key for these characters in other programs too. Any ideas? This slows down my work.

Here are some specs and environment info, etc:

Code: Select all
$ uname -a
mint 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$ setxkbmap -print
xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)" };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc+us+inet(evdev)+compose(rwin)+terminate(ctrl_alt_bksp)"      };
        xkb_geometry  { include "pc(pc104)"     };
};

$ echo $LANG
en_US.UTF-8

$ echo $TERM
xterm

$ grep fi /usr/share/X11/locale/en_US.UTF-8/Compose
<Multi_key> <f> <i>                     : "fi"   Ufb01 # LATIN SMALL LIGATURE FI


Thanks,
Mark
User avatar
myrkat
Registered Member
Posts
7
Karma
0
OS
I also notice that the musical notes do not compose, either:
# Musical alterations
<Multi_key> <numbersign> <q> : "♩" U2669 # QUARTER NOTE
<Multi_key> <numbersign> <e> : "♪" U266a # EIGHTH NOTE
<Multi_key> <numbersign> <E> : "♫" U266b # BEAMED EIGHTH NOTES
<Multi_key> <numbersign> <S> : "♬" U266c # BEAMED SIXTEENTH NOTES
<Multi_key> <numbersign> <b> : "♭" U266d # MUSIC FLAT SIGN
<Multi_key> <numbersign> <f> : "♮" U266e # MUSIC NATURAL SIGN
<Multi_key> <numbersign> <numbersign> : "♯" U266f # MUSIC SHARP SIGN

There are probably more, but I just noticed these in addition to the OP's missing ligatures.

Also, my compose only seems to work in very few applications (i.e. note plasmoid, kate, dolphin) while others do not have compose working at all (i.e. firefox, chrome, LibreOffice, Thunderbird, Skype).

My info (inxi -F output):
Code: Select all
System:    Host: Papa-PC-lm17 Kernel: 3.13.0-24-generic x86_64 (64 bit) Desktop: KDE 4.14.2 Distro: Linux Mint 17 Qiana
Machine:   System: ASUS product: All Series
           Mobo: ASUSTeK model: SABERTOOTH Z87 version: Rev 1.xx Bios: American Megatrends version: 1707 date: 12/13/2013
CPU:       Quad core Intel Core i7-4770K CPU (-HT-MCP-) cache: 8192 KB flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx)
           Clock Speeds: 1: 800.00 MHz 2: 800.00 MHz 3: 1400.00 MHz 4: 800.00 MHz 5: 1200.00 MHz 6: 800.00 MHz 7: 800.00 MHz 8: 800.00 MHz
Graphics:  Card: NVIDIA GK104 [GeForce GTX 760] X.Org: 1.15.1 driver: nvidia Resolution: 1920x1080@60.0hz
           GLX Renderer: GeForce GTX 760/PCIe/SSE2 GLX Version: 4.4.0 NVIDIA 340.46
Audio:     Card-1: Intel 8 Series/C220 Series Chipset High Definition Audio Controller driver: snd_hda_intel
           Card-2: NVIDIA GK104 HDMI Audio Controller driver: snd_hda_intel
           Card-3: C-Media Audio Adapter driver: USB Audio
           Sound: Advanced Linux Sound Architecture ver: k3.13.0-24-generic
Network:   Card: Intel Ethernet Connection I217-V driver: e1000e
           IF: eth0 state: up speed: 1000 Mbps duplex: full mac: bc:ee:7b:98:7d:e5
Drives:    HDD Total Size: 2128.4GB (22.9% used) 1: id: /dev/sda model: Samsung_SSD_840 size: 128.0GB
           2: id: /dev/sdb model: WDC_WD1003FZEX size: 1000.2GB 3: id: /dev/sdc model: WDC_WD10EARX size: 1000.2GB
Partition: ID: / size: 66G used: 8.7G (14%) fs: ext4 ID: /home size: 720G used: 445G (66%) fs: ext4
           ID: swap-1 size: 4.29GB used: 0.06GB (1%) fs: swap ID: swap-2 size: 10.24GB used: 0.00GB (0%) fs: swap
RAID:      No RAID devices detected - /proc/mdstat and md_mod kernel raid module present
Sensors:   System Temperatures: cpu: 29.8C mobo: 27.8C gpu: 40C
           Fan Speeds (in rpm): cpu: N/A
Info:      Processes: 263 Uptime: 6 days Memory: 2653.4/15987.5MB Client: Shell inxi: 1.8.4

My keyboard (setxkbmap -print output):
Code: Select all
xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)" };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc+us+inet(evdev)+compose(caps)+compose(sclk)+terminate(ctrl_alt_bksp)"        };
        xkb_geometry  { include "pc(pc101)"     };
};
luebking
Karma
0
Most important question here as well is "in what application in particular" - I tried KDE/Qt (w/ exported QT_NO_IM=1) and all mentioned ligatures work fine there.

Notice that the KDE config "just" enables the required kxb setting (what works), the support for this is client (toolkit) specific.
User avatar
myrkat
Registered Member
Posts
7
Karma
0
OS
luebking wrote:Most important question here as well is "in what application in particular" - I tried KDE/Qt (w/ exported QT_NO_IM=1) and all mentioned ligatures work fine there.

Notice that the KDE config "just" enables the required kxb setting (what works), the support for this is client (toolkit) specific.


I am not sure how to enable KDE/Qt (w/ exported QT_NO_IM=1). I just installed Linux Mint 17 KDE and went to the keyboard settings to enable my scroll lock and menu keys to act as compose.

I do not get compose in either chrome or firefox: for instance, in this reply text box. It does not work in the address text box either, fwiw.

I do not recall ever having compose work with LibreOffice (it does not for me now), so I chalked that up to LibreOffice.

However, I have had the browsers and skype use compose when I was running Kubuntu 14.04 (and Mint 16 Xfce). How would I go about exporting QT_NO_IM=1? Is this an end-user thing, or a programming-specific thing? I was hoping for some settings file buried somewhere that I could edit and get things working with compose again.

Finally, not to distract too much from the OP, but the ligatures mentioned still do not work, even on the apps where I can get compose working (kate, for instance).
luebking
Karma
0
put a script into ~/.kde/env/qt_no_im.sh (might be ~/.kde4, check the output of "kde4-config --path config")

Code: Select all
#!/bin/sh
export QT_NO_IM=1


ensure the script is executable ("chmod +x ~/.kde/env/qt_no_im.sh")

This will set the variable for the entire session (on next login)

To just try it, ensure skype (or another Qt only application where compositing doesn't work) isn't running and start it from konsole
Code: Select all
export QT_NO_IM=1
skype &


This will the most unlikely have any impact on chromium or firefox, though.

Alternatively just enforcing xim may work (and work for Gkt+ applications as well)


Code: Select all
#!/bin/sh
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim


You can likewise try them in konsole.

About the missing ligatures:
composition is done locale aware, the configuration is found in
/usr/share/X11/locale/<locale>/Compose

To print your locale, just type "locale" in konsole.
The mapping (your locale -> composition locale) is done in /usr/share/X11/locale/compose.dir, ie. if you lookup that file for your configured locale, you'll know what <locale> is. (In very doubt or this was too confusing, just post the ouput of "locale" here ;-)

Your former distro might have set another locale and/or different mapping and/or the actual composition configuration altered.


---
I assume those are your bugreports?
https://bugs.launchpad.net/linuxmint/+bug/1372041
https://www.libreoffice.org/bugzilla/sh ... i?id=84341
User avatar
myrkat
Registered Member
Posts
7
Karma
0
OS
I believe I have found a work-around to my issues with Compose Key.

From THIS POST (a few years ago), I saw one user do a
Code: Select all
sudo im-switch -s none

followed by a
Code: Select all
sudo apt-get install ibus

Risking it all, I did the same on my Mint 17 KDE setup. I had to get im-switch first via sudo apt-get install, then set it to none; next I installed ibus (which I thought would be installed, but it wasn't). Once all that was done, I rebooted, logged in and then voila! I tested it in Skype, Thunderbird, LibreOffice and it worked. Unfortunately, it does not seem to work in Chrome, but there is a known bug about that. Heck, I can even type it in World of Warcraft (running under Wine) like I used to... which is nice since most of my characters have accented letters!

When I echo $XMODIFIERS I get a blank (where I used to get "@im=ibus" or something). Not sure what happened or why, but it is working (for now?) at least.

I went back and tested the OP's ligatures, ff, fi, etc as well as the musical ones I noted before as not working, and they all work! (except in Chrome, unfortunately, which remains bugged - and known). Still, I can work-around that by inputing the text anywhere else and copy-pasting.

Hope this helps!


Bookmarks



Who is online

Registered users: Bing [Bot], blue_bullet, Google [Bot], rockscient, Yahoo [Bot]