Page 1 of 1

How to make US-intl keyboard in Puppy 2.11?

Posted: Thu 02 Nov 2006, 19:50
by vientito
what am i doing wrong here? I have assumed 2.11 has incorporated many of the xkb stuffs in it. What i am trying to do is to have a us(alt-intl) keyboard with compose:rwin so i dutifully add these entries to my xorg.conf. It loads the file fine when X starts, but it never seems like I could use the compose key to make accented characters. Am i missing something here?

Posted: Thu 02 Nov 2006, 21:17
by GuestToo
i don't think that Puppy 211, 212 has the us-intl keymap ... or en-us ... i think Puppy 210 does

if you want to make the right win key a compose key try typing this in a console:

xmodmap -e 'keycode 116 = Multi_key'

(copy from a web page by selecting the text with the left mouse button ... paste in a console window by clicking the middle mouse button)

if it works, you can put that line in /root/.xinitrc (somewhere before the exec $CURRENTWM line)

or you can put this in a file called /root/.Xmodmap

keycode 116 = Multi_key

or typing something like this might work:

setxkbmap us -option compose:rwin

if you want to use us_intl, you will have to get a us_intl file and put it in /etc/X11/xkb/symbols

Posted: Thu 02 Nov 2006, 23:56
by vientito
i tried your suggestion but it still did not work

in fact, i tried copying the "us" and "compose" files from my current debian system to /etc/X11/xkb/symbol to replace these two on puppy, for they work very well on my debian.

also, try your xmodmap way but it does not work either. i really dun want to use the xmodmap way since it deviates from one PC to the next - i thought it's not an elegant to solve the problem.

i must be doing something grossly wrong since no matter what i do accented characters refuse to appear here. BTW, us.map is only for console and it should not interfere with X dealing with the keyboard, right?

Posted: Fri 03 Nov 2006, 01:53
by GuestToo
xmodmap is not the correct way to solve the problem, no, it is not elegant at all, it's crude and brutal actually ... but it should work

i do not have a Win key (i have an old keyboard, i like it better than newer plastic ones) ... i think the right win key is usually 116, but i'm not sure

i can set my right Alt key to the Multi_key by typing:

xmodmap -e 'keycode 113 = Multi_key'

then i can type letters like

Posted: Sat 04 Nov 2006, 19:29
by vientito
just a lil' update with what i have tested so far. I update to 2.12 beta just to make sure i have similar setup in your case.

i issue "xmodmap -e 'keycode 113 = Multi_key' " to map the R-alt to multi-key.

i did not change the original xorg.conf. here's what i got from there:


xkb_keymap {
xkb_keycodes { include "xfree86+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc(pc102)+us" };
xkb_geometry { include "pc(pc102)" };
};

i also run xev to make sure the key is really mapped to multi-key. Here's it is:

KeyPress event, serial 29, synthetic NO, window 0x1a00001,
root 0x3c, subw 0x0, time 2980319731, (397,177), root:(447,246),
state 0x0, keycode 113 (keysym 0xff20, Multi_key), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: True


so i am using R-alt to do my work just as you did yours.

i type <multi-key>,',e in that sequence to try to generate an accented e. no luck. locale setting is in en_US which should understand the compose sequence.

I am at a loss since my setup is pretty much the same as yours. while you could make those accented characters, I could not.

i run everything pristine with fresh 2.12 beta and no pup-save.3fs.

Posted: Sat 04 Nov 2006, 23:23
by GuestToo
you want the compose (multi) key, right? ... not the mode switch key?

to make an accented character with the Multi_key, you press then release the Multi key, then press and release the a key, then press and release the e key ... to get this character:

Posted: Sun 05 Nov 2006, 03:49
by vientito
finally i am heading somewhere....

now i have verified that I am indeed in en_US. this i simply type "locale" in my rxvt and voil

Posted: Sun 05 Nov 2006, 05:08
by vientito
think i understand more now what's happening... XmbLookupString and XLookupString have given it away. One function is aimed at international X-apps with XIM while the other aims at older X-apps such as rxvt, which in our case, is not compiled with XIM at all. thus it interprets key sequence with XLookupString. For some reason, composing generates the right stuff for XIM to interpret and capture but XLookupString just does not interpret it the same way. I have no idea why and how to make rxvt understand those "other" latin letters without help of XIM acting as inbetween.

now i understand why in my debian system things seem to have worked fine because i am using a XIM-enabled terminal emulator other than rxvt.

Posted: Sun 05 Nov 2006, 05:10
by GuestToo
rxvt does not support unicode
http://software.schmorp.de/pkg/rxvt-unicode.html

the newer versions of xkb do not seem to come with en_US or with us_intl ... xkb in Puppy 211 is a little different from xkb in Puppy 108, because they are different versions of xorg

if you setup us_intl, there seems to be 3 methods of typing diacriticals

1) the compose key ... press/release the Multi key, press/release ' press/release e to get