[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#389589: XkbModel: pc105 broken



Package: xkb-data
Version: 0.8-13
Severity: normal

>From my xorg.conf:

      Section "InputDevice"
	      Identifier	"Generic Keyboard"
	      Driver		"keyboard"
	      Option		"CoreKeyboard"
	      Option		"XkbRules"	"xorg"
	      Option		"XkbModel"	"pc105"
	      Option		"XkbLayout"	"de"
	      Option		"XkbVariant"	"nodeadkeys"
	      Option		"XkbOptions"	"altwin:super_win"
      EndSection

But even though pc105 is specified, the key with < > | on it does nothing.

      $ setxkbmap -v 7
      Applied rules from xorg:
      model:      pc105
      layout:     de
      variant:    nodeadkeys
      options:    altwin:super_win
      Trying to build keymap using the following components:
      keycodes:   xfree86+aliases(qwertz)
      types:      complete
      compat:     complete
      symbols:    pc+de(nodeadkeys)+altwin(super_win)
      geometry:   pc(pc105)

So it seems the xorg rules now incorrectly map model "pc105" and layout "de" to 
symbols "pc+de" and not "pc(pc105)+de" as before. Looks like line 270 from /usr/share/X11/xkb/rules/xorg is to blame for that:

      *		*			=	pc+%l%(v)

The corresponding line (374) from the same file from xkb-data 0.8-12 reads:

      *		*			=	pc(pc105)+%l%(v)

(actually for my case line 372 from this file should match:)

      $pcmodels	*			=	pc(%m)+%l%(v)

Anyway, the additional key works with this version and does not anymore.

A temporary fix is:

      $ setxkbmap -v 7 -symbols 'pc(pc105)+de(nodeadkeys)+altwin(super_win)'
      Warning! Multiple definitions of symbols
	       Using command line, ignoring rules file
      Applied rules from xorg:
      model:      pc105
      layout:     de
      variant:    nodeadkeys
      options:    altwin:super_win
      Trying to build keymap using the following components:
      keycodes:   xfree86+aliases(qwertz)
      types:      complete
      compat:     complete
      symbols:    pc(pc105)+de(nodeadkeys)+altwin(super_win)
      geometry:   pc(pc105)

Changing line 270 back to

      *         *                       =       pc(pc105)+%l%(v)

fixes it for good. But I guess the whole section should be changed
back ... or the symbols/pc file modified to always include 105 keys.

TIA,
Robbe



Reply to: