On Mon, 2003-07-28 at 17:18, Frank Murphy wrote:
> > > > > I'm missing the bar sign, the @ sign (I had to paste this one from
> > > > > the address in the header), bracketleft, bracketright, EuroSign and I
> > > > > don't know what else on the keyboard on X.
> > > >
> > > > Same here, on an iBook2 700Mhz. I ended up writing my own ~/.Xmodmap
> > > > which i load when I login.
> > >
> > > It seems everybody does that, instead of fixing the X keymaps... I'm no
> > > better myself. :)
> 
> The root of the problem is the XFree86 definition of the macintosh keymap. In 
> the file /etc/X11/xkb/keymap/macintosh you can see this definition:
> 
> default xkb_keymap "macintosh" {
>     xkb_keycodes        { include "xfree86"                             };
>     xkb_types           { include "default"                             };
>     xkb_compatibility   { include "default"                             };
>     xkb_symbols         { include "macintosh/us(extended)"              };
>     xkb_geometry        { include "macintosh"                           };
> };
> 
> Notice that the xkb_symbols are us(extended). So anytime someone uses an 
> non-us keyboard with powerpc, the keymap will be wrong.

I don't think this is the problem (are you sure this file is even used
with your configuration? :). Non-US layouts basically work fine, only
some keys are wrong or inaccessible. The problem as I understand it is
that the macintosh keymaps are designed for desktop keyboards and don't
map too well on laptop keyboards. As it might be hard to come up with a
single keymap which works reasonably for both, maybe different variants
or options are needed.


> Configuring a keyboard for XFree86 is a different thing. The X11 keyboard 
> configuration changed recently to be more flexible, but less clear. The 
> settings for the different keyboards can be found in /etc/X11/xkb. Finding 
> out exactly what's going on is difficult. The old way was much simpler to 
> understand, because it was a single file that one would run with xmodmap to 
> change the behavior of the keyboard. Now, xmodmap is deprecated, and 
> setxkbmap "should" be used, but it's so difficult to understand, that 
> everyone still uses xmodmap.

I'm not sure xmodmap was ever supposed to be for basic configuration.
It's a customization tool.


> This brings something else to mind. It's possible to get Xfree86 to use the 
> Linux console keycodes by adding a line to the keyboard InputDevide:
> 
>         Option          "CustomKeycodes"
> 
> However, I don't know what the proper XkbRules, XkbLayout, or XkbSymbols 
> should be set to when using it. I'm trying it right now, and most of the keys 
> are fine, but the arrow keys and Alt_R and some other obscure modifiers are 
> set incorrectly. It seems to me that if we could have a complete Linux 
> keycodes XkbSymbols map, then the only configuration would have to be for 
> console-data.

Are you sure about this? I doubt it. As I understand it, medium raw
keycodes still correspond to physical keys, so you'd still need X
keymaps, just different ones.

I think disabling Xkb (with Option "XkbDisable" or the -kb command line
switch) comes closer to what you're describing.

Of course, it's entirely possible that I'm on crack. :) You've already
made contact with _the_ Xkb developer Ivan Pascal, he can answer all
your questions about it.


> The other thing that's missing for me is a procedure for testing changes to 
> xkb. `xmodmap .Xmodmap` is clearer to me. I know setxkbmap is the tool, but 
> I'm not sure where to start.

Does http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=201737 help?


-- 
Earthling Michel Dänzer   \  Debian (powerpc), XFree86 and DRI developer
Software libre enthusiast  \     http://svcs.affero.net/rm.php?r=daenzer

Reply via email to