You are not logged in.

#1 2008-05-31 22:13:40

potatoe
Member
Registered: 2008-05-31
Posts: 13

Touchpad scroll not working UNLESS caps lock is on!?

Hello all, in the recent upgrade to 2.6.25 (I'm using the default kernel26 package), my touchpad has stopped supporting vertical/horizontal scrolling along its edges. However, it does work when I turn on Caps Lock, Num Lock, or Scroll Lock.

This is on a Compaq Presario V2000 (one of the 50,000 variants sharing that name), with a built-in synaptic touchpad. All of the other synaptic stuff is working, like button 2 presses when tapping the top-left corner, etc. It is simply not sending the button 4/5 presses when I scroll, unless one of the *locks is on. Scrolling works perfectly if one of the *lock keys is on.

This only started after kernel26 upgraded to 2.6.25 (from whichever 2.6.24 version was most recently packaged in kernel26 -- I didn't keep notes, sorry), and I hadn't made any configuration changes between it working and not working, just did a pacman -Syu, saw that it upgraded kernel26, rebooted, and I couldn't scroll anymore.

Does anyone have any clue of why this is happening?

In xev, by default, this is all that is sent when scrolling one "click" down:

LeaveNotify event, serial 28, synthetic NO, window 0xe00001,
    root 0x58, subw 0xe00002, time 135500, (52,35), root:(633,59),
    mode NotifyGrab, detail NotifyVirtual, same_screen YES,
    focus YES, state 4096

EnterNotify event, serial 28, synthetic NO, window 0xe00001,
    root 0x58, subw 0xe00002, time 135500, (52,35), root:(633,59),
    mode NotifyUngrab, detail NotifyVirtual, same_screen YES,
    focus YES, state 0

KeymapNotify event, serial 28, synthetic NO, window 0x0,
    keys:  88  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

If I enable Scroll Lock (or Caps Lock or Num Lock):

KeyPress event, serial 28, synthetic NO, window 0xe00001,
    root 0x58, subw 0xe00002, time 488661, (29,30), root:(610,54),
    state 0x0, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 31, synthetic NO, window 0xe00001,
    root 0x58, subw 0xe00002, time 488726, (29,30), root:(610,54),
    state 0x80, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

then scrolling sends the appropriate button presses (again, just one "click" of scrolling downwards):

ButtonPress event, serial 31, synthetic NO, window 0xe00001,
    root 0x58, subw 0xe00002, time 492382, (29,30), root:(610,54),
    state 0x80, button 5, same_screen YES

EnterNotify event, serial 31, synthetic NO, window 0xe00001,
    root 0x58, subw 0x0, time 492382, (29,30), root:(610,54),
    mode NotifyGrab, detail NotifyInferior, same_screen YES,
    focus YES, state 4224

KeymapNotify event, serial 31, synthetic NO, window 0x0,
    keys:  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

ButtonRelease event, serial 31, synthetic NO, window 0xe00001,
    root 0x58, subw 0xe00002, time 492382, (29,30), root:(610,54),
    state 0x1080, button 5, same_screen YES

LeaveNotify event, serial 31, synthetic NO, window 0xe00001,
    root 0x58, subw 0x0, time 492382, (29,30), root:(610,54),
    mode NotifyUngrab, detail NotifyInferior, same_screen YES,
    focus YES, state 128

If I switch off the scroll lock (or caps lock or num lock), it goes back to not sending the button events, only the enter/leave/keymap notify events.

Some more information:
$ cat /proc/bus/input/devices

I: Bus=0017 Vendor=0001 Product=0001 Version=0100
N: Name="Macintosh mouse button emulation"
P: Phys=
S: Sysfs=/class/input/input0
U: Uniq=
H: Handlers=mouse0 event0
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=3

I: Bus=0011 Vendor=0001 Product=0001 Version=abba
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/class/input/input1
U: Uniq=
H: Handlers=kbd event1
B: EV=120013
B: KEY=4 2000000 3803078 f800d001 feffffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=7

I: Bus=0019 Vendor=0000 Product=0002 Version=0000
N: Name="Power Button (FF)"
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/class/input/input2
U: Uniq=
H: Handlers=kbd event2
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button (CM)"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/class/input/input3
U: Uniq=
H: Handlers=kbd event3
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0019 Vendor=0000 Product=0003 Version=0000
N: Name="Sleep Button (CM)"
P: Phys=PNP0C0E/button/input0
S: Sysfs=/class/input/input4
U: Uniq=
H: Handlers=kbd event4
B: EV=3
B: KEY=4000 0 0 0 0

I: Bus=0019 Vendor=0000 Product=0005 Version=0000
N: Name="Lid Switch"
P: Phys=PNP0C0D/button/input0
S: Sysfs=/class/input/input5
U: Uniq=
H: Handlers=event5
B: EV=21
B: SW=1

I: Bus=0019 Vendor=0000 Product=0006 Version=0000
N: Name="Video Bus"
P: Phys=/video/input0
S: Sysfs=/class/input/input6
U: Uniq=
H: Handlers=kbd event6
B: EV=3
B: KEY=3f000b 0 0 0 0 0 0 0

I: Bus=0011 Vendor=0002 Product=0007 Version=25b1
N: Name="SynPS/2 Synaptics TouchPad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/class/input/input7
U: Uniq=
H: Handlers=mouse1 event7
B: EV=b
B: KEY=6420 0 70000 0 0 0 0 0 0 0 0
B: ABS=11000003

From /etc/X11/xorg.conf

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen       0 "radeon-Screen[0]" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
        RgbPath      "/usr/share/X11/rgb"
        ModulePath   "/usr/lib/xorg/modules"
        FontPath     "/usr/share/fonts/misc"
        FontPath     "/usr/share/fonts/100dpi:unscaled"
        FontPath     "/usr/share/fonts/75dpi:unscaled"
        FontPath     "/usr/share/fonts/TTF"
        FontPath     "/usr/share/fonts/Type1"
EndSection
Section "Module"
        Load  "dbe"
        Load  "GLcore"
        Load  "glx"
        Load  "extmod"
        Load  "dri"
        Load  "xtrap"
        Load  "record"
        Load  "freetype"
        Load  "synaptics"
EndSection
Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "CoreKeyboard"
        Option      "XkbRules" "xorg"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "us"
EndSection
Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "synaptics"
    Option      "CorePointer"
    Option      "Protocol" "auto-dev"
    Option      "Device" "/dev/input/mouse1"
    Option      "SHMConfig" "on"
EndSection
Section "Device"
        Identifier  "radeon200m"
        Driver      "radeon"
        Option      "RenderAccel" "on"
        Option      "DynamicClocks" "on"
EndSection
Section "Screen"
        Identifier "radeon-Screen[0]"
        Device     "radeon200m"
        Monitor    "aticonfig-Monitor[0]"
        DefaultDepth 24
        SubSection "Display"
                Depth     24
                Modes    "1280x768"
                Virtual  3200 1200
        EndSubSection
EndSection
Section "DRI"
        Group        91
        Mode         0660
EndSection
Section "Extensions"
        Option      "Composite" "true"
EndSection

$ synclient -l

Parameter settings:
    LeftEdge                = 1872
    RightEdge               = 5072
    TopEdge                 = 1712
    BottomEdge              = 4144
    FingerLow               = 25
    FingerHigh              = 30
    FingerPress             = 256
    MaxTapTime              = 180
    MaxTapMove              = 220
    MaxDoubleTapTime        = 180
    SingleTapTimeout        = 180
    ClickTime               = 100
    FastTaps                = 0
    EmulateMidButtonTime    = 75
    EmulateTwoFingerMinZ    = 257
    VertScrollDelta         = 60
    HorizScrollDelta        = 80
    VertEdgeScroll          = 1
    HorizEdgeScroll         = 1
    CornerCoasting          = 0
    VertTwoFingerScroll     = 0
    HorizTwoFingerScroll    = 0
    MinSpeed                = 0.0822368
    MaxSpeed                = 0.197368
    AccelFactor             = 0.00164474
    TrackstickSpeed         = 40
    EdgeMotionMinZ          = 30
    EdgeMotionMaxZ          = 160
    EdgeMotionMinSpeed      = 1
    EdgeMotionMaxSpeed      = 304
    EdgeMotionUseAlways     = 0
    UpDownScrolling         = 1
    LeftRightScrolling      = 1
    UpDownScrollRepeat      = 1
    LeftRightScrollRepeat   = 1
    ScrollButtonRepeat      = 100
    TouchpadOff             = 0
    GuestMouseOff           = 0
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 2
    RBCornerButton          = 3
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 2
    TapButton3              = 3
    CircularScrolling       = 0
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 0
    CircularPad             = 0
    PalmDetect              = 1
    PalmMinWidth            = 10
    PalmMinZ                = 200
    CoastingSpeed           = 0
    PressureMotionMinZ      = 30
    PressureMotionMaxZ      = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    GrabEventDevice         = 1

My Xorg.log.0 has a few complaints about missing font directories and bugs in the Radeon 200m, but there are a few warnings and errors in the input-related information at the very end of the log. I don't think any of these should be causing my problem though:

(EE) Error compiling keymap (server-0)
(EE) XKB: Couldn't compile keymap
(WW) Couldn't load XKB keymap, falling back to pre-XKB keymap
(II) Synaptics touchpad driver version 0.14.6 (1406)
(--) Mouse0 auto-dev sets device to /dev/input/event7
(**) Option "Device" "/dev/input/event7"
(**) Option "SHMConfig" "on"
(--) Mouse0 touchpad found
(**) Option "CorePointer"
(**) Mouse0: always reports core events
(**) Option "CoreKeyboard"
(**) Keyboard0: always reports core events
(**) Option "Protocol" "standard"
(**) Keyboard0: Protocol: standard
(**) Option "AutoRepeat" "500 30"
(**) Option "XkbRules" "xorg"
(**) Keyboard0: XkbRules: "xorg"
(**) Option "XkbModel" "pc105"
(**) Keyboard0: XkbModel: "pc105"
(**) Option "XkbLayout" "us"
(**) Keyboard0: XkbLayout: "us"
(**) Option "CustomKeycodes" "off"
(**) Keyboard0: CustomKeycodes disabled
(WW) <default pointer>: No Device specified, looking for one...
(II) <default pointer>: Setting Device option to "/dev/input/mice"
(--) <default pointer>: Device: "/dev/input/mice"
(==) <default pointer>: Protocol: "Auto"
(**) Option "AlwaysCore"
(**) <default pointer>: always reports core events
(==) <default pointer>: Emulate3Buttons, Emulate3Timeout: 50
(**) <default pointer>: ZAxisMapping: buttons 4 and 5
(**) <default pointer>: Buttons: 9
(**) <default pointer>: Sensitivity: 1
(II) evaluating device (<default pointer>)
(II) XINPUT: Adding extended input device "<default pointer>" (type: MOUSE)
(II) evaluating device (Keyboard0)
(II) XINPUT: Adding extended input device "Keyboard0" (type: KEYBOARD)
(II) evaluating device (Mouse0)
(II) XINPUT: Adding extended input device "Mouse0" (type: MOUSE)
(EE) Error compiling keymap (server-0)
(EE) XKB: Couldn't compile keymap
(WW) Couldn't load XKB keymap, falling back to pre-XKB keymap
(--) <default pointer>: PnP-detected protocol: "ExplorerPS/2"
(II) <default pointer>: ps2EnableDataReporting: succeeded
(--) Mouse0 auto-dev sets device to /dev/input/event7
(**) Option "Device" "/dev/input/event7"
(--) Mouse0 touchpad found

dmesg doesn't have anything relevant, I don't think, but I can post the full thing. Here's the touchpad being recognized with 2 extra lines of context:

...
pcmcia: parent PCI bridge Memory window: 0x40000000 - 0x43ffffff
Synaptics Touchpad, model: 1, fw: 5.10, id: 0x258eb1, caps: 0xa04713/0x0
input: SynPS/2 Synaptics TouchPad as /class/input/input7
cs: IO port probe 0x100-0x3af: clean.
...

Also, my console keymap is just "us" and I start X via startx. Does anyone have any suggestions?

Offline

Board footer

Powered by FluxBB