Frank Murphy wrote:
On Tuesday 02 September 2003 2:52, Ph Legay wrote:

I have installed the mandrake 9.1 on my Macintosh (Of course this
distribtion has a XFREE 4.3 environment).

But I have no # { [ | \ with my keyboard. In a tty console (CTL+ALT+F1),
I succeed to modify my keyboard configuration, But nothing with the X
Keyboard.


The keyboard maps for the different consoles (ctrl+alt+F1, +F2, etc) are different from the keyboard maps for X. I don't know about Mandrake, but for Debian, the console keymaps are stored in /usr/share/keymaps and the configured keymap is stored in /etc/console/boottime.kmap.gz.

I agree, I discovered that



For X, there are two ways to configure keymaps, Xkb and the legacy core Xlib. XFree86 4.3 defaults to Xkb, so I'll assume that's what you are trying to configure.


The Xkb files are kept in either /etc/X11/xkb or /usr/X11R6/lib/X11/xkb.

However, xmodmap does things with a different syntax to Xkb.


I agree, I discovered that


I try a lot of things (create my own rule, so no keyboard, CTL+ALT does
not work, ...), but it seems to difficult for me, without any tutorial.
I can access to the Xkeyboard protocol PDF file.

So today I have a keyboard, I can modify the mapping of the key 5 : ( +
5 to a + 5, but no braceleft char.


I assume by this that your keyboard has a key that is engraved with a '5', a '+', a '(', and a ':' -- is this true? It seems from what you say below that the key has a '5', a '(', a '[', and a '{'.

Not exactly. The orignal mapping of the "(" + "5" engraved key is ( or 5 (when shift is pressed). I modify (for test) the "(" + "5" engraved key to a or 5.



Questions
---------
a) Is there a tutorial to understand the rule file ?


The best place to understand all the Xkb files is normally at www.charvolant.org/~doug/xkb/html/ but it seems to be down a lot recently.

I agree, it is down


b) Is there a tutorial to build a keyboard mapping ?


No. Do you want to build an Xkb key symbol file, or an .Xmodmap file?


The one I anderstand and that works?



c) In my symbol file, there is "key => ( 5 braceleft braketleft". Why
can not obtain the braceleft char ? I kown (I see by typping) that the
first column is for normal char, the second column is for the shift
char. What for are the third and the fourth column ? In other word,
whare is the modifier order ?


What file do you see this line? For Xkb, I would expect to see:

key <AE05> { [ 5, parenleft, braceleft, bracketleft ] };


It is in the /etc/X11/xkb/symbols/macinstosh/macintosh


xkb_symbols "extended" {

name[Group1]= "FR-1";

    // Alphanumeric section
       ....
    // PATCH !!
//    key <AE05> {        [   parenleft,    5             ],
//                              [   braceleft,    bracketleft   ]       };
    key <AE05> {  [   a,    5             ],
                        [   braceleft,    bracketleft   ]       };


In this case, '5' is a simple press, '(' is Shift+5, '{' is ISO_Level3_Shift+5, and '[' is Shift+ISO_Level3_Shift+5.

Where is ISO_Level3_Shift defined ? Or is the key sequence ?



However, in Xfree86 4.2 (and similar to xmodmap) the following happens:


key <AE05> { [ 5, parenleft ], [ braceleft, bracketleft ] };

In this case, 5' is a simple press, '(' is Shift+5, '{' is Mode_level+5, and '[' is Shift+Mode_level+5.

Confused? It's confusing. What has probably happened is that your AltGr key (which often gets the third char) is configured to Mode_shift, but XFree86 4.3 expects ISO_Level3_Shift to be used.

Perhaps, how to check this ? how to try our suggestion ?


When I solve my keyboard tty problem, I read a document that explain
each column. The keyboard mapping is an array the first char is for
normal char, the second for shift char, ... and if you want a char in
the last column, you can introduce voidsymbol for the useless column.


When it's back online, the above Xkb doc explains these.


d) how to active the third and the fourth column for each char ?


See above explaination.


e) Can I create new modifers ? (I try an xkbcomp does not like)


You can't invent a new "Legays_special_modifier" symbol. You can use the Super and Hyper symbols to do what you want.

I have treid this, wihtout suceed.




f) Is the order of modifiers fixed ?


Sometimes. In order to get the 3rd engraved symbol, yes, you can use only the proper one. Otherwise, I'm not sure I understand.


g) My distribution has no xev ? Where can I found it ? (I want to check
if the modifiers are generated)


I imagine mandrake has it in a package on the CD. Ask at one of the Mandrake forums.

It is in the X86-contrib RPM.


h) I read that there is some graphical interface for xmodmap ? Do you
know it ? Where can I find it ?


What you're probably talking about is xkeycaps. You can get source here:
http://www.jwz.org/xkeycaps/

I'm sure Mandrake has a package.


i) Is there a tutorial of xmodmap ?


Only `man xmodmap`.


j) Where are the x-doc.org files ? where is http://www.tsu.ru/~pascal/en/ ?


I don't understand what you mean here.

Because the site is down or not found !




Notice :
Macintosh mouse is a single button, so F11 and F12 keys are used to
emulated a 3 button mouse. Perhaps this mechanism brakes the alt
modifier of my keyboard ? How can I chack this idea ?


I really doubt that this is the problem, but I'm not sure how to check this idea.

Frank


Thanks


I get some trace with xev (See last line)

...
KeymapNotify event, serial 13, synthetic NO, window 0x0,
    keys:  0   0   0   0   16  0   0   0   0   0   0   0   0   0   0   0
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

...
KeymapNotify event, serial 28, synthetic NO, window 0x0,
    keys:  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

...
KeymapNotify event, serial 28, synthetic NO, window 0x0,
    keys:  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

...
KeymapNotify event, serial 28, synthetic NO, window 0x0,
    keys:  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

Push on the "a" key  10 => a
-----------------------------
KeyPress event, serial 28, synthetic NO, window 0xe00001,
    root 0x40, subw 0xe00002, time 1477963, (30,26), root:(844,51),
    state 0x0, keycode 24 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes:  "a"

KeyRelease event, serial 28, synthetic NO, window 0xe00001,
    root 0x40, subw 0xe00002, time 1478115, (30,26), root:(844,51),
    state 0x0, keycode 24 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes:  "a"

Push on the "&,1" key 10 => &
------------------------------
KeyPress event, serial 28, synthetic NO, window 0xe00001,
    root 0x40, subw 0xe00002, time 1479671, (30,26), root:(844,51),
    state 0x0, keycode 10 (keysym 0x26, ampersand), same_screen YES,
    XLookupString gives 1 bytes:  "&"

KeyRelease event, serial 28, synthetic NO, window 0xe00001,
    root 0x40, subw 0xe00002, time 1479823, (30,26), root:(844,51),
    state 0x0, keycode 10 (keysym 0x26, ampersand), same_screen YES,
    XLookupString gives 1 bytes:  "&"

Push on the "&,1" key 10 with shift => 1
-----------------------------------------
KeyPress event, serial 28, synthetic NO, window 0xe00001,
    root 0x40, subw 0xe00002, time 1480661, (30,26), root:(844,51),
    state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes:  ""

KeyPress event, serial 28, synthetic NO, window 0xe00001,
    root 0x40, subw 0xe00002, time 1481116, (30,26), root:(844,51),
    state 0x1, keycode 10 (keysym 0x31, 1), same_screen YES,
    XLookupString gives 1 bytes:  "1"

KeyRelease event, serial 28, synthetic NO, window 0xe00001,
    root 0x40, subw 0xe00002, time 1481172, (30,26), root:(844,51),
    state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes:  ""

KeyRelease event, serial 28, synthetic NO, window 0xe00001,
    root 0x40, subw 0xe00002, time 1481300, (30,26), root:(844,51),
    state 0x0, keycode 10 (keysym 0x26, ampersand), same_screen YES,
    XLookupString gives 1 bytes:  "&"

Push on the "(,5" key 14 => a  Debug
------------------------------
KeyPress event, serial 28, synthetic NO, window 0xe00001,
    root 0x40, subw 0xe00002, time 1482856, (30,26), root:(844,51),
    state 0x0, keycode 14 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes:  "a"

KeyRelease event, serial 28, synthetic NO, window 0xe00001,
    root 0x40, subw 0xe00002, time 1482944, (30,26), root:(844,51),
    state 0x0, keycode 14 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes:  "a"

Push on the "5,5" key 14 with shift => 5
-----------------------------------------
KeyPress event, serial 28, synthetic NO, window 0xe00001,
    root 0x40, subw 0xe00002, time 1483782, (30,26), root:(844,51),
    state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes:  ""

KeyPress event, serial 28, synthetic NO, window 0xe00001,
    root 0x40, subw 0xe00002, time 1484078, (30,26), root:(844,51),
    state 0x1, keycode 14 (keysym 0x35, 5), same_screen YES,
    XLookupString gives 1 bytes:  "5"

KeyRelease event, serial 28, synthetic NO, window 0xe00001,
    root 0x40, subw 0xe00002, time 1484142, (30,26), root:(844,51),
    state 0x1, keycode 14 (keysym 0x35, 5), same_screen YES,
    XLookupString gives 1 bytes:  "5"

KeyRelease event, serial 28, synthetic NO, window 0xe00001,
    root 0x40, subw 0xe00002, time 1484166, (30,26), root:(844,51),
    state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes:  ""


Push on the "5,5" key 14 with alt => nothing --------------------------------------------- KeyPress event, serial 28, synthetic NO, window 0xe00001, root 0x40, subw 0xe00002, time 1484788, (30,26), root:(844,51), state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES, XLookupString gives 0 bytes: ""

FocusOut event, serial 28, synthetic NO, window 0xe00001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 28, synthetic NO, window 0xe00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 28, synthetic NO, window 0x0,
    keys:  0   0   0   0   0   0   0   0   1   0   0   0   0   0   0   0
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

KeyRelease event, serial 28, synthetic NO, window 0xe00001,
    root 0x40, subw 0xe00002, time 1485323, (30,26), root:(844,51),
    state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:  ""

My conclusion is that X keyboard see the modifier, but do nothing. Why ? Any test or pointers ?

Thanks
PHL


_______________________________________________ XFree86 mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xfree86

Reply via email to