The time now is Wed 22 May 2013, 09:51
All times are UTC - 4 |
| Author |
Message |
vientito
Joined: 17 Sep 2006 Posts: 83
|
Posted: Thu 02 Nov 2006, 15:50 Post subject:
How to make US-intl keyboard in Puppy 2.11? |
|
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?
|
|
Back to top
|
|
 |
GuestToo
Puppy Master
Joined: 04 May 2005 Posts: 4078
|
Posted: Thu 02 Nov 2006, 17:17 Post subject:
|
|
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
|
|
Back to top
|
|
 |
vientito
Joined: 17 Sep 2006 Posts: 83
|
Posted: Thu 02 Nov 2006, 19:56 Post subject:
|
|
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?
|
|
Back to top
|
|
 |
GuestToo
Puppy Master
Joined: 04 May 2005 Posts: 4078
|
Posted: Thu 02 Nov 2006, 21:53 Post subject:
|
|
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 ò é ê ô ç etc etc etc
if think xmodmap should work if you set the correct key to the Multi_key ... the right Win key should be Super_R, i think (i'm not sure, i don't have a Win key) ... this should show you the key number for the Win key:
xmodmap -pke | grep Super_R
or you can run xev ... press and release the Win key and it should display the number of the key
i think setxkbmap us -option compose:rwin should set it the correct way ... if it doesn't work, i don't know why ... i think setting it with xmodmap should work anyway, if it doesn't work and you are using the correct key number, i don't know why it doesn't work ... it works on my machine (Puppy 212 beta) to setup the Alt key
as far as i know, us.map is for the console and xkb is for X, and they are more or less independent ... changing the X keyboard affects an rxvt console window, of course
|
|
Back to top
|
|
 |
vientito
Joined: 17 Sep 2006 Posts: 83
|
Posted: Sat 04 Nov 2006, 15:29 Post subject:
|
|
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.
|
|
Back to top
|
|
 |
GuestToo
Puppy Master
Joined: 04 May 2005 Posts: 4078
|
Posted: Sat 04 Nov 2006, 19:23 Post subject:
|
|
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: æ
to use the mode switch key, you press and hold the key, then press a key, just like using the shift key ... for example this:
xmodmap -e "keysym e = e E egrave Egrave"
should give you e when you press the e key, E when you press the shift+E key, è when you press the mode-switch+E key, and È when you press the mode-switch+shift+E keys
| Quote: | | 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 |
my locale is en_US right now, because i am running Puppy 108 ... but i don't think that Puppy 211 has the en_US locale installed ... you may be able to install other locales by downloading them ... the locale i use in Puppy 211 is "us" (well, the keyboard in xorg.conf is set to "us") ... if you try to use a locale that is not installed, what usually happens is that it uses the default locale "C" ... and C does not have support for international characters, about all you get is simple ascii characters (a-z 0-9)
if you type in a console window something like this:
leafpad
do you get error messages about the locale not being installed, and using the C locale instead? if you do, this will probably prevent you from using accented characters ... you would have to install the locale that you are trying to use or use a locale that actually is installed ... the default locale that Puppy 211 uses, "us", should work, and you should be able to get accented characters ... it works on my machine anyway
|
|
Back to top
|
|
 |
vientito
Joined: 17 Sep 2006 Posts: 83
|
Posted: Sat 04 Nov 2006, 23:49 Post subject:
|
|
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à i have this:
LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
in any case, when i start "leafpad" or "abiword", i could use my compose key very well ONLY IF i use "us" as the layout instead of "us(intl)", the latter seems to have quite a few deadacutes defined which interfere with my compose sequence. Plus, there is no complaint message that the program not supported under locale C so i gather they start with en_US alright.
everything seems to work, under abiword, leafpad, seamonkey with the compose mechanism. so far the only place where this fails is under RXVT. for some reason rxvt just does not take this compose mechansim kindly. it refuses to work with it. I suspect this is due to these other applications have a way to capture the Xevents and able to interpret the sequence appropriately while rxvt does not. How to make my rxvt work with the compose sequence is my last quest.
éèÁÜ...
|
|
Back to top
|
|
 |
vientito
Joined: 17 Sep 2006 Posts: 83
|
Posted: Sun 05 Nov 2006, 01:08 Post subject:
|
|
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.
|
|
Back to top
|
|
 |
GuestToo
Puppy Master
Joined: 04 May 2005 Posts: 4078
|
Posted: Sun 05 Nov 2006, 01:10 Post subject:
|
|
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 é
2) press ' then e to get é ... to get ' you have to press ' 2 times
3) hold down the mode switch key (like a shift key) and press e to get the euro symbol , for example, or whatever characters were setup in the keymaps
|
|
Back to top
|
|
 |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|