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 typingIt's
, which is transformed intoitś
. 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.
Well, right after posting I found a working solution. Doh!
Solution here, works great.
I use imput remapper for editing behavior of my input devices on my wayland gnome setup. I only changed the right super to behave like the left super and my legacy apple mouse to trigger super_L if squeeze it. I think it could help you as well with your problem, but you have to check, if it can remap key combinations to foreign signs, not so sure about that. https://github.com/sezanzeb/input-remapper
For Xorg there is something called xkb. I don't have experience in that. https://en.m.wikipedia.org/wiki/X_keyboard_extension
Another option – if you only care about a US English layout for programming, have you considered just using a programming editor that has an input method friendly to that?
I kind of go the other way – I'm in the US, and would like to have a way for inputting some things like Latin-1 stuff occasionally. Emacs has a lot of convenient input methods designed for this, inputting stuff on a US keyboard. And it seems almost certain to me – there is no single standardized keyboard layout spanning Europe, so any European programmers must run into this – that many programming editors must have application-level input support.
I actually have grown to hate the Portuguese layout, or ISO in general. Why is the enter key so damn big? I currently own a Happy Hacking Keyboard 2 and can't imagine living without it.
I used to use US international, but a few years back switched to Eurkey which is essentially just an upgraded/turbocharged version.
Might be too much for you, but I can't live without it nowadays!
I'm a Spanish speaker, and what I did was using
sudo dpkg-reconfigure keyboard-configuration
and assigned the rightAlt
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á
isCompose+'+a
, to typeç
isCompose+;+a
, and so. That way I can use my US layout without losing special characters of ANY language