Individual keyboard remapping (again)

Florian Echtler floe at butterbrot.org
Thu Oct 28 07:35:49 PDT 2010


Hello again,

On Wed, 2010-10-20 at 21:06 +0200, Julien Cristau wrote:
> On Wed, Oct 20, 2010 at 20:25:51 +0200, Florian Echtler wrote:
> 
> > $ setxkbmap -device 9 -print
> > xkb_keymap {
> > 	xkb_keycodes  { include "evdev+aliases(qwertz)"	};
> > 	xkb_types     { include "complete"	};
> > 	xkb_compat    { include "complete"	};
> > 	xkb_symbols   { include "pc+de+inet(evdev)"	};
> > 	xkb_geometry  { include "pc(pc105)"	};
> > };
> > $ setxkbmap -device 8 -print
> > xkb_keymap {
> > 	xkb_keycodes  { include "evdev+aliases(qwertz)"	};
> > 	xkb_types     { include "complete"	};
> > 	xkb_compat    { include "complete"	};
> > 	xkb_symbols   { include "pc+de+inet(evdev)"	};
> > 	xkb_geometry  { include "pc(pc105)"	};
> > };
> > 
> > AFAICT, the output should be different? What am I doing wrong?
> > 
> setxkbmap -print is probably not what you want.  It uses the
> _XKB_RULES_NAMES root window property to figure out the
> rules/model/layout/variant/options, not the actually set keymap.  That
> property is not multi-device aware.  Use 'xkbcomp -i <device> :0 -'
> instead.

it took me a while to give this another try. Unfortunately, I'm still
not getting the hang of it... I can _seemingly_ set two different
keymaps with "xkbcomp -i <dev> mykeymap.xkb :0" and see the differences
with "xkbcomp -i <dev> :0 -". However, the global effect is that all
keyboards adhere to the _last_ keymap that was set, regardless of what
xkbcomp says.

Here's the output of "xinput list":

⎡ Virtual core pointer id=2 [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer id=4 [slave  pointer  (2)]
⎜   ↳ HID 04d9:1400 id=10 [slave  pointer  (2)]
⎜   ↳ X10 WTI RF receiver id=8 [slave  pointer  (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave  keyboard (3)]
    ↳ Power Button id=6 [slave  keyboard (3)]
    ↳ Power Button id=7 [slave  keyboard (3)]
    ↳ HID 04d9:1400 id=9 [slave  keyboard (3)]
    ↳ UVC Camera (046d:09a1) id=11 [slave  keyboard (3)]

The devices in question are those with ID 9 (USB keyboard) and ID 8 (X10
remote). Could the problem be related to the fact that the X10 remote is
classified as a slave pointer? Can this be changed?

Thanks,
Florian




More information about the xorg mailing list