I use a keyboard with an american layout because I find it much much better for programming. However, since I’m portuguese, I want to use some characters that don’t exist in the american layout, such as á, é or ç. In windows I selected the US international layout with with dead keys and I could do everything.

  • ' + a = á
  • ' + c = ç

The US International with dead keys on linux mostly works but has some weird problems, or different behavior:

  • ' + s = ś, I expected it to be 's. Ś doesn’t exist in my regional dictionary. It is a problem when typing It's, which is transformed into itś. I could perform a space after pressing ' and it works, but I’m just not accustomed to do that.

  • ' + m = ḿ, same problem as before.

  • ' + c = ć, I expected it to be ç

  • ' + t = ´t, I expected it to be 't

I found a workaround for the cedilla, that works on most apps but not on all. Is there a way to change this behavior system-wide? Maybe I can create my own “custom layout”?

EDIT: of course right after I post this I finally find a solution. I love that it’s just a dot file I can bring with me anywhere. Gonna leave the post up anyway, in case anyone ever has the same problem.

  • @wiikifox
    link
    18 months ago

    I’m a Spanish speaker, and what I did was using sudo dpkg-reconfigure keyboard-configuration and assigned the right Alt key as the “compose” key: after pressing it I can press two characters I want to combine and it writes them out to the text output. I.e: to type á is Compose+'+a, to type ç is Compose+;+a, and so. That way I can use my US layout without losing special characters of ANY language