hassinen@ujocs.UUCP (Kari Hassinen) (04/11/89)
The scandinavian alphabet consist of characters a..z,},{ and |, where,
for example, "{" is actually the character "a" with two dots above it.
I can make new fonts for the scandinavian alphabet and I can even modify
the keyboard and swap, for example, the characters [ and { in a key.
But there is a tiny problem in the working of the lock modifier key.
The lock modifier has no effect on these special characters. How can I
get the lock modifier key to work with }, { and | as it works with
a..z? I found from the source code of the XLookupString() a promising point
as follows.
if ((event->state & LockMask) && (dpy->lock_meaning == XK_Caps_Lock)) {
if (symbol >= XK_a && symbol <= XK_z)
symbol -= (XK_a - XK_A);
else if (symbol >= XK_agrave && symbol <= XK_odiaeresis)
symbol -= (XK_agrave - XK_Agrave);
else if (symbol >= XK_oslash && symbol <= XK_thorn)
symbol -= (XK_oslash - XK_Ooblique);
}
I think that this is the right place for some hacking, or is it??
thanks
(hassinen@ujocs.joensuu.fi)
rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (04/12/89)
How can I get the lock modifier key to work with }, { and | as it works with a..z? I assume you really mean, how can you get the lock modifier to work with "a with diaeresis" and a few other Latin 1 characters. XLookupString should work fine for this. All you need do is place the proper keysyms (e.g. "adiaeresis") on the keys using xmodmap. I think that this is the right place for some hacking, or is it?? No hacking should be required.