<span dir="ltr">Then this mailing list software is not UTF8 enabled to read different glyphs?  <br><br>Good that you researched </span><span dir="ltr"><a href="mailto:nix@esperi.org.uk">nix@esperi.org.uk</a></span><span dir="ltr">.  <br>
<br>From what I was told, it seems that Xmodmap is useful for first tests / implementation and then later it can be implemented to  the one you prefer.<br><br></span>Has Tavultesoft KeyMan (Linux) better solution?<br><br>
<br><br><span dir="ltr"><br><br></span><br><br><br><div class="gmail_quote">On Tue, Sep 21, 2010 at 11:20 PM, Nix <span dir="ltr"><<a href="mailto:nix@esperi.org.uk">nix@esperi.org.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
[I don't believe I blew an hour on this. It's been too long since I<br>
 did any X keyboard hacking... or my mind has gone. Probably the latter.]<br>
<br>
On 21 Sep 2010, Krishna Birth verbalised:<br>
<br>
> Firstly please note that all k / K letters on this posting are altered to ~<br>
> / ~ (spiritual reasons.)<br>
<br>
You changed the letter K to a black rectangle? Is this something to do<br>
with the monolith from 2001?<br>
<br><br>
(Your assumption that most people on this *UK* mailing list will have<br>
Devanagari glyphs in the fonts on their machine is unlikely to be<br>
accurate, so both your chosen characters got replaced with the glyph for<br>
U+FFFD REPLACEMENT CHARACTER. I had to dig around in Unicode tables just<br>
to figure out what on earth you were trying to represent. In any case,<br>
replacing common English characters like that is *fiercely* annoying. As<br>
a tactic to make people not want to help you, messing with English words<br>
by replacing individual letters with letters from other writing systems<br>
is a superb one. You're lucky I didn't put thorns in all že appropriate<br>
places in žis response. At least že žorn has deep historical roots in<br>
English, but even it is fiercely annoying to any modern reader who<br>
doesn't also happen to read Middle English for a hobby.)<br>
<br>
Nonetheless I have read through the noise. I can't be nasty like that<br>
without being nice to make up for it. Also, X keyboarding is interesting<br>
if you have no life like me.<br>
<br>
First, a caveat: my interest in this area lies mostly in the handling of<br>
keyboards with unusual layouts, so while I've done quite a lot of Xkb<br>
stuff I'm not an expert on the sort of thing you'll need for this by a<br>
long chalk, though I do have a reasonable idea of what is and is not<br>
possible in the X keyboard model (and I'm sorry to say that what you<br>
suggest appears not to be possible, at least not the way you suggest).<br>
If anyone here is more of an expert, I'm sure they'll pipe up.<br>
<br><br>
> I am sorry to thrust this project to you (mailing list).  I am loo~ing for<br>
> advice or if you have the time to construct a ~eyboard mapping.  There seems<br>
> to be some problem regarding "if you assign Mode_switch and ISO_Level3_Shift<br>
> to different keys, you can assign up to six characters to one key!"<br>
> see <a href="http://tr.opensuse.org/SDB:Using_the_Extra_Keys_on_the_Keyboard" target="_blank">http://tr.opensuse.org/SDB:Using_the_Extra_Keys_on_the_Keyboard</a><br>
<br>
You shouldn't be using xmodmap at all. It is obsolete, terribly limited,<br>
and when used on systems that are already configured via Xkb (i.e. all<br>
Linux systems you are ever likely to see) it is also incredibly<br>
confusing because the interactions between the two configuration systems<br>
are irregular at best and demented at worst. In particular, xmodmap<br>
can't cope with Mode_switch very well at all, and has no understanding<br>
of compose sequences. Peter Hutterer in<br>
<<a href="http://who-t.blogspot.com/2010/06/keyboard-configuration-its-complicated.html" target="_blank">http://who-t.blogspot.com/2010/06/keyboard-configuration-its-complicated.html</a>><br>
calls it a 'keyboard deconfiguration' tool, which I think is quite<br>
accurate: if you use it on modern systems, your keyboard is likely to<br>
work worse after you ran it than it did before.<br>
<br>
Unfortunately its replacement, Xkb, is not terribly well documented (in<br>
much the same way as the sun is 'quite bright'). Again Peter Hutterer<br>
comes through with some nice stuff:<br>
<<a href="http://who-t.blogspot.com/2008/09/rmlvo-keyboard-configuration.html" target="_blank">http://who-t.blogspot.com/2008/09/rmlvo-keyboard-configuration.html</a>>.<br>
<br>
Doug Palmer's _Unreliable Guide to Xkb Configuration_ at<br>
<<a href="http://www.charvolant.org/%7Edoug/xkb/xkb.pdf" target="_blank">http://www.charvolant.org/~doug/xkb/xkb.pdf</a>> is the only halfway decent<br>
approach to a manual I have ever seen, but it too was written by someone<br>
desperately trying to figure out how the thing worked. There doesn't<br>
seem to be anything useful written by the actual implementors (and Xkb<br>
went through at least two major generations in any case, so anything you<br>
find about the first generation will be inaccurate, and any docs written<br>
at the time the second generation was implemented are likely to assume<br>
knowledge of the first!)<br>
<br>
The XKb configuration in <a href="http://x.org" target="_blank">x.org</a> is normally kept in /usr/share/X11/xkb,<br>
which is itself built from datafiles in the xkeyboard-config project<br>
<<a href="http://freedesktop.org/wiki/Software/XKeyboardConfig" target="_blank">http://freedesktop.org/wiki/Software/XKeyboardConfig</a>>. That's probably<br>
the upstream source you should be looking at for Mode_switch et al.<br>
<br>
(But not for compose sequences. See below.)<br>
<br>
> The diacritics are usually typed with non-diacritic letter.   It would be<br>
> nice to have facility to use both in convenient way e.g. toggling with a<br>
> Fonts / Scripts ~ey by permanently turning the Caps Loc~ to a Fonts /<br>
> Scripts ~ey.<br>
><br>
> Could this be done - When this Fonts / Scripts  ~ey is pressed with a letter<br>
> ~ey it toggles to diacritic letter 1 or 2 or  3 (depending on how many<br>
> diacritics are there connected with a 'target' letter) - this toggling will<br>
<br>
Yes. This sort of thing (toggling the meaning of all keys at once when<br>
Mode_switch is hit) is indeed what Mode_switch is for. You just can't<br>
(as far as I know) teach it how to do this with xmodmap. (And if you can,<br>
you probably shouldn't. xmodmap is rusty and horrible.)<br>
<br>
> need to factor in a 'remain at same spot' and toggle these diacritics<br>
> feature.  When the Fonts / Scripts ~ey is released then the cursor would<br>
> move to the next base.<br>
<br>
It looks like you need Mode_switch or the Compose key or possibly both.<br>
The Compose key lets you string together long strings of keys to produce<br>
a single keysym: Mode_switch (and ISO_Level3_Swift) let you change the<br>
meaning of everything on the keyboard in one fell swoop. Mode_switch is<br>
meant to flip between e.g. writing systems; ISO_Level3_Shift is meant as<br>
a way to provide an 'extra shift key' to flip between things within a<br>
single writing system. (However, they *can* be used for quite different<br>
purposes.)<br>
<br>
You may be able to get closer to what you want with<br>
<br>
Option "XkbLayout" "in"<br>
Option "XkbVariant" "bolnagri"<br>
<br>
in your InputDevice section in xorg.conf.<br>
<br>
This keyboard layout is described here, with geometry:<br>
<<a href="http://www.indlinux.org/wiki/index.php/BolNagri" target="_blank">http://www.indlinux.org/wiki/index.php/BolNagri</a>>. It may at least be a<br>
useful starting point. (Or you may already have considered and<br>
discounted it. I don't know.)<br>
<br>
> Referring to the above 32 diacritics, in theory a diacritic letter  could<br>
> have up to 7 diacritics 'sign' variations per letter:<br>
<br>
This feels very much like a job for a (large) compose table. I don't<br>
think Mode_switch could do it alone. (Obviously you also need a<br>
keybinding for the compose key!)<br>
<br>
You can easily add a compose table for your preferred language if X11<br>
supports it by adding it to the Compose file in the appropriate<br>
directory under /usr/share/X11/locale/ (their format is hopefully<br>
obvious from inspection); if such a directory doesn't exist yet, you can<br>
often start by copying the contents of one of the directories under<br>
/usr/share/X11/locale to one named after your preferred locale, adding<br>
that to compose.dir, and hacking at it.<br>
<br>
If you want anyone else to be able to use these compose sequences, you<br>
probably want to contribute them upstream, to Xlib. The Xlib upstream<br>
lives on the <a href="mailto:xorg@lists.freedesktop.org">xorg@lists.freedesktop.org</a> mailing list and is generally<br>
receptive to suggestions for keysym additions, especially if they are<br>
real characters in living human languages, like these seem to be: adding<br>
Klingon or Ogham characters may be a different matter. However, given<br>
that recent X compose sequence additions included sequences for U+24B6<br>
CIRCLED LATIN CAPITAL LETTER A (the international symbol for anarchism)<br>
and U+1F64C PERSON RAISING BOTH HANDS IN CELEBRATION (the international<br>
symbol for Unicode standards geeks with too much time on their hands), I<br>
suspect that additions for your characters would be a shoo-in, although<br>
there may be arguing about which actual compose sequences are<br>
appropriate to generate them.<br>
<br>
> Thus if you can turn the Caps Loc~ into a Fonts / Scripts ~ey that can allow<br>
> up to 7 diacritics variations using this toggle approach:<br>
<br>
The specific toggle approach you suggest is not implementable under X,<br>
as far as I know. Mode_switch and ISO_Level3_Shift let you get as high<br>
as four (and, with difficulty, six) symbols, but there is no way to tie<br>
those into the keyboard in such a way as to make 'repeatedly tap' work<br>
right. A custom input method could do it, I think, but that is even more<br>
black magic than hacking the compose tables. Again, ask on the xorg list<br>
(but note that the skilled X keyboard and input method hackers are<br>
really, really busy people, and there are only about three of them, so<br>
if you mess with all your letter k's in your mail to the xorg list, they<br>
are almost certain to decide that it is too much trouble to read<br>
anything you write. That's the nature of high-traffic lists, I'm<br>
afraid.)<br>
<br>
To me a compose sequence seems easier to remember and (much, much)<br>
easier to implement than a custom input method. What's wrong with typing<br>
COMPOSE L C in your preferred locale to get access to U+004C LATIN<br>
CAPITAL LETTER L U+0310 COMBINING CANDRABINDU?<br>
<br>
There is unfortunately no way to have compose sequences for both COMPOSE L<br>
*and* COMPOSE L C, or it might have done what you want: but the way X<br>
compose sequences work is that the instant an appropriate sequence is<br>
completed, it is emitted to the app without delay, paying no attention<br>
to the state of the compose key, so you can't have one compose sequence<br>
be a superset of another like that. I think. But of course a lot of this<br>
is totally undocumented, so there may well be some mysterious way to use<br>
the X composition system to do what you want. Again, the place to ask is<br>
the xorg list.<br>
<br>
(Normally I'd suggest avoiding the combining diacritical marks: to this<br>
day a lot of applications have awful support for combining characters.<br>
However, you appear to have no choice in this case: some of the<br>
characters you want appear only to be available in the combining form.)<br>
<br>
> "if you assign Mode_switch and ISO_Level3_Shift to different keys, you can<br>
> assign up to six characters to one key!"<br>
> see <a href="http://tr.opensuse.org/SDB:Using_the_Extra_Keys_on_the_Keyboard" target="_blank">http://tr.opensuse.org/SDB:Using_the_Extra_Keys_on_the_Keyboard</a><br>
> Does this mean it is possible?  Could 7 characters to one ~ey be possible?<br>
<br>
Yes, but you have to hit different keys *first* (compose, or<br>
mode_switch, or both). It's not a matter of 'hit repeatedly'. I think<br>
only a custom IM could do that. But, in any case, I think a compose<br>
sequence is likely to be nicer to use anyway.<br>
<br>
> 1. Toggle other ~eyboard mapped layouts for example, languages and<br>
> diacritics.<br>
<br>
Language toggling is what Mode_switch is for. It lets you flip the<br>
definitions of potentially *every* key on the keyboard simultaneously<br>
(actaully, it always does that, but in most keyboard maps many keys are<br>
bound to the same thing in both modes, especially the non-alphanumeric<br>
ones.)<br>
<br>
> 2. Access other fonts through toggling (Fonts / Scripts ~ey + another ~ey)<br>
> without needing going every time to the particular application's micro<br>
> layer.<br>
<br>
That's certainly impossible without per-application assistance. In any<br>
case, there is no X 'change font' keysym that applications could<br>
responds to. You could add one, but then you'd have to change all the<br>
affected applications as well. It's a lot of work.<br>
<br>
> It would be nice to have some person/s on board and get these things done.<br>
<br>
The X list is without a doubt the place to go. (Or, at least, one place<br>
to go. A list dedicated to improving X support for input in Indian<br>
languages under X/Linux/Unix/... would probably also be useful, but I<br>
have no idea whether any such lists exist. Probably they do, but I can't<br>
google for them as I don't speak a single one of the likely-required<br>
languages, being a typical English pathetic monoglot.)<br>
<br>--<br>
Gllug mailing list  -  <a href="mailto:Gllug@gllug.org.uk">Gllug@gllug.org.uk</a><br>
<a href="http://lists.gllug.org.uk/mailman/listinfo/gllug" target="_blank">http://lists.gllug.org.uk/mailman/listinfo/gllug</a><br>
<br></blockquote></div><br>