US international keyboard with dead keys (Ubuntu 18.04)
I used 'international with AltGr dead keys' or something like that in 16.04. I could keep the right Alt key depressed to add an accent to just a single letter, and have , ' and " work normally otherwise.
In 18.04 it seems hidden. In "Region & Language" I selected a US keyboard first, and then I could add the "English (intl. with AltGr dead keys)" - after which I could remove the plain US keyboard.
Note that I also moved from IBus to XIM method (it's under Manage Installed Languages - ???) while I did that - no idea if that helped with this change, but I could change it back to IBus anyway.
The best solution I've found is to have 2 keyboards installed. In my case:
- English (US)
- English (US, intl. with dead keys)
I use #1 for no accents where I just type "I'd" and get just that. I use #2 for accents. The keyboard can be selected globally or for each individual window (setting/ Region&Language) the option button to the right of input sources.
Super + space changes between the 2 keyboards.
I have no idea how to address your bullet item 2.
To answer number 2 - English (US, intl. with AltGr dead keys) works for ç by using the Alt+, (comma) keys. To capitalize you can simply add Shift.
Hope it helps... I too get annoyed switching back and forward from writing in Portuguese and English. By the way, several other special characters show up on this keyboard, make sure to click the little keyboard button under the Add Language selection to see the layout.
Use the English (US, international AltGr Unicode combining) keyboard. This enables the AltGr (right alt key) to act as an option to access more characters. However, all characters work normally without having to add a space (this is the AltGr combining behavior rather than dead keys enabled).
I had the same problem with AltGr not working and found that in Region & Language you have to Manage Installed Languages and select Keyboard Input Method System to XIM - 18.04 defaults to IBus