Re: [I18n] urdu keymap

2004-08-29 Thread Danilo Segan
Hi Zaeem,

Today at 18:32, Zaeem Arshad wrote:

 i have developed an urdu keymap for XFree86 that enabled typing in 
 urdu. We have been actively testing it for 4 months and using it for 
 localizing GPL/OSS projects. Kindly tell me how can this keymap be 
 submitted to the main X release so that it can be included in further 
 releases. I will be much grateful.

This is the place to send it, but I believe it's better to put it in
Bugzilla: http://bugzilla.xfree86.org (so it won't be forgotten). 

You may also wish to get in touch with xkb-config project at
[EMAIL PROTECTED] (it's part of FreeDesktop.org project), but I
suspect it's not necessary since Ivan is a member of both ;-)

Cheers,
Danilo
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] Re: Emulation of Alt+Numpad+Digits behavior

2004-08-05 Thread Danilo Segan
Yesterday at 19:35, Jrg Henne wrote:

 Markus Kuhn wrote:

 If you do something in this area, please implement the ISO 14755 hex

input method, and not the old MS-Windows one. (Or implement both
together, if you really need MS-Windows compatibility here. They don't
interfere with each other, because the ISO 14755 technique uses
Ctrl-Shift to activate the hex-entry mode, while MS-Windows uses Alt.)
  
 For reasons stated in my previous message I really need the
 DOS/MS-Windows method. However, if there is a viable solution for
 either of the methods, implementing at least the sections 5.1 and 5.2
 (basic and keyboard symbol entry) from ISO 14755 should be fairly
 straight-forward. Therefore I'll consider implementing both of them,
 but first I need a viable solution anyway.

Gtk+ 2 already implements Ctrl-Shift stuff.  Just try it in any GtkTextEntry.

Cheers,
Danilo

___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: [I18n] Re: Emulation of Alt+Numpad+Digits behavior

2004-08-05 Thread Danilo Segan
Yesterday at 19:35, Jrg Henne wrote:

 Markus Kuhn wrote:

 If you do something in this area, please implement the ISO 14755 hex

input method, and not the old MS-Windows one. (Or implement both
together, if you really need MS-Windows compatibility here. They don't
interfere with each other, because the ISO 14755 technique uses
Ctrl-Shift to activate the hex-entry mode, while MS-Windows uses Alt.)
  
 For reasons stated in my previous message I really need the
 DOS/MS-Windows method. However, if there is a viable solution for
 either of the methods, implementing at least the sections 5.1 and 5.2
 (basic and keyboard symbol entry) from ISO 14755 should be fairly
 straight-forward. Therefore I'll consider implementing both of them,
 but first I need a viable solution anyway.

Gtk+ 2 already implements Ctrl-Shift stuff.  Just try it in any GtkTextEntry.

Cheers,
Danilo

___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] Switching directly through multiple keyboards

2004-05-17 Thread Danilo Segan
Hi Ivan,

On Saturday at 13:07, Ivan Pascal wrote:

  To express it more factually, is there a way to assign, let's say
  SHIFT+SHIFT to a greek polytonic kbd, SHIFT+ALT to sanscrit, SHIFT+META
  to phonetics, etc.
 
 Look inside keysymdef.h for possible symbol names which might produce
 desired behavior.  You can notice that it's possible to switch
 directly to either first or last group, but not to a specific number.

 But note that the meaning of those keysyms is not hardcoded somewhere.
 There are 'interpret' records (in xkb/compat/* files) where those keysyms
 are tied with 'xkb actions'.  But all possible actions are not limited with
 keysyms mentioned in the interpret records.
[snip]

Thanks, it's nice to always gain new insights through your mails.  It
seems XKB mechanism is very much complicated, but you make it sound
much less so.  It's great to learn new stuff, so I thank you for being
so responsive and willing to share the knowledge.

Cheers,
Danilo
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] Switching directly through multiple keyboards

2004-05-14 Thread Danilo Segan
Yesterday at 22:09, Vincent wrote:

 Hello !

 A friend of mine, quite involved in ancient greek, sanscrit and phonetic
 alphabet has defined multiple xkb keyboards file. He wanted to know if
 there is a way to shift directly to a particular definition, rather than
 cycling through 3 or 4 different ones. 

 To express it more factually, is there a way to assign, let's say
 SHIFT+SHIFT to a greek polytonic kbd, SHIFT+ALT to sanscrit, SHIFT+META
 to phonetics, etc.

Look inside keysymdef.h for possible symbol names which might produce
desired behavior.  You can notice that it's possible to switch
directly to either first or last group, but not to a specific number.

#define XK_ISO_Group_Shift  0xFF7E  /* Alias for mode_switch */
#define XK_ISO_Group_Latch  0xFE06
#define XK_ISO_Group_Lock   0xFE07
#define XK_ISO_Next_Group   0xFE08
#define XK_ISO_Next_Group_Lock  0xFE09
#define XK_ISO_Prev_Group   0xFE0A
#define XK_ISO_Prev_Group_Lock  0xFE0B
#define XK_ISO_First_Group  0xFE0C
#define XK_ISO_First_Group_Lock 0xFE0D
#define XK_ISO_Last_Group   0xFE0E
#define XK_ISO_Last_Group_Lock  0xFE0F

The usual group switching symbol is ISO_Next_Group above, but you may
use any other as well (if you use shift_toggle from standard XKB
options, you get ISO_Prev_Group as well).


If this is not sufficient, other programs such as GSwitchIt
(later versions integrated into Gnome 2.6) provide more options, and
do exactly what you call for.

Cheers,
Danilo
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] Re: Alt + CHTN for arrow key movement, XKB?

2004-04-08 Thread Danilo Segan
Yesterday at 1:00, Ahmad Baitalmal wrote:

 - In Gnome (I'm running 2.6 on xfree-4.3.99.902-r2) hitting the c key by
 itself is somehow interpreted as ALT+C. So when I'm filling a text box in a
 dialog box, when I hit c the dialog box calls up the Cancel button since it
 has C underlined. The same for T , H, and N. If there is a toolbar
 accelerator for them, ther are called just by pressing the key. Not sure if
 there is something I can do here could be a gnome issue?

This is a Gtk+ issue.

Try looking at http://bugzilla.gnome.org/show_bug.cgi?id=100439

I don't think there's yet a proper solution.  If you've got time to
look into it, I'd be interested as well.

Cheers,
Danilo

___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] Re: Alt + CHTN for arrow key movement, XKB?

2004-04-08 Thread Danilo Segan
Hi Ahmad,

Yesterday at 22:09, Ahmad Baitalmal wrote:

 SO the solution for me was to patch gtkkeyhash.c and force it to set 
 the correct consumed_modifiers when the keys I care about are pressed.
 Here is the patch file:
 http://ahmad.baitalmal.com/xkb/
 gtk_altnav_consumed_modifiers_fix.patch

I don't remember the details, but I believe I attached the patch there
which basically inhibits some of Gtk+ functionality, yet makes some
similar functionality to yours work.  It was outright wrong, but it
made it work for me (I was testing with advanced Serbian keymap
from http://srpski.org/dunav/ which sends out English combinations
when Ctrl+Cyrillic_letter is pressed; eg. if you press
Ctrl+Cyrillic_A, programs receive Ctrl+A; Gtk+ handles that by
itself, so that causes the conflict; XFree86 4.4 also handles that by
itself in a nicer way, so I didn't bother with it too much, and I use
almost exclusively Gtk+ apps, so I don't notice the lack of
functionality elsewhere).

Cheers,
Danilo
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] Unicode keysym questions

2004-03-05 Thread Danilo Segan
Alexander Krauss [EMAIL PROTECTED] :

 I also noticed that the Compose-Files of 4.3.0 in UTF-8 locales use the
 U keysyms even for characters that have old keysyms (all the accented
 latin-{12...}  chars). Is this an intended policy change or did it just
 happen because they were automatically generated? Note that for example
 xemacs does not interpret these keysyms yet, which breaks the input of many
 latin-1 chars on 4.3.0 with UTF8 locale.

Don't know about all the policy stuff you're wondering about, but at
least GNU Emacs from CVS handles these just fine.

Cheers,
Danilo

___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] KeySyms 5 to 8, multiple character sequences

2003-11-18 Thread Danilo Segan
Hi Jacek,

Jacek M. Holeczek [EMAIL PROTECTED] :
 Basically, I cannot see how can you have a portable
 one-definition-fits-all keymap if such things change (keycodes and
 layout of the keyboard).

 Have a look at this mail :
   http://www.mail-archive.com/[EMAIL PROTECTED]/msg01608.html

 Ivan U. Pascal explains there the new .XCompose and $XCOMPOSEFILE
 implemented in the 4.4.x :
 ^^^
This is what the problem is -- the initial request was because of
having to switch between several X servers, with probably only a tiny
portion of them being XFree86 servers, let alone XFree86 4.4 (CVS or
prerelease).

XFree86 4.3 also has some very interesting features not present on
other X servers (like multi-layout combining) or earlier XFree86's,
but in such cases it would be best to create standalone file from
xkbcomp, and carry that with you and use it wherever is the XKB
available. Simply, xkbcomp provided with earlier XFree86's or other X
servers is incapable of joining multiple layouts, but the resulting
already-combined map can be used without any problems.

The keycodes shouldn't differ much, but that means that you might
have problems with eg. Lock and Control switching places, or
similar. Still, regarding the circumstances, I'm still convinced that
this is the best (partly) solution.

Perhaps it's also possible to
I've also tried this and removed the keycodes section from the
generated file, and it seemed to work fine on XFree86 4.3 (please
report how it works for other systems):
(you do the following on the system with a sr map you'd like to
use everywhere)
 $ setxkbmap sr -print | xkbcomp -o sr.xkb -xkb -
(now you remove the xkb_keycodes section from generated sr.xkb and you
carry sr.xkb to other systems, and do the following on other systems)
 $ xkbcomp -merge -synch -a sr.xkb :0.0

Of course, adjust setxkbmap command, and display (:0.0) part of
xkbcomp command to suit your needs.

This should make use of server provided definitions of keycodes
(that's what -merge should do, though it worked for me even without
that option on XFree86 4.3), and they're basically like coordinates:
AE03 indicates fifth-row, third key (or was it zero-based and
fourth key?).

If all the other servers have this kind of mapping, this should
probably work (but I'm just guessing, please test and report back).


Cheers,
Danilo

___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] Compose and Gtk2/Mozilla

2003-09-30 Thread Danilo Segan
, 30.  2003. 17:58:33 CEST  Owen Taylor :
As far as I know, you shouldn't lose that. That's done completely
separate from input method handling.
Uhm, I must have been mistaken. I remember having problems with it a  
week or so ago (with Gtk+ 2.2.4), but I cannot replicate it now.

It must have been some other thing, sorry for pointing in the wrong  
direction :-)

The main thing you will lose Control-shift-hex-digits Unicode input.
Wow, I didn't even know those existed -- thanks :-)

 A) Operating system independence - GTK+ needs to handle compose
sequences when not running under X as well, making the operating
system independent input method the default means it gets tested.
 B) Full set of Unicode compose sequences when not running under
a Unicode locale
Thanks for explaining those bits.

 C) Get to add some extra neat features like the control-shift
digits support.
Yes, I never knew about them -- I just love it ;-)

For many scripts, Pango does that.
Yes, I know that, and that's why I was surprised (if not disappointed)  
that it doesn't handle a really simple case like I'm about to describe.

If you have a font/script combination that you wish that was handled,  
I can point out where in the code it would need to be handled. Making  
Unicode normaliation forms NFC and NFD render the same always is  
suprisingly tricky, but specific instances are not hard to handle.
Okay, the problem is really simple. Serbian language uses a cyrillic  
alphabet, and four diacritics/accents. In normal texts (meaning, not a  
linguistic or grammar-related text), accents are not normally used  
except in a few cases where they're used to distinguish words otherwise  
the same (like kod meaning at and kd which came from code,  
with long o, or da meaning to, or d meaning give -- seen very  
frequently in constructs like he wants to give). What's worse is that  
many Serbians are so far using latin a-circumflex or o-circumflex  
because their glyphs are the same as those for cyrillic a and o.

This four accents are used only at vowels (in Serbian, those are a, e,  
i, o and u, cyrillic of course).

Unfortunately, Unicode is not planning to insert these characters  
precombined (even after several requests), probably basing their  
reasoning that all Unicode-aware tools support decomposition and  
composition, or perhaps because of their supposed goal of coding just  
characters, not their variations (which was unachievable from start,  
because for they've included fi, fl and other ligatures for various  
compatibility reasons).

So, I'd gladly appreciate the pointer to where should I look for  
implementing these kind of mappings (four accents over any of five  
letters). Ok, I've checked out Pango sources and will delve into them  
later, but I'd still take any pointers you've got.

Thanks again for sheding some light into these issues.

Cheers,
Danilo
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] why does Mode_switch not work sometimes?

2003-08-27 Thread Danilo Segan
2003.08.27 09:28  Frank Murphy :

 However, on this one machine Mode_switch doesn't have any effect,
 no matter what key i assign it to.
Another thing you could try would be to set up an Esperanto XKB  
keymap based on whichever national keymap you're using, though the  
ideas behind Mode_switch and ISO_Level3_Shift have changed in XFree  
4.3.

If the problem is on the old XFree86, perhaps you could try using  
ISO_Next_Group instead of Mode_switch?

Cheers,
Danilo
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] XKB symbols normalization proposal

2003-08-16 Thread Danilo Segan
Okay, I'll mention some technical (and political) points that you 
missed.

Frank Murphy wrote:
...
National:
... sr (Serbia)
sr is a country code for Suriname, so this one is linguistic, and 
should be renamed to scc (a long unchanged code originating from 
Serbo-Croatian in Cyrillic).

There will be some nice *political* discussions relating to this 
change (eg. if Croatian map which would be related to Croatian 
*language* as used in eg. Bosnia and Herzegovina would have to be named 
scr from, I guess, Serbo-Croatian in Roman) ;-)

I don't mind, but my guess is that there will be virtual breakages in 
policy -- one will make use of the fact that the country and language 
code are the same, and have a linguistic map behind the country code.


In the linguistic keymaps, change existing files to their 639-2B code.
...
- move the Greek keymap from 'el' to 'gre'
If I may know, how did you come to the conclusion that this is indeed a 
lingustic keymap? Based on the file name?

I believe this one can also be put into national keymaps category, 
and perhaps a rename to the corresponding country code of Greece (gr) 
would also be needed (which is practicaly the same as your proposal).
Of course, I may have missed something.



All the other things seem to be well covered, though I'd check all the 
codes if they really align with the mentioned ISO standards (like you 
missed Serbian, maybe you missed another one).

Cheers,
Danilo
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] Re: Some thoughts on XKB symbols

2003-08-14 Thread Danilo Segan
, 14.  2003. 04:32:57 CEST  Frank Murphy :
 
 Sorry, I meant shift levels. my proposed us-ascii would have just
 
 key AE01 { [ 1,exclam  ] };
 
 not
 
 key AE01  { [ 1, exclam,  onesuperior,   exclamdown ] };
 

I'd go for:

key AE01  { [ 1, exclam,  any,   any ] };

(I'm not sure if your idea would work like this -- if it would, 
then this is unneccessary burden).

 
  (Btw, basic in pc/us is practically us, eg. just calling
  setxkbmap -layout us will set the pc/us(basic) map).
 
 Wouldn't `setxkbmap -layout us` set the us(basic) map and 
 `setxkbmap -layout pc/us` set the pc/us(basic) map?
 

AFAIK, not on the XFree86 4.3.0, eg.:
$ setxkbmap -layout us -print
xkb_keymap {
xkb_keycodes  { include xfree86+aliases(qwerty)   };
xkb_types { include complete  };
xkb_compat{ include complete  };
xkb_symbols   { include pc/pc(pc105)+pc/us+group(shift_toggle)
   };
xkb_geometry  { include pc(pc105) };
};


 
 Using a German keymap doesn't prohibit you from typing in English.
 However, if you own a keyboard made for Switzerland, but you set 
 the keymap to be German (the dominant language here), you won't be 
 able to type the characters on your keyboard -- like finding 
 the @. Besides novices won't be setting this, the administrator will.
 

The thing I wanted to point out that if someone was offered with a 
choice that read Germany (implying a country name) instead of
German,
it'll be easy to mistake it for enter your current location.

It's a sort of Great Britain for the english layout -- would you ever 
look for that if you needed english layout?

OTOH, when it says German there are no doubts, even if you're right 
now sitting in a hotel in Germany wishing to type in English ;-)

 
  So, I cannot see any advantage to the naming scheme you seem to be
  proposing, yet there are many disadvantages.
 
 I agree. I think there are two ways of looking at this, but there are
 three
 types of keymap files:  national (based on ISO 3166 country codes),
 linguistic (ISO 639 language codes) , and random.
 
 Looking just in the pc/ directory, I see the following breakdown:
 
 National:
 al (Albania) am (Armenia) be (Belgium) bg (Bulgaria) br (Brazil) by
 (Belorussia) cz cz_qwerty (Czech Republic) de (Germany) dk (Denmark)
 ee (Estonia) el (Greece) es (Spain) fi (Finland) fo (Faroe Islands) fr
 fr-latin9 (France) gb (Britain) ge_la ge_ru (Georgia) hr (Croatia) 
 ie (Ireland) il il_phonetic (Israel) ir (Iran) is (Iceland) it (Italy)

 lo (Laos) lt (Lithuania) lv (Latvia) mk (Macedonia) ml (Malaysia) mm
(Burma) 
 mt mt_us (Malta) nl (The Netherlands) no (Norway) pl pl2 (Poland) pt 
 (Portugal) ro (Romania) ru (Russia) se (Sweden) si (Slovenia) sk
sk_qwerty
 (slovakia) sr (Serbia) th th_pat th_tis (Thailand) tj (Turkmenistan)
tr 
 (Turkish) ua (Ukraine) us (United States) uz (Uzbekistan) yu
(Yugoslavia)
 

Actually, many of these are the same for language and nation name, 
thereby, this category would shrink very much. Besides, some would even
go to only lingustic (like sr for Serbian, because Serbia is a part
of 
larger country Serbia and Montenegro with ISO 3166 codes of CS and 
SCG).

The others, like de, es, fi, fr, hr, it, mk, nl, no,
pt,
ro, ru, sk, th, tr apply to *both* language and country
(actually, 
these are the ones I know about; there are probably others).

 Linguistic:  ar(abic), ben(gali), hi(ndi), guj(arati), gur(mukhi),
 iu(inuktitut), kan(nada), ogham, ori(ya), sami, telugu, tamil
 

Perhaps, if we'd add the ones above, this list would be much longer ;-)

 Random: dvorak en_US la latin pc
 
 
 So it seems that a good compromise would be to recomment the ones of
 the national type to reflect the name of the country (in English), and

 to leave the ones of the lingustic type to refect the name of the 
 language (in English). Does that address your concerns?
 

I see your point and it makes sense. Though, I'd go for an international

standard, because they've already invested time into avoiding
collisions.

For the sake of difference, I would recommend the following:
- National keymaps should use ISO 3166 code in all UPPERCASE (eg. US)
- Linguistic keymaps should use ISO 639 code in all lowercase (eg. en)

This would allow one to have de which could apply to all the 
countries where German is used (eg. de(DE)) and also a DE which 
would only apply to Germany. In your example, CA (if that's the code
for 
Canada) would have CA(en), CA(fr), while fr would have fr(CA), 
fr(FR),... It's up to the implementor to choose and see where to put 
the actual definitions, and where to simply include them from the other.

Of course, this would cause *major* breakage for old applications which 
rely on one layout being there with a specific name.

And just as a sidenote, this wouldn't prohibit any other variations. It 
would just be unwise and unrecommended to use two-letter codes for
naming 
xkb_symbols sections 

Re: [I18n] Re: Some thoughts on XKB symbols

2003-08-14 Thread Danilo Segan
, 14.  2003. 13:12:05  Dr Andrew C Aitchison :
On Thu, 14 Aug 2003, Danilo Segan wrote:

 For the sake of difference, I would recommend the following:
 - National keymaps should use ISO 3166 code in all UPPERCASE (eg.
   US)
 - Linguistic keymaps should use ISO 639 code in all lowercase (eg.
   en)
Is this going to cause us to run into CVS problem we had resentily,
where we couldn't rename file hp to directory HP (or similar) ?
Very much probable -- I completely forgot about the insane operating 
systems that cannot differentiate between lower- and uppercase (you 
didn't raise this point, but I was reminded of it, and it seems valid), 
and about the CVS software limitations (regarding renames).

Though, if anything of this scale is to be done, I'd be very eager to 
add a completely new directory (namespace) in order not to break 
compatibility. Eg. I'd introduce a new xkb/symbols/improved directory 
where to put these kind of maps ;-)

When, and if most of the maps from symbols/pc and symbols/ 
directory have gotten their corresponding map in the symbols/improved 
would I go for making it the default.

 In your example, CA (if that's the code for
 Canada) would have CA(en), CA(fr), while fr would have
 fr(CA), fr(FR),... It's up to the implementor to choose and 
see  where to put the actual definitions, and where to simply include
 them from the other.

Is there a difference between CA(fr) and fr(CA)*
Does the user care about it ? Should we make them mean the same 
thing? *FR(ca) would be different, although possibly unimportant or
meaningless.

I'll rephrase the above claim that it's up to the implementor to 
choose and see where to put the actual definitions, and where to simply 
include them from the other.

That was meant to say that each can be defined separately (actual 
definitions), thus being different. Yet one may decide that they are 
the same, and simply use 'include fr(CA)' in the definition of CA
(fr). 
I believe that all maps of this form should be the same, at least from 
a user's perspective. So, yes is the answer to your question -- they 
should be made the same. It's just about a preference one likes to use 
when *calling* the map (s)he needs.

FR(ca) in that context would refer to France (country) and Catalan 
(I believe 'ca' is ISO 639 code for Catalan; sorry if I am wrong). If 
Catalan is not used in France, this would probably be undefined.

Similarly, just using FR (implying FR(basic)) should make use of 
FR(fr) (because French is official language of France), and using 
fr would imply using fr(FR). All the other cases must be 
explicitely asked for.

This would make a clear distinction between country standards, and 
language support (yet, keep their relation where such exists). Yes, 
implementors would have a bit greater task at their hands, but it seems 
beneficial. All of this can be remedied by keeping a database of 
mappings between languages and countries (eg. mapping fr(CA):CA(fr); 
en(CA):CA(en); de(CH):CH(de); ...).

I admit that I have not researched this approach, and it came just as a 
wild idea on the issue that Frank raised. So, please express your 
concerns.

Cheers,
Danilo
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] Re: Some thoughts on XKB symbols

2003-08-14 Thread Danilo Segan
, 13.  2003. 18:58:40 CEST  Frank Murphy :
The only xkb_symbols us that I see are in digital/us and
xfree68/ataritt.
But the map would be the same as the xkb_symbols basic in pc/us,
basically, the same as latin(basic) only not including the group 2 or 
3 symbols (exclamdown, etc.). However, it would be in the latin file 
and included in the other us files.

Could you please differentiate between levels and groups in XKB 
terminology. All keymaps in pc/ should use *only* one group to 
facilitate multi-layout features of XKB in XFree 4.3.

But basicaly, this could be done simply without breaking compatibility. 
You just create a xkb_symbols(ascii) in pc/us file, and put 
NoSymbol or any on higher levels, and just include that from 
basic. (Btw, basic in pc/us is practically us, eg. just calling 
setxkbmap -layout us will set the pc/us(basic) map).

In this manner, all the keymaps which would need just the ASCII part, 
without other US parts, could include pc/us(ascii).


OK, so we can pick another name. My point is to preserve the (blurred)

difference between nations and languages. Nations determine keyboard
layouts, not languages (the French, Canadians, and Swiss all use 
different keyboards to type the French language - azerty, qwerty, and 
qwertz). But see more below.

I tend to disagree with this statement. There are a couple of language 
(a dozen at most) that are used in several countries in the world (like 
Spanish, French, Portuguese, German, English,...). For those languages, 
and for those countries, your proposal would be sane.

Alas, there are another 150+ countries with even more languages that 
don't belong into this category, and where the relation
language = country strongly holds.

So, maybe this would make sense for several keymaps, but it wouldn't 
for most of them, especially since one may want to use a *language* 
while in other country -- and many users (especially novices) will make 
mistake if they're located in Germany, and then choose Germany as 
their keymap (not knowing that they're actually setting a keyboard map 
because they're just honestly stating their country of location), even 
though they want to type in English.

So, I cannot see any advantage to the naming scheme you seem to be 
proposing, yet there are many disadvantages.

Actually, another problem, as I see it, is that countries tend to use 
several languages, and it's *more* common that the same layout be used 
in different countries for the same language, than the opposite (the 
example you give for French, and qwerty, qwertz and azerty).


So here we are. Do anyone on i18n have an opinion either way? I feel
that keyboard layouts are national, and for the countries like  
Switzerland, the specific changes could be selected by choosing a 
mapping of ch(fr) or cd(de).

Again, it's the minority of countries that have this kind of situation 
(and, at the same time, this kind of need), and I have expressed my 
doubts above.


This is kind of an odd request and has to do more with the keycodes
than the symbols. But, if all the files distributed with XFree86 used 
the new RLGO symbols, then the only problem would be for users who 
were doing customisation with xmodmap or who had their own xkb files 
that hadn't been sent to XF86 for inclusion. Or perhaps there's a way 
to preserve the compatability.

I am all for it -- I don't like calling that operating system of theirs 
a win (as in victory), so I'd agree on this change (even though 
that would break compatability for some of my keymaps I am distributing 
outside of XFree86 main distribution).

Still, I believe XF86 supports adding several different symbols that 
map to the same key code.

Cheers,
Danilo
PS. I am probably a little biased, because I come from those other 150 
countries, but I hope I have made at least a couple of valid points. 
;-)
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] Re: Some thoughts on XKB symbols

2003-08-14 Thread Danilo Segan
, 14.  2003. 17:35:10 CEST  Frank Murphy :

 I'd go for:

 key AE01  { [ 1, exclam,  any,   any ] };

 (I'm not sure if your idea would work like this -- if it would,
 then this is unneccessary burden).
It's already done with only two levels in the pc/us keymap. I don't
see a reason to add the 'any's. The point was to move the generic us 
layout from pc/us to pc/latin so that sun/, sgi/, etc could include 
them without getting any PC-keyboard-specific baggage (like function 
keys or whatever).

Yes, but I am not sure if just using [ 1, exclam ] would allow 
*redefinitions* of the keys on the higher levels (where I've put 
any's). This was just a technicality, which depends on the actual 
implementation of XKB, and I'm not certain on this (I would have to 
check).

Though, while I don't know if simply [1, exclam ] would be enough, I 
am certain that putting any's in would be enough, and it would work as 
you expected. (any's are actually placeholders which can be redefined, 
they're equivalent with NoSymbol, but shorter to type, and more clear 
in this context).

The problem is that there is no English-language keyboard layout, nor
is there a German-language layout. There are different layouts for 
Britian, Ireland, Canada, Australia, Germany, Switzerland, and 
Austria. So saying German or French or English does leave doubts:  is 
this a keyboard from France or does this keyboard allow me to type 
the French language?

Yes, for a dozen of languages like the ones you're mentioning, there's 
this obscurity. For *most* of the other languages and nations, there's 
no collision.

In any case, just for this reason is the latter proposal about 
providing *both* country based and language based.

(I was just arguing against *country-only* based keymap names. That's 
the whole point. I don't mind country based keymaps, if there are also 
language based keymaps)

True, but that's really the problem with yu, isn't it? :)
Nah, it was to imply that your list was incorrect, and based on wrong 
assumptions -- the codes you listed were not national, but some were 
linguistic (sr is a ISO 639 code for Serbian *language*).

 The others, like de, es, fi, fr, hr, it, mk, nl,
 no, pt, ro, ru, sk, th, tr apply to *both* language
 and country (actually, these are the ones I know about; there 
are   probably others).

The problem is that de, es, fi, fr, nl, and pt have different keymaps
depending on the *nation*.
As much as 6 out of a list of 15? :-)

I think everything is clear -- we need to provide both nation-based 
and language-based naming, if we're aiming for consistency, and want 
to be sure that it won't be a problem in the future to assign a name to 
a keymap.

I'd like to us an ISO standard for the filenames. For the description
of the group name, I would bet that we're constrained to 7-bit 
characters. Besides, they are all in English now. Plus, in the ISO 
document, the country names are listed in English.

Yes, the ISO codes themselves are using only English alphabet, so no 
problem there.


I think this is a bad idea. Differentiating based on case can be
problematic (as was pointed out). However, I would think that using 
ISO 3166 2-letter national codes and ISO 639 3-letter codes would 
work OK. Besides, most of the current entries already follow this.

Depending on how you look at this :-)

I've already pointed out that many of the languages (uhm, nations) you 
mentioned actually use the ISO 639 two-letter code ;-) Or was it the 
ISO 3166 country code? 
If we don't ask the authors, we can only guess -- and guess what? My 
guess is different from your guess ;-)

I know I'll be a bit boring, but if case differentiation is a problem, 
I'd go for providing new namespaces for each: nation/ and language/ 
(perhaps in shorter forms of n/ and l/).


But I wouldn't encourage a large proliferation of these. For European
and North  South Amarican keyboards, recommend the 3166 code. For 
Asian and Arabic keyboards, recommend the 639 code. But don't go wild 
with all the possibilities, otherwise we end up with the pt(BR)/en
(US) problem that Andrew Aitchison mentioned.

As I pointed out, it's a minor work for someone maintaining the files 
to provide *both* possibilities.

The problem, as Andrew Aitchison and you see it, is not a problem in 
my regard -- everyone has a choice which can be made: choose by the 
language, or choose by the nation.

 Of course, this would cause *major* breakage for old applications
 which rely on one layout being there with a specific name.
The only applications that should care would be the installation
programs.
If systems are single-user, which defeats the purpose of X network 
transparency. In multi-user environments, you cannot expect every user 
to use the same language in every occasion.

I would actually prohibit all 1-, 2- and 3-letter files in these
directories unless they were ISO codes. (Otherwise, we end up with 
the Latin America/Laos problem.)

I'd prohibit 1-letter 

Re: [I18n] Bug #122: US Intl keyboard mapping missing c with cedilla.

2003-07-17 Thread Danilo Segan
, 17.  2003. 15:18:18 CEST  Hans Deragon :
There is no AltGr key on a standard US keyboard.  And on usual US 
intl keyboards, at least those I used on MS windows or when no locale 
was set under Linux, apostrophe c generates c with cedilla.  So 
now what?
I strongly believe that the standard is apostrophe c.  Now how am 
I supposed to generate a c cedilla on a US keyboard when no AltGr 
key exist?

I guess some references to the standard are appropriate, besides 
it's like that on Windows, no matter how insane is that. Of course, 
I'm no authority here, so you might just as well ignore me.

OTOH, XFree86 aims for consistency, and there's definitely a lack of it 
in some places. For instance, en_US keyboard map (I'm talking of the 
one shipped with XFree86 4.3.0) contains dead_cedilla on AltGr + = 
(if you don't have AltGr, use your right Alt key; sometimes it's just 
darker, and sometimes there's no difference). And, as Keld noticed, 
there are quite a few differences between en_US and Danish, Swedish, 
etc. Still, some inconsistency is inevitable, because that's what users 
need, and what relevant standards prescribe.

So, in order to get c-cedilla, you'd do the following:
  Right-Alt or AltGr + =, followed by c.

What language use c with an accute accent BTW?  My point is that we
should keep the standard going with languages that do not have any 
use for c with an accute accent, such as french for example.

I'm not quite sure how many languages make use of c-acute (well, 
latin transcription of my own mother-tongue does, but I don't consider 
my language to be mainstream, as well as Croatian, Bosnian and 
Slovenian).

The thing is that US keyboard cannot and shouldn't be more suitable to 
US citizens also using French, German, or any other language. It should 
be suited to US citizens writing English. Everything else is just 
extra, and the way to provide most (to satisfy most people, rather than 
satisfy the majority [if it's the case that majority of US citizens use 
French as their second language]; note the difference) is via three 
level mapping. Perhaps Compose key is also used.

Again, I'm no authority, I have no influence on XFree86 code, so if you 
wish, feel free to ignore me.

Cheers,
Danilo
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] Bug #122: US Intl keyboard mapping missing c with cedilla.

2003-07-17 Thread Danilo Segan
Keld Jørn Simonsen wrote:
 So, in order to get c-cedilla, you'd do the following:
   Right-Alt or AltGr + =, followed by c.
Why is AltGr + , not used for dead_cedilla ?
It seems more intuitive?
I don't know. It's all in the file /etc/X11/xkb/symbols/pc/latin.

The basic variant has this definition for comma key:

key AB08  { [ comma,   less, horizconnector,   multiply 
] };

while type2 used throughout Northern Europe in the same file has (I 
guess that's what you mentioned):

key AB08  { [ comma,  semicolon, dead_cedilla,  dead_ogonek 
] };

Again, I don't know who is the author of basic latin layout that's used 
in en_US, nor the reasoning behind it (actually, I don't even have any 
idea what horizconnector is).

One good thing about X is that you may have different keyboards,
also for en_US. So if there is enough interest we can make alternate
keyboards available for en_US.
Yes, AFAIK it's only the matter of adding to en_US file eg.

partial default alphanumeric_keys
xkb_symbols north {
include pc/latin(type2)
name[Group1]=en_US;
key RALT  { type[Group1]=TWO_LEVEL,
  [ ISO_Level3_Shift, Multi_key ]   };
modifier_map Mod5   { RALT };
};

Then, it can be called with setxkbmap -layout en_US -variant north, 
or something along those lines.

Also, there's no explicit relation between locales and keyboard maps.

Cheers,
Danilo
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] XKB: ISO_Level3_Shift in group2

2003-06-24 Thread Danilo Segan
Behnam Esfahbod wrote:

But when I use a key, in group 2, with RALT, a ? will print.
 

Try setting the correct locale for the corresponding application (LC_*, 
LANG,...), and see if that helps.

Eg.
export LANG=sr_YU.UTF-8  export LC_ALL=sr_YU.UTF-8 # bash syntax for 
Serbian language
or use the setenv in C shells.

Cheers,
Danilo
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] Sixlevels and strange state changes with Control

2003-03-22 Thread Danilo Segan
Regards,

Ivan Pascal wrote:

Did you make your mind on the _XKB_{ALT|CONTROL}_FALLBACK_TO issue?
   

 Yes.  Since there are not more opinions I can write a summary.
We have three suggestions: my one with environment variables, Vasilis's offer
with a trying all groups in turn and your one.
 Of course, my approach is worst.  I just chose a way that is simplest for me.
 The Vasilis's suggestion is better.  In this case an appropriate group search
is invisible for users but quite reliable.  Of course, I can imagine a situation
where such behavior can be considered as unexpected and unwanted one (I mean
a user would like Xlib fallback to the second or the third group but it gave him
the first one).  But I think it's rather an imaginary case and will never
happen.
 

If one wages the shortcomings and development effort, Vasilis' idea is 
certainly the best at the moment.

 Your offer looks like an ideal.  Certanly, to have a separate map for
a fallback (actally it doesn't need to be a full xkb group but just a simple
one-level map) and allow a user to choose it by xkb options if he want, is
a best approach.  But what you describe is an external look only.  To make it
we need some serious changes in Xlib, xkbcomp, servers internal structures and
maybe in the protocol of an XKB extension.
I quite realize that this would be more than a simple task, and would 
probably require changes to XKB protocol. Even more because it would not 
be the XKB style to make this possible for only two *preselected* 
modifiers, but for any, be it virtual or real (though, it might be 
reasonable to insist on them being real). It appears to me that it would 
require addition of entire new category of XKB settings, one that 
would go along with keycodes, compatibility, types, symbols and 
geometry and others (lets imagine calling it modsymbols). How do you 
feel with the inclusion of such category? Would it be too much, or 
acceptable?

This would involve modifications to some (if not all) struct's used in 
the source code, certainly changes to the xkbcomp. And probably a few 
places I don't even know about at the moment.

 If there is a volunteer for this task I would be glad but it isn't me
at least now.
 

I will consider doing it, but I make no promises whatsoever. If I get 
anywhere near the finish in the meantime (next few weeks), I'll be sure 
to inform you, and this list.

 I made a patch according to Vasilis's suggestion.  You can test it.
 

Thanks for the patch. I'll test it right away!

Since one of the concerns for me is how will it work for the average 
user who installs only the release, will this patch be included in the 
XFree86 4.3.1?

Cheers,
Danilo
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] XKB: direct switch from group1 to group3

2003-03-22 Thread Danilo Segan
Regards,

Torsten Foertsch wrote:

I'd like to directly switch from group 1 to group 3, i.e like hitting 
iso-next-group twice. Is that possible?
 

Not that I tried, but did you try setting action = LockGroup(group+=2) 
for some key (in the compatibility section, for instance, in the 
$XROOT/lib/X11/xkb/compat/iso9995-3 file)

If what you're looking for is setting group 3 no matter what group you 
were in, maybe you should try action = SetGroup(group=3).

Of course, choose a keysym of your liking, maybe even one of the symbols 
you don't actually use (ISO_Last_Group, or whatever).

Cheers,
Danilo
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] XKB: Control shortcuts (CTRL+X) with Serbian cyrillicand more

2003-03-17 Thread Danilo Segan
Ivan Pascal wrote:

Danilo Segan wrote:
 

It all works fine, but the problem arises with the usage of CTRL+key 
combinations. If I put en_US as the first group, then they use keys from 
group1 no matter what group is active. But, in any other case, they use 
the key mappings from the current group.
   

 There is an XKB feature that is completely undocumented, unfortunatly.
The XLookupString (and so X{mb|wc}LookupString too) procedure having Control
modifier in a key event tries to make a 'controlized' code from the symbol
got from the current layout.
 If this attempt fails, the procedure changes an XKB group to the first one
and repeats the 'controlization' attempt.
(The documentation is a source code of XLookupString in xc/lib/X11/XKBBind.c).
 

It seems to me that there's also something related on line 728 in 
XKBTranslateKeySym (actually, it's the only other place where 
ControlMask is used to treat Control specially). Of course, all this is 
performed starting with line 878.

What about suggesting to enforce (if anything is enforced) in 
XkbToControl() only? Isn't it saner to have all the ifs and thens on 
one place?

 Since a control code can be produced from an ascii code, if a key in the
current group has such keysym you get the controlized code (the first attempt
got success).  Otherwise you get the control code from the first group, if
it is a latin-based layout (the second attempt is successful) or just a code
from the first group.
 This behavior can be switched on/off by setting 'Xlib XKB control bit'
XkbLC_ControlFallback or using the environment variable _XKB_CONTROL_FALLBACK
(values can be 'on/off' or '0/1').  By default it's switched on.
 

It seems to me that for multi-layout it's way better to have it 
switched off as default.

 It worked well while all keyboard maps had the 'us' map as a first layout
or were latin-based maps themself.  But as you see this method doesn't work
in some multi-layout combinations.
 I would offer to add another one variable like:
_XKB_CONTROL_FALLBACK_TO=group
 BTW there are users who would like to have the similar option for Alt
modifier, i.e. _XKB_ALT_FALLBACK.
 Any opinions?
 

Actually, I find hard coding any of these to be counter-productive 
(including the _XKB_CONTROL_FALLBACK_TO=group, and _XKB_ALT_FALLBACK, 
_XKB_CONTROL_FALLBACK).

I think that the keymap writers will be the ones who know best what will 
the user expect (for example, if I have a program translated into 
cyrillic, Alt would need to use cyrillic letters to access the menus, 
while Control would still need to use latin letters for shortcuts like 
C-A, C-S and so forth). Still, even the keymap writers would not be 
entirely correct. In such cases, there should be fallback (for instance 
when the user is a native english, he expects to have Alt and Control 
both use his base, even though he might temporarily type some 
cyrillic). This fallback should not be as simple as group1 or 
groupwhatever, and it might need to be a special section in Xkb 
options (eg. fallback section next to compat, types, extra and 
others). For the time being, your suggestion would work if we could make 
one group transparent (it would be skipped by ISO_Next_Group, and 
other shift keys). The transparency matters because if one runs cyrillic 
GUI, with latin Control-shortcuts, and yet uses some external keyboard 
switcher, (s)he couldn't access neither the menus nor the 
Control-shortcuts if he suddently starts typing Hebrew. That's the main 
reasoning for separating this mechanism from groups mechanism.

The care should be also taken as to not assume Control shortcuts use 
only latin alphabet, since, at least in GTK+ programs, one is allowed to 
dynamically redefine shortcuts, what would lead to all sorts of problems.

At least, if you opt for your suggestion of *_FALLBACK_TO, it would be 
nice to be able to set this through keymaps, by using -option 
parameter to setxkbmap (or in XF86Config):
setxkbmap -layout sr,yu,en_US -option grp:shift_toggle,alt-fb:1,ctl-fb:3

Now that I think of it, this seems as a quite a good idea ;) Especially 
so if one uses only standard facilities for setting XKB up (setxkbmap, 
XF86Config, ...). If we want to take care of those using other 
switchers, we might need something on the lines of:

setxkbmap -layout fr -option alt-fb:sr,ctrl-fb:en_US

where sr and en_US are symols/pc/ files (by default).

On my other problems I'll start a different thread, so as not to confuse 
anyone.

Regards,
Danilo
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


[I18n] Sixlevels and strange state changes with Control

2003-03-17 Thread Danilo Segan
For the time being, at least some of Ctrl/Alt dance can be achieved 
using higher levels, so here are my problems.

In the currently designed sixlevel type (one at 
http://www.kvota.net/srpski/1.5/sixlevel), where LCTL is 
modifier_map-ed to Mod4, it works as expected (it does select level 
five) in GTK+ 2.x apps and in Xterm. But, Emacs 21.3.50.2 (it's same 
with the old Emacs 21.2.1) shows with describe-key that it reads it as 
if C-s-x (CTRL+S+X, not CTRL+Shift+X) is pressed when I press only C-x. 
KDE apps (KWrite) don't work at all.

This is xev output when cyrillic group is active:

KeyPress event, serial 25, synthetic NO, window 0x321,
   root 0x40, subw 0x0, time 12562633, (400,268), root:(403,344),
   state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
   XLookupString gives 0 bytes:  
KeyPress event, serial 25, synthetic NO, window 0x321,
   root 0x40, subw 0x0, time 12563178, (400,268), root:(403,344),
   state 0x44, keycode 40 (keysym 0x64, d), same_screen YES,
   XLookupString gives 1 bytes:  
KeyRelease event, serial 25, synthetic NO, window 0x321,
   root 0x40, subw 0x0, time 12563313, (400,268), root:(403,344),
   state 0x44, keycode 40 (keysym 0x64, d), same_screen YES,
   XLookupString gives 1 bytes:  
KeyRelease event, serial 25, synthetic NO, window 0x321,
   root 0x40, subw 0x0, time 12563626, (400,268), root:(403,344),
   state 0x44, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
   XLookupString gives 0 bytes:  
If en_US group (third) is active, it's same except for the time, and 
state which is 0x4044.

If I change the Mod4 to Control in sixlevel, and remove 
modifier_map Mod4, then I experience even more problems, but only in 
GTK+ 2.x apps, Emacs and Xterm. xev shows the following when cyrillic 
group is active:

KeyPress event, serial 25, synthetic NO, window 0x341,
   root 0x40, subw 0x0, time 14236822, (644,657), root:(650,759),
   state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
   XLookupString gives 0 bytes:  
KeyPress event, serial 25, synthetic NO, window 0x341,
   root 0x40, subw 0x0, time 14237996, (644,657), root:(650,759),
   state 0x4, keycode 40 (keysym 0x64, d), same_screen YES,
   XLookupString gives 1 bytes:  d
KeyRelease event, serial 25, synthetic NO, window 0x341,
   root 0x40, subw 0x0, time 14238127, (644,657), root:(650,759),
   state 0x4, keycode 40 (keysym 0x64, d), same_screen YES,
   XLookupString gives 1 bytes:  d
KeyRelease event, serial 25, synthetic NO, window 0x341,
   root 0x40, subw 0x0, time 14239154, (644,657), root:(650,759),
   state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
   XLookupString gives 0 bytes:  
The main difference I see is that with Mod4 state is 0x44, and with 
Control is 0x4. Also, XLookupString returns 1 byte with Control, where 
none is returned with Mod4.

This is how programs act with Control as level five modifier:
- GTK+ 2 (gedit, Galeon,... ) simply pressing a key acts as if 
Control+key is pressed (so, typing a cyrillic a tends to select my 
entire text, instead of outputing ).
- pressing a Control+H while cyrillic is active only acts as if Control 
is a simple LevelFive modifier (it's not set in modifiers), so latin h 
(that's what is on level 5 for that keycode) is output. 
preserve[Control]=Control doesn't help.

It seems to me that appropriate would be to have state 0x44 and 
XLookupString to receive d when CTRL+D is pressed. How can I achieve that?
Maybe I need to modify interpret sequences in compat?

The symbols file in question is at http://www.kvota.net/srpski/1.5/sr 
and it is a Serbian keymap containing several layout, but maily, 
six-level cyrillic (1. cyrillic lowercase, 2. cyrillic capitals, 3. 
extra symbols, 4. extra symbols, 5. english lowercase, and 6. english 
uppercase), and six-level latin (1. latin-serbian lowercase, 2. 
latin-serbian capitals, 3-6 same as cyrillic).

And, another suggestion. Now that we have multilayout for groups, is 
there a chance to get merging for levels? Before, we could use
AE10 { [ ], [ ], [ a, A ] }
to specify that only group3 is overriden, but now we might want
AE10 { [ , , , , a, A ] }
to specify that only levels 5 and 6 are to be overriden.

Thanks in advance, and best regards,
Danilo
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


Re: [I18n] XKB: Control shortcuts (CTRL+X) with Serbian cyrillicand more

2003-03-17 Thread Danilo Segan
Danilo Segan wrote:

...
At least, if you opt for your suggestion of *_FALLBACK_TO, it would be 
nice to be able to set this through keymaps, by using -option 
parameter to setxkbmap (or in XF86Config):
setxkbmap -layout sr,yu,en_US -option 
grp:shift_toggle,alt-fb:1,ctl-fb:3

Now that I think of it, this seems as a quite a good idea ;) 
Especially so if one uses only standard facilities for setting XKB up 
(setxkbmap, XF86Config, ...). If we want to take care of those using 
other switchers, we might need something on the lines of:

setxkbmap -layout fr -option alt-fb:sr,ctrl-fb:en_US

To make it more clear, here these would not be fallbacks, but rather 
definite, so names should probably be on the lines of alt+syms: and 
ctrl+syms:

Regards,
Danilo
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n


[I18n] XKB: Control shortcuts (CTRL+X) with Serbian cyrillic and more

2003-03-16 Thread Danilo Segan
While developing a bit more advanced (and correct) keyboard for Serbian, 
I came across several problems.

I use the multi-layout features of XFree86 4.3.0.

The task:
Standard alphabet for Serbian is cyrillic, but latin transcription is 
used as (if not more) widely as cyrillic script. So, I created two 
different symbol maps in one file pc/sr (actually, a few more, but that 
is not relevant) named cyrillic and latin. Using the new features, 
one should be allowed to load the maps with

 setxkbmap -layout sr,sr,en_US -variant cyrillic,latin, -option 
grp:shift_toggle

It all works fine, but the problem arises with the usage of CTRL+key 
combinations. If I put en_US as the first group, then they use keys from 
group1 no matter what group is active. But, in any other case, they use 
the key mappings from the current group.

To try to be more clear:
 If groups are sr(cyrillic),sr(latin),en_US pressing CTRL+S would 
generate CTRL+ (cyrillic S) if cyrillic group is active, and CTRL+S 
otherwise.
 If groups are en_US,sr(cyrillic),sr(latin) pressing CTRL+S would 
generate CTRL+S no matter what group is active.

I don't understand the reasoning behind this, so I would love to be 
enlightened :) To me, it seems to be a bug, since I couldn't find any 
special actions being defined for use in en_US. And to also mention that 
it's the same if I replace en_US with some other latin mapping (eg. Czech).

Because this is not the desired behaviour for me (I want CTRL+S to be 
generated even in cyrillic, without forcing user to put en_US in the 
first group), aslav Ili and I have made a SIX_LEVEL keyboard that puts 
the basic english alphabet at levels five and six.

If I put the Control as a level five modifier in a definition of 
SIX_LEVEL* types, Control gets discarded and I can just use it as 
level-five shift. If I use preserve[...]=Control, I experience problems 
in GTK+ 2.x apps (Galeon, gedit) where just pressing any character gets 
interpreted as if Ctrl is already pressed (eg. pressing A in cyrillic 
map acts as if CTRL+A is pressed). So, I had to define a Mod4 as 
modifier for the 5th level.

The sixlevel file which defines SIX_LEVEL types is located at 
http://www.kvota.net/srpski/1.5/sixlevel (it goes in /etc/X11/xkb/types 
and is included in file complete). The symbols file is at 
http://www.kvota.net/srpski/1.5/sr (or you can download both in 
http://www.kvota.net/srpski/sr-1.5.tar.gz  4kb file).

Still, I experience some weird behaviour from time to time, and I'd like 
to hear any advice on setting this kind of layout without insisting on 
group order.
Also, I'd care to hear how to output/repeat a modifier if I use it for 
switching levels (eg. if I put Control to be used for level5 shift, 
then I also want the Control modifier to stay active; preserve causes 
all the weird problems mentioned above).

As a guide, I used both Unreliable guide to XKB by Doug Palmer (if I 
remember correctly, otherwise please excuse me), and XKB Guide by Ivan 
Pascal. Also, I've read bits of XKBlib and XKBprotocol documents, and of 
course the README.XKB* supplied with XFree86 4.3.0.

Best regards,
Danilo egan
PS. I also noticed that pc/us map doesn't define symbols for BKSL, 
so it cannot be used with any mapping which redefines it (mine being a 
prime example). I'd call this also a bug!

___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n