On Friday 05 September 2003 12:56, Ph Legay wrote: > Frank Murphy wrote: > > On Tuesday 02 September 2003 2:52, Ph Legay wrote: > >>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? Well, they both can work. It depends on which one you want to learn about. But with the doc webpages down, xmodmap is probably easier. > >>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 ] }; OK, so you need to use Mode_shift with this "old style" keymap. > > 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 ? It's defined in symbols/level3, but you don't want that right now. > > 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 ? With xev, which you've done below. ... > I get some trace with xev (See last line) > > ... > 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: "" ... > 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 ? Well, the modifier that it sees is Alt_L. You want it to see Mode_shift. You can cause this to happen by putting this into your .Xmodmap file: keysym Alt_L = Mode_switch Then run `xmodmap .Xmodmap` and the left alt key should generate Mode_switch and you can get your characters. Frank _______________________________________________ XFree86 mailing list XFree86@xxxxxxxxxxx http://XFree86.Org/mailman/listinfo/xfree86