which version of Puppy are you using? ... there are differences in the version of Xorg and xkb ... the newer xkb is a little bit different from the older versions of xkb
for Puppy 212:
you can edit the file xorg.conf in /etc/X11/, then restart X windows (from the menu, or you can press ctrl+alt+backspace, then type startx)
Portuguese keymap:
Option "XkbLayout" "pt" #xkeymap0
or:
Option "XkbLayout" "pt" #xkeymap0
Option "XkbVariant" "basic"
or (i don't think you want this):
Option "XkbLayout" "pt" #xkeymap0
Option "XkbVariant" "sundeadkeys"
or:
Option "XkbLayout" "pt" #xkeymap0
Option "XkbVariant" "nodeadkeys"
Brazillian keymaps:
Option "XkbLayout" "br" #xkeymap0
or:
Option "XkbLayout" "br" #xkeymap0
Option "XkbVariant" "abnt2"
or:
Option "XkbLayout" "br" #xkeymap0
Option "XkbVariant" "nodeadkeys"
US keymaps:
Option "XkbLayout" "us" #xkeymap0
or:
Option "XkbLayout" "us" #xkeymap0
Option "XkbVariant" "basic"
or:
Option "XkbLayout" "us" #xkeymap0
Option "XkbVariant" "intl"
or:
Option "XkbLayout" "us" #xkeymap0
Option "XkbVariant" "alt-intl"
or:
Option "XkbLayout" "us" #xkeymap0
Option "XkbVariant" "dvorak"
or:
Option "XkbLayout" "us" #xkeymap0
Option "XkbVariant" "rus"
you may want to set the number of keys on your keyboard, if it is not set properly, for example:
Option "XkbModel" "pc105"
the older versions of xkb had "en_US" and "us_intl" ... the newer xkb does not seem to have those keymaps, i think you have to specify the keymap variant instead, which may not give you exactly the same keymap
on the pt keymap, ç seems to be the ; key on a us keyboard ... you do not need to press 2 keys to get a ç
there are at least 4 ways to get an accented diacritical:
1) remapping the keys ... just press a key to get the character ... like pressing the ; on a us keyboard gives you a ç with the pt keymap
2) the Mode_switch key ... like an extra shift key, holding the Mode_switch key and pressing a key will give you a different character, just like holding the shift key gives you different characters
3) the Multi_key ... press and release the Multi_key, press and release an accent key, like the ' key, then press and release a character, like e, to get é
4) dead keys ... press ' (nothing is displayed) then press e to get é
various keymaps have the keys set up in different ways ... i'm not sure what keymaps you were using before, it might have been "en_US" or "us_intl" ... i'm not sure if the newer variants have exactly the same mapping ... you might be able to copy the old keymap file and use it, i'm not sure if that would work properly or not
you could also try using setxkbmap, like this:
setxkbmap -layout us -variant alt-intl
see:
http://www.murga-linux.com/puppy/viewtopic.php?t=12380
and:
http://www.murga-linux.com/puppy/viewtopic.php?t=13215