Dead keys not working

sailfishos.org homepage says “dead key support for inputing diacritics”. But I cannot make it work (Xperia 10iii).

Say SFOS input settings are set to French (I also tried Spanish and Portuguese). Already in the Terminal application, the dead keys are not functional with the virtual keyboard. When connecting a USB or pairing a bluetooth keyboard, same thing. The USB keyboard gives access to plenty of fancy characters using Alt-Gr, but dead keys do not function.

Is there a trick I need to know?

I too cannot get deadkeys to do anything with my keychron keyboard, neither over Blouetooth or USB.

It is not obvious what that marketing blurb applies to though. It looks kind of like it means the regular onscreen keyboard (but surely that doesn’t have any?). One thing is sure; it most certainly does not mean the dedicated terminal keyboard. (And i’m pretty sure it only has “alive” keys, fully intentionally, anyway).

Why on earth would anyone need/want diacritics in a terminal? Though not being able to produce a lone tilde or backtick on a HW keyboard is a problem…

I indeed don’t need the diacritics in the Terminal. (I would enjoy them for messaging.)

I mentioned the Terminal because I found it strange that the Terminal virtual keyboard comes with some dedicated keys to produce diacritics, but then it does not work. I assumed it could have been a breakage in the latest system update or a 10iii specific bug.

But if you say it does not work, my only last option would be to see if I can edit the xkb and add the needed characters with Alt-Gr combinations. But I never got onto xkb as I use xmodmap on my pc so that’s not an immediate solution for me.

What? Are you referring to things like the non-dead dead tilde and backtick? Those are not for diacritics in the terminal.

The phone does not run X, so you’ll have to look at other input handling. I think there is a post on TJC about it.

I edited xkb for Slovak on the Gemini PDA with SFOS:

I couldn’t set the dead keys, so I can’t type some characters with diacritics. I don’t know if xkb also works on the onscreen keyboard.

@moripeluka What happens on your phone if you long-tap on a letter? There should occur some more letters. E.g. long tap on n should show ñ in spanish, or long-tap on c should show ç.

@Seven.of.nine With long-tap the on-screen keyboard shows additional letters; but my concern is with the physical keyboard (usb / bluetooth). A long press on the physical keyboard does not show additional letters (it is also as expected). Also when plugging or pairing an external keyboard, the on-screen keyboard becomes hidden, so it is not possible to use them in combination.

@moripeluka Sorry, but I didn’t really realize that you’re writing about a physical keyboard, so I misunderstood you.

My bluetooth keyboard has 3 settings, ios android and windows. As i remember, it was possible to have the virtual keyboard always present in fingerterm…

@mankir I also have these 3 settings but I don’t see any difference in SFOS when changing them. I think it only affects special keys that don’t have any meaning in SFOS (here: description of the shortcuts and function keys 3 modes in case of Logitech Getting started - K380 Multi-Device Bluetooth Keyboard – Logitech Support + Download )

The terminal app has its own virtual keyboard which is totally separate from all the other apps. The generic virtual keyboard should work fine with dead key input on layouts that use such.

But indeed the hardware keyboard side is currently lacking support for dead key input.

2 Likes

It worked by editing xkb files. I decided to edit pt (Portuguese) as the layout is ok for me and I don’t mind if I mess it up.

So on the phone I edited /usr/share/X11/xkb/symbols/pt

There are different sections in the file; one would normally create another layout variant, but I don’t know how to tell SFOS to use the specific variant. So I edited the first group called “basic” to make sure SFOS would use it.

xkb_symbols "basic" {
    include "latin(type4)"
    name[Group1]="Portuguese";
// below my additions
//                          main key         Shift       Alt-gr         Alt-gr shift
    key <TLDE> { [          atilde,          Atilde,     backslash,     bar ]};
    key <AE01> { [          aacute,          Aacute,      1,     exclam]};
    key <AE02> { [          agrave,          Agrave,      2,     at]};
    key <AE03> { [          eacute,          Eacute,      3,     numbersign]};
    key <AE04> { [          egrave,          Egrave,      4,     otilde]};
    key <AE05> { [        ccedilla,        Ccedilla,      5,     percent]};
    key <AE06> { [       masculine,     ordfeminine,      6,     quotedbl]};
    key <AE07> { [          uacute,          Uacute,      7,     multiply]};
    key <AE08> { [          iacute,          Iacute,      8,     parenleft]};
    key <AE09> { [          oacute,          Oacute,      9,     parenright]};

Of course this disposition is weird for everybody other than me, but it’s similar to what I use on my fixed computer keyboards and I got used to it. It gives direct access to most acute and grave accented letters on the 1-9 keys. I would normally use numbers on the numerical pad (full sized keyboard), but my BT keyboard is a small one so I put the numbers and the some of the regular symbols on Alt-Gr.

I restarted the phone to make sure the changed made effect.