QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6014|回复: 6

2.6内核鼠标太快问题的解决.

[复制链接]
发表于 2004-4-29 09:05:30 | 显示全部楼层 |阅读模式
这是我从网上搜到的贴子,里面有如何解决2.6内核鼠标过快,还有关于touchpad的问题的解决,我的鼠标过快已经解决了.希望对大家有帮助.

From: Vojtech Pavlik [email blocked]
To:  linux-kernel, [email blocked]
Subject: 2.6 input drivers FAQ
Date: Sun, 1 Feb 2004 11:06:44 +0100


Common problems and solutions with 2.6 input drivers:

Problems:
~~~~~~~~~

How do I get a list of the input devices in my system?
How can I check that the input drivers have found my devices correctly?

Solution:
~~~~~~~~~

'cat /proc/bus/input/devices' and 'dmesg' are your friends here. The first
lists all devices known to the input core with their properties, and the
latter shows the messages from boot. There you can spot any errors that
happened in the probing process.

Problems:
~~~~~~~~~

I'm getting double clicks when I click only once.
My scroll wheel scrolls by two lines/screens instead of one.
My mouse moves too fast.

Solution:
~~~~~~~~~

Check your XFree86 config file.

You probably have two "mouse" entries there, one pointing to /dev/psaux and
the other to /dev/input/mice, so that you can get both your PS/2 and USB
mouse working on 2.4.

2.6 uses the input subsystem for both PS2 and USB, and thus both devices
will report events from both mice, resulting in doubled events.

Remove either the /dev/psaux or /dev/input/mice entry, depending what suits
you better for 2.4 compatibility should you ever need go back to 2.4.


Problems:
~~~~~~~~~

My mouse wheel is not working in X.
My Logitech (MousManPS/2) mouse stopped working in X.
My extra buttons don't work in X.


Solution:
~~~~~~~~~

Check your XFree86 config file.

Make sure the mouse protocol is set to "ExplorerPS/2", as that is what the
2.6 kernel exports to applications regardless of the real mouse type.

Make sure you have an "ZAxisMapping 4 5" entry.

Make sure you have an entry for remapping the extra buttons above 5.


Problem:
~~~~~~~~

Kernel reports:
        atkbd.c: Unknown key released (translated set 2, code 0x7a on isa0060/serio0).
        atkbd.c: This is an XFree86 bug. It shouldn't access hardware directly.

Solution:
~~~~~~~~~

Well, the kernel means what it says. XFree86 boldly goes and accesses the
keyboard controller registers when it starts up. This is a bad thing to do,
as it can conflict with the kernel using these registers at the same time.
The kernel spots this and complains, and in most cases is not affected by
the problem.

So, unless you are an XFree86 developer and can fix X, ignore this message.

Problem:
~~~~~~~~

I get the message above, but I'm not running X.

Solution:
~~~~~~~~~

Other applications (for example kbdrate) may also access the keyboard
controller. This will trigger the same message.

Fix your application / utility or ignore the message.

Problem:
~~~~~~~~

My multimedia keys don't work at all and instead emit a message like this:

        atkbd.c: Unknown key pressed (translated set 2, code 0x83 on isa0060/serio0).
        atkbd.c: Use 'setkeycodes e003 <keycode>' to make it known.
        atkbd.c: Unknown key released (translated set 2, code 0x83 on isa0060/serio0).
        atkbd.c: Use 'setkeycodes e003 <keycode>' to make it known.

Solution:
~~~~~~~~~

Do what the kernel says. Use the setkeycodes utility with the suggested
scncode value. For the keycode value, look into /usr/include/linux/input.h,
where is a list of all defined Linux keycodes.

Then you can verify that the keyboard works correctly by using the evtest
program:

        evtest /dev/input/event#

Where # is the number of the input device that is your keyboard.

Problem:
~~~~~~~~

setkeycodes refuses to work with keycodes above 127.

Solution:
~~~~~~~~~

Get a recent version of kbd-utils, and recompile on a 2.6 kernel.

Problem:
~~~~~~~~

Ok, evtest shows everything correctly, but I get incorrect keysyms assigned
to these keys in XFree86.


Solution:
~~~~~~~~~

While the 2.6 kernel tries to use the "standard" scancodes as much as
possible, it is not posible for all keys.

A good solution is to modify the XKB keyboard definition to match the
scancodes one can obtain from 'showkeys -s', after the above problem is
solved and the keys work in evtest.

An better solution would be to write a kernel-2.6 keyboard definition, as
the scancodes are the same for every type of keyboard, independend of the
hardware. This is called hardware abstraction.

A perfect solution would be to get X to use the event protocol. If you're an
XFree86 developer, you might consider this.


Problem:
~~~~~~~~

My PC Speaker is not beeping anymore in 2.6.

Solution:
~~~~~~~~~

Enable it in the kernel config. Go to Drivers->Input->Misc->PC Speaker.


Problem:
~~~~~~~~

My Synaptics touchpad lost the ability of tap-to-click, scroll, etc.


Solution:
~~~~~~~~~

The easy solution is to pass psmouse.proto=imps on the kernel command line,
or proto=imps on the psmouse module command line. This will restore 2.4
behavior.

A better solution is to download the new XFree86 Synaptics driver that
cooperates with the input drivers nicely, from:

        http://w1.894.telia.com/~u89404340/touchpad/index.html

This will allow you to configure the behavior of the touchpad in detail and
give you all the features it can do, including palm detection and similar.

In case you want to get this running at the console, too, an updated GPM
package can be found here:

        http://www.geocities.com/dt_or/gpm/gpm.html


Problem:
~~~~~~~~

When I switch my KVM, my PS/2 mouse goes all crazy.

Solution:
~~~~~~~~~

Use psmouse.proto=bare on the kernel command line, or proto=bare on the
psmouse module command line.

Problem:
~~~~~~~~

I'm getting these:

        psmouse.c: PS/2 mouse at serio0 lost synchronization, throwing 2 bytes away.

Solution:
~~~~~~~~~

Check your mouse cable. If this only happens when you move your mouse in a
certain way, fix the mouse cable or replace the mouse.

Check your kernel and harddisk settings. This message can also happen when
the mouse interrupt is delayed more than one half of a second. Make sure DMA
is enabled for your harddrive and CD-ROM. Kill your ACPI/APM battery
monitoring applet. Try disabling ACPI, frequency scaling. Make sure your
time is ticking correctly, often with frequency scaling it gets unreliable.
Even if you're using the ACPI PM Timer as a clock source - actually this
often leads to the above problem.

Problem:
~~~~~~~~

My keyboard autorepeat is not as snappy as it used to be in the 2.5 series.

Solution:
~~~~~~~~~

Use atkbd.softrepeat=1 on the kernel command line, or "softrepeat=1" on
atkbd module command line. This will enable kernel internal repeat
generation, which is much more flexible and allows higher repeat rates and
shorter repeat delays than the keyboard itself does.


Problem:
~~~~~~~~

kbdrate doesn't work when I use atkbd.softrepeat.

Solution:
~~~~~~~~~

Get an up-to-date version of kbd-utils. Recompile on 2.6.


Problem:
~~~~~~~~

I've read through the whole file, and it did not help me at all!

Solution:
~~~~~~~~~

Either you didn't have any problem in the first place, or it's something
that is not very often and thus not listed. Try contacting the driver
author/maintainer, the kernel mailing list, or enter the problem into the
Linux kernel bugzilla.

Related Links:

    * Archive of above threa
发表于 2004-4-30 17:41:29 | 显示全部楼层
看不懂…………
回复

使用道具 举报

发表于 2006-4-28 20:58:11 | 显示全部楼层
我的RedHat9改过来了,鼠标速度正常了,在/etc/X11/XF86Config 文件中
Option  "Device" "/dev/input/mice" 注释掉就行了.

[code:1]
Section "InputDevice"

# If the normal CorePointer mouse is not a USB mouse then
# this input device can be used in AlwaysCore mode to let you
# also use USB mice at the same time.
        Identifier  "DevInputMice"
        Driver      "mouse"
        Option            "Protocol" "IMPS/2"
#        Option            "Device" "/dev/input/mice"    <--注释掉这个,鼠标就正常了
        Option            "ZAxisMapping" "4 5"
        Option            "Emulate3Buttons" "no"
EndSection
[/code:1]
回复

使用道具 举报

发表于 2006-4-28 23:44:30 | 显示全部楼层
我一直嫌它慢呢还
回复

使用道具 举报

发表于 2006-4-29 00:15:53 | 显示全部楼层
你是没有体验过我这个不正常快的感觉吧,鼠标满天飞,你应该能想像到...
回复

使用道具 举报

发表于 2009-11-22 15:58:30 | 显示全部楼层
Nov 21 21:41:44 localhost kernel: atkbd.c: Use 'setkeycodes e060 <keycode>' to make it known.
Nov 21 21:41:44 localhost kernel: atkbd.c: Unknown key released (translated set 2, code 0xe0 on isa0060/serio0).
Nov 21 21:41:44 localhost kernel: atkbd.c: Use 'setkeycodes e060 <keycode>' to make it known.
Nov 21 21:41:44 localhost kernel: atkbd.c: Unknown key pressed (translated set 2, code 0xe0 on isa0060/serio0).
Nov 21 21:41:44 localhost kernel: atkbd.c: Use 'setkeycodes e060 <keycode>' to make it known.
Nov 21 21:41:44 localhost kernel: atkbd.c: Unknown key released (translated set 2, code 0xe0 on isa0060/serio0).
Nov 21 21:41:44 localhost kernel: atkbd.c: Use 'setkeycodes e060 <keycode>' to make it known.
Nov 21 21:41:44 localhost kernel: atkbd.c: Unknown key pressed (translated set 2, code 0xe0 on isa0060/serio0).
Nov 21 21:41:44 localhost kernel: atkbd.c: Use 'setkeycodes e060 <keycode>' to make it known.
Nov 21 21:41:44 localhost kernel: atkbd.c: Unknown key released (translated set 2, code 0xe0 on isa0060/serio0).
Nov 21 21:41:44 localhost kernel: atkbd.c: Use 'setkeycodes e060 <keycode>' to make it known.
Nov 21 21:41:44 localhost kernel: atkbd.c: Unknown key pressed (translated set 2, code 0xe0 on isa0060/serio0).
Nov 21 21:41:44 localhost kernel: atkbd.c: Use 'setkeycodes e060 <keycode>' to make it known.
Nov 21 21:41:44 localhost kernel: atkbd.c: Unknown key released (translated set 2, code 0xe0 on isa0060/serio0).
Nov 21 21:41:44 localhost kernel: atkbd.c: Use 'setkeycodes e060 <keycode>' to make it known.
Nov 21 21:41:45 localhost kernel: atkbd.c: Unknown key pressed (translated set 2, code 0xe0 on isa0060/serio0).
Nov 21 21:41:45 localhost kernel: atkbd.c: Use 'setkeycodes e060 <keycode>' to make it known.
Nov 21 21:41:45 localhost kernel: atkbd.c: Unknown key released (translated set 2, code 0xe0 on isa0060/serio0).
Nov 21 21:41:45 localhost kernel: atkbd.c: Use 'setkeycodes e060 <keycode>' to make it known.


我在 x86_64 上面遇到如此问题,是我自己编译的内核。正在头痛中。

表现出来的症状是:输入一个键,屏幕有时显示,有时不显示。说明内核有时没有认识这个键。使得输密码(不显示啊,根本不知道输入了几个字符)只能凭运气了!

回头再研究……
回复

使用道具 举报

发表于 2009-11-24 21:24:55 | 显示全部楼层
海猴,啥事这么开心呢?

我的那问题,找到原因了,是机器 bios 没写好。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-12-1 00:28 , Processed in 0.059570 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表