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

Re: bad scancode for USB keyboard


I have found a solution to the problem.
XFree86 has 2 keyboard drivers, the default one named "keyboard" and an 
alternative one named "kbd" which according to documentation on the 
XFree86 website is a new keyboard driver mostly written from scratch. 
With the kbd-driver the print-screen key and the |\-key got different 
keycodes and thus I could make the |\-key give me the proper characters.

So, to summarize. Simply changing the line:
Driver      "keyboard"
to
Driver      "kbd"
in the input-device section in the XF86Config file and fiddling a bit 
with xmodmap solved the problem for me.

Bernardo Innocenti wrote:
> Vojtech Pavlik wrote:
> 
>> On Wed, Jan 07, 2004 at 03:27:42AM +0100, Bernardo Innocenti wrote:
>>
>>>> I have the same problem with a Logitech cordless desktop.
>>>> I can easily change the keycode to generate the right characters 
>>>> when in console-mode, but XFree gives that key and the Print Screen 
>>>> key the same keycode.
>>>> After changing the xmodmap I can get the unmodified character, but 
>>>> modifiers doesn't work, it just gives me the same character not 
>>>> matter what modifier I use (shift, alt, alt_gr etc.)
>>>
>>>
>>> I had fixed my console keymap too, but I've not been able to
>>> figure out how to change the X keymap.  I've been looking in
>>> the /usr/X11R6/lib/X11/xkb/ directory, but perhaps XKB is not
>>> being used for old-style keyboard mapping?
>>>
>>> Could you provide detailed instructions?  C coding with missing
>>> backslash and bar keys is quite hard :-)
>>>
>>> Of course, I still thing its' a 2.6 kernel bug and it should be
>>> fixed.  Vojtech, do you have an idea why it's happening?
>>
>>
>> The reason is that this key is not the ordinary backslash-bar key, it's
>> the so-called 103rd key on some european keyboards. It generates a
>> different scancode.
> 
> 
> Yes, I've found out it's 84 for the key besides/below the enter key.
> 
>> 2.4 used the same keycode for both the scancodes, 2.6 does not, so that
>> it's possible to differentiate between the keys on keyboards that have
>> both this one and also the standard backslash-bar.
> 
> 
> I see...  So it appears the fix has to be done in the kbd package and in
> XFree86.
> 
> The default console keymap should be changed like this:
> 
> < keycode  84 = Last_Console
>  > keycode  84 = backslash        bar
> 
> Andries Brouwer appears to be the current maintainer of kbd, so I've
> pulled him into our thread.  This is also being cross-postied to
> the devel _at_ XFree86.org list.
> 
> In addition, I'm going to open two PRs for these packages in RedHat's
> bugzilla to make sure the issue gets properly fixed before it hits the
> masses.
> 
> fyi, this thread was started here:
> 
>  http://www.ussg.iu.edu/hypermail/linux/kernel/0401.0/0485.html
> 

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo _at_ vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: References: