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

Bug#593929: xkb-data: Many keys have incorrect mappings after update to squeeze



Package: xkb-data
Version: 1.8-1
Severity: important


After updating to squeeze, I noticed many of the keys on the keyboard did not
function correctly.  The base alphanumeric keys worked, but modifiers, arrow
keys, some keypad functions, etc. were broken.

Starting up with various window managers showed the same breakage.  Firing up
twm and xev, every key was pressed to figure out what was going on and compared
with the output of xmodmap.

Previously, on lenny, the keyboard worked correctly under X.

It looks like /usr/share/X11/xkb/keycodes/xfree86 has the wrong keycodes
for my keyboard (IBM Type M, 101-key, PS/2 keyboard)

Checking the results, the following mappings were incorrect:

  Print Screen/SysRq = keycode 107 (keysym 0xffff, delete)
  Scroll Lock = keycode 78 (keysym 0xff14, scroll_lock)
  Pause/Break = keycode 127 (keysym 0x0, no_symbol)
  
  Left Arrow = keycode 113 (keysym 0xffea, delete)
  Right Arrow = keycode 114 (keysym 0x0, nosymbol)
  Up Arrow = keycode 111 (keysym 0xff61, print)
  Down Arrow = keycode 116 (keysym 0xffec, super_r)
  
  Insert = keycode 118 (keysym 0x0, nosymbol)
  Home = keycode 110 (keysym 0xff13, pause)
  Page Up = keycode 112 (keysym 0xffaf, kp_divide)
  Delete = keycode 119 (keysym 0x0, nosymbol)
  End = keycode 115 (keysym ffeb, super_l)
  Page Down = keycode 117 (keysym 0xff67, menu)
  
  KeyPad / = keycode 106 (keysym 0xff63, insert)
  KeyPad Enter = keycode 104 (keysym <didn't write this one down>, down)

I had to use the following ~/.Xmodmap to fix things up:

  keycode 108 = Alt_R Meta_R
  keycode 105 = Control_R
  keycode 107 = Print Sys_Req
  keycode 78 = Scroll_Lock
  keycode 127 = Pause Break
  keycode 113 = Left
  keycode 114 = Right
  keycode 111 = Up
  keycode 116 = Down
  keycode 118 = Insert
  keycode 110 = Home
  keycode 112 = Prior
  keycode 119 = Delete
  keycode 115 = End
  keycode 117 = Next
  keycode 106 = KP_Divide
  keycode 104 = KP_Enter

Relevant part of current /etc/X11/xorg.conf:

Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"evdev"
	Option		"Device"		"/dev/input/event0"
	Option		"SendCoreEvents"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc101"
	Option		"XkbLayout"	"us"
	Option		"XkbOptions"	"caps:swapescape,terminate:ctrl_alt_bksp"
EndSection

During lenny, I used the following, and ~/.Xmodmap swapped Caps_Lock and Escape

Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"keyboard"
	Option		"CoreKeyboard"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc101"
	Option		"XkbLayout"	"us"
EndSection

/etc/default/keyboard:

# If you change any of the following variables and HAL and X are
# configured to use this file, then the changes will become visible to
# X only if HAL is restarted.  In Debian you need to run
# /etc/init.d/hal restart

# The following variables describe your keyboard and can have the same
# values as the XkbModel, XkbLayout, XkbVariant and XkbOptions options
# in /etc/X11/xorg.conf.

XKBMODEL="pc101"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="terminate:ctrl_alt_bksp,caps:swapescape"

# If you don't want to use the XKB layout on the console, you can
# specify an alternative keymap.  Make sure it will be accessible
# before /usr is mounted.
# KMAP=/etc/console-setup/defkeymap.kmap.gz


-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (1001, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.35.3 (PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

-- no debconf information



Reply to: