How to make US-intl keyboard in Puppy 2.11?

For efforts in internationalising Puppy and solving problems in this area
Post Reply
Message
Author
vientito
Posts: 83
Joined: Sun 17 Sep 2006, 23:22

How to make US-intl keyboard in Puppy 2.11?

#1 Post 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?

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#2 Post 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

vientito
Posts: 83
Joined: Sun 17 Sep 2006, 23:22

#3 Post 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?

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#4 Post 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

vientito
Posts: 83
Joined: Sun 17 Sep 2006, 23:22

#5 Post 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.

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#6 Post 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:

vientito
Posts: 83
Joined: Sun 17 Sep 2006, 23:22

#7 Post 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

vientito
Posts: 83
Joined: Sun 17 Sep 2006, 23:22

#8 Post 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.

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#9 Post 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

Post Reply