Bug#523562: autodetected keyboard has massively mismapped keycodes
On Sat, Apr 11 2009, Julien Cristau wrote:
> On Fri, 2009-04-10 at 23:08 -0500, Manoj Srivastava wrote:
>> So, I let the server autodetect the keyboard, and it came up
>> with:
>> (**) AT Translated Set 2 keyboard
>>
>> Now, I have a Logitech Cordless Comfort Duo setup. After
>> logging in, I discovered that my arrow keys, home, end, prior, next,
>> print, pause, alt_r, control_r, kp_enter, KP_Divide, Super_r,
>> multi_key had been randomly rearranged, and thus hitting up arrow
>> tried to print the screen.
>>
>> There was an extensive session with xev, xbindkeys -mk, and
>> xmodmap before I could start using the machine, and I suspect most
>> users would not have the knowledge to do what I did.
>>
>> Oh, and Option "AllowEmptyInput" "false" gave me multiple
>> input devices, I could not login as user sssrrriiivvvaaassstttaaa.
>> (each keypress resulted in three characters)
>
> The evdev driver, which is used by default with input-hotplug, indeed
> uses a different set of keycodes than the traditional kbd driver. I'm
> not sure there's a way to make that transition not painful for people
> using xbindkeys/xmodmap and assuming the previous set of keycodes... :(
Fair enough. I understand how the transition is problematic,
but perhaps something like this could be put into a NEWS.Debian file? I
might have planned better had I been aware of the keycode issue.
I am using a new fangled keyboard, though from a popular
manufacturer (Logitech) which is apparently no in the database, and the
keycodes of different keyboards differ; in the long term, I should get
this keyboard autodetected; this is evidently *NOT* AT Translated Set 2
keyboard, whatever that generic set is.
The thing is, I seem to have lost some keys. First, the old
keycodes:
--8<---------------cut here---------------start------------->8---
! Logitech Comfort Cordless Duo
keycode 144 = XF86AudioPrev
keycode 151 = XF86Launch1
keycode 153 = XF86AudioNext
keycode 159 = XF86Launch0
keycode 160 = XF86AudioMute
keycode 161 = XF86Calculator
keycode 162 = XF86AudioPlay XF86AudioPause
keycode 164 = XF86AudioStop
keycode 171 = XF86Launch2
keycode 172 = XF86Launch3
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume
keycode 223 = XF86Sleep
--8<---------------cut here---------------end--------------->8---
And now the new ones:
--8<---------------cut here---------------start------------->8---
keycode 104 = KP_Enter
keycode 105 = Control_R
keycode 106 = KP_Divide XF86_Ungrab
keycode 107 = Print Sys_Req
keycode 108 = Alt_R Meta_R
keycode 110 = Home
keycode 111 = Up
keycode 112 = Prior
keycode 113 = Left
keycode 114 = Right NoSymbol Right NoSymbol Right
keycode 115 = End
keycode 116 = Down
keycode 117 = Next
keycode 127 = Pause Break Pause Break Pause Break
keycode 134 = Super_R NoSymbol Super_R NoSymbol Super_R
keycode 135 = Multi_key Multi_key Multi_key Multi_key Multi_key Multi_key
keycode 171 = XF86AudioNext
keycode 173 = XF86AudioPrev NoSymbol XF86AudioPrev NoSymbol XF86AudioPrev
keycode 174 = XF86AudioStop
keycode 179 = XF86Launch1 NoSymbol XF86Launch1 NoSymbol XF86Launch1
--8<---------------cut here---------------end--------------->8---
You note that I have lost the volume control keys with the new
driver. How does one get that back? (I might begin to hate HAL)
manoj
--
I've run DOOM more in the last few days than I have the last few months.
I just love debugging ;-) (Linus Torvalds)
Manoj Srivastava <srivasta@debian.org> <http://www.debian.org/~srivasta/>
1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C
Reply to: