You are not logged in.

#1 2017-01-09 16:17:22

jonascj
Member
Registered: 2014-02-28
Posts: 20

Shaky/jumpy mouse pointer with TouchStyk (pointing stick / trackpoint)

Hi all,

My HP Elitebook 840 G1 has a pointing stick mouse device (TouchStyk), and the default configuration (xf86-input-evdev installed, nothing else) has the pointer unusably slow.

But if I increase how much the pointer moves in response to putting pressure on the pointing stick by decreasing Device Accel Constant Deceleration and increasing Device Accel Velocity Scaling it becomes very shaky and jumpy.

This screen recording illustrates the problem: http://i.imgur.com/PRZVXMa.gif

I'm trying to draw a straight line by applying constant pressure to the pointing stick, but the pointer jumps up and down (perpendicular to the direction of movement), sometimes becoming a sinusoidal. The drawing is in gimp, so it should just color pixels where the cursor is, not apply any smoothening to the curve or similar (which might happen if it were the pen tool in a vector application). 

This shows the output of xinput list-props for my pointing stick device

Device 'PS/2 Generic Mouse':
    Device Enabled (138):    1
    Coordinate Transformation Matrix (140):    1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (264):    2
    Device Accel Constant Deceleration (265):    1.100000
    Device Accel Adaptive Deceleration (266):    10000.000000
    Device Accel Velocity Scaling (267):    1000.000000

Am I taking the wrong approach to configure this pointer device? It feels like there is some lower level settings which are wrong, like I'm just amplifying noise by modifying the device acceleration and velocity scaling. Maybe there is a lower level more fundamental sensitivity setting I can modify?

Thank you for your input!

P.S Obligatory XKCD comig https://xkcd.com/243/

Edit: HP PointStick is no longer the brandname, its called TouchStyk, which is probably a Synaptics product name: http://www.synaptics.com/applications/notebook-pcs

Last edited by jonascj (2017-01-10 05:53:31)

Offline

#2 2017-01-09 19:52:35

jonascj
Member
Registered: 2014-02-28
Posts: 20

Re: Shaky/jumpy mouse pointer with TouchStyk (pointing stick / trackpoint)

A little update:

So there is no problem in Windows 10 with the driver (http://h20564.www2.hp.com/hpsc/swd/publ … nvOid=4192) installed. See this MS Paint demonstration http://i.imgur.com/UFH9dht.gif .

Also, the pointing stick is apparently called HP TouchStyk and not PointStick despite what Wikipedia says. So I'm off on another search spree for others with the same problem, but with this new keyboard.

Finally, the problem is the same in Ubuntu 16 (tried from a live usb flash drive), i.e. the mouse pointer jumps / shakes along when moved around with the pointing stick (TouchStyk).

Offline

#3 2017-01-10 06:46:31

jonascj
Member
Registered: 2014-02-28
Posts: 20

Re: Shaky/jumpy mouse pointer with TouchStyk (pointing stick / trackpoint)

For Thinkpads with the TrackPoint pointing stick there is a sensitivity and speed setting parameter exposed through the i8042 "controller:

    # echo -n 120 > /sys/devices/platform/i8042/serio1/serio2/speed
    # echo -n 250 > /sys/devices/platform/i8042/serio1/serio2/sensitivity

but there appears to be no such setting for the TouchStyk, see the /sys/devices/platform/i8042 directory tree below (or here https://ptpb.pw/WjEG).


/sys/devices/platform/i8042
├── driver -> ../../../bus/platform/drivers/i8042
├── driver_override
├── modalias
├── power
│   ├── async
│   ├── autosuspend_delay_ms
│   ├── control
│   ├── runtime_active_kids
│   ├── runtime_active_time
│   ├── runtime_enabled
│   ├── runtime_status
│   ├── runtime_suspended_time
│   └── runtime_usage
├── serio0
│   ├── bind_mode
│   ├── description
│   ├── driver -> ../../../../bus/serio/drivers/atkbd
│   ├── drvctl
│   ├── err_count
│   ├── extra
│   ├── firmware_id
│   ├── force_release
│   ├── id
│   │   ├── extra
│   │   ├── id
│   │   ├── proto
│   │   └── type
│   ├── input
│   │   └── input0
│   │       ├── capabilities
│   │       │   ├── abs
│   │       │   ├── ev
│   │       │   ├── ff
│   │       │   ├── key
│   │       │   ├── led
│   │       │   ├── msc
│   │       │   ├── rel
│   │       │   ├── snd
│   │       │   └── sw
│   │       ├── device -> ../../../serio0
│   │       ├── event0
│   │       │   ├── dev
│   │       │   ├── device -> ../../input0
│   │       │   ├── power
│   │       │   │   ├── async
│   │       │   │   ├── autosuspend_delay_ms
│   │       │   │   ├── control
│   │       │   │   ├── runtime_active_kids
│   │       │   │   ├── runtime_active_time
│   │       │   │   ├── runtime_enabled
│   │       │   │   ├── runtime_status
│   │       │   │   ├── runtime_suspended_time
│   │       │   │   └── runtime_usage
│   │       │   ├── subsystem -> ../../../../../../../class/input
│   │       │   └── uevent
│   │       ├── id
│   │       │   ├── bustype
│   │       │   ├── product
│   │       │   ├── vendor
│   │       │   └── version
│   │       ├── input0::capslock
│   │       │   ├── brightness
│   │       │   ├── device -> ../../input0
│   │       │   ├── max_brightness
│   │       │   ├── power
│   │       │   │   ├── async
│   │       │   │   ├── autosuspend_delay_ms
│   │       │   │   ├── control
│   │       │   │   ├── runtime_active_kids
│   │       │   │   ├── runtime_active_time
│   │       │   │   ├── runtime_enabled
│   │       │   │   ├── runtime_status
│   │       │   │   ├── runtime_suspended_time
│   │       │   │   └── runtime_usage
│   │       │   ├── subsystem -> ../../../../../../../class/leds
│   │       │   ├── trigger
│   │       │   └── uevent
│   │       ├── input0::numlock
│   │       │   ├── brightness
│   │       │   ├── device -> ../../input0
│   │       │   ├── max_brightness
│   │       │   ├── power
│   │       │   │   ├── async
│   │       │   │   ├── autosuspend_delay_ms
│   │       │   │   ├── control
│   │       │   │   ├── runtime_active_kids
│   │       │   │   ├── runtime_active_time
│   │       │   │   ├── runtime_enabled
│   │       │   │   ├── runtime_status
│   │       │   │   ├── runtime_suspended_time
│   │       │   │   └── runtime_usage
│   │       │   ├── subsystem -> ../../../../../../../class/leds
│   │       │   ├── trigger
│   │       │   └── uevent
│   │       ├── input0::scrolllock
│   │       │   ├── brightness
│   │       │   ├── device -> ../../input0
│   │       │   ├── max_brightness
│   │       │   ├── power
│   │       │   │   ├── async
│   │       │   │   ├── autosuspend_delay_ms
│   │       │   │   ├── control
│   │       │   │   ├── runtime_active_kids
│   │       │   │   ├── runtime_active_time
│   │       │   │   ├── runtime_enabled
│   │       │   │   ├── runtime_status
│   │       │   │   ├── runtime_suspended_time
│   │       │   │   └── runtime_usage
│   │       │   ├── subsystem -> ../../../../../../../class/leds
│   │       │   ├── trigger
│   │       │   └── uevent
│   │       ├── modalias
│   │       ├── name
│   │       ├── phys
│   │       ├── power
│   │       │   ├── async
│   │       │   ├── autosuspend_delay_ms
│   │       │   ├── control
│   │       │   ├── runtime_active_kids
│   │       │   ├── runtime_active_time
│   │       │   ├── runtime_enabled
│   │       │   ├── runtime_status
│   │       │   ├── runtime_suspended_time
│   │       │   └── runtime_usage
│   │       ├── properties
│   │       ├── subsystem -> ../../../../../../class/input
│   │       ├── uevent
│   │       └── uniq
│   ├── modalias
│   ├── power
│   │   ├── async
│   │   ├── autosuspend_delay_ms
│   │   ├── control
│   │   ├── runtime_active_kids
│   │   ├── runtime_active_time
│   │   ├── runtime_enabled
│   │   ├── runtime_status
│   │   ├── runtime_suspended_time
│   │   ├── runtime_usage
│   │   ├── wakeup
│   │   ├── wakeup_abort_count
│   │   ├── wakeup_active
│   │   ├── wakeup_active_count
│   │   ├── wakeup_count
│   │   ├── wakeup_expire_count
│   │   ├── wakeup_last_time_ms
│   │   ├── wakeup_max_time_ms
│   │   ├── wakeup_prevent_sleep_time_ms
│   │   └── wakeup_total_time_ms
│   ├── scroll
│   ├── set
│   ├── softraw
│   ├── softrepeat
│   ├── subsystem -> ../../../../bus/serio
│   └── uevent
├── serio1
│   ├── bind_mode
│   ├── description
│   ├── drvctl
│   ├── firmware_id
│   ├── id
│   │   ├── extra
│   │   ├── id
│   │   ├── proto
│   │   └── type
│   ├── modalias
│   ├── power
│   │   ├── async
│   │   ├── autosuspend_delay_ms
│   │   ├── control
│   │   ├── runtime_active_kids
│   │   ├── runtime_active_time
│   │   ├── runtime_enabled
│   │   ├── runtime_status
│   │   ├── runtime_suspended_time
│   │   ├── runtime_usage
│   │   ├── wakeup
│   │   ├── wakeup_abort_count
│   │   ├── wakeup_active
│   │   ├── wakeup_active_count
│   │   ├── wakeup_count
│   │   ├── wakeup_expire_count
│   │   ├── wakeup_last_time_ms
│   │   ├── wakeup_max_time_ms
│   │   ├── wakeup_prevent_sleep_time_ms
│   │   └── wakeup_total_time_ms
│   ├── subsystem -> ../../../../bus/serio
│   └── uevent
├── serio2
│   ├── bind_mode
│   ├── description
│   ├── driver -> ../../../../bus/serio/drivers/psmouse
│   ├── drvctl
│   ├── firmware_id
│   ├── id
│   │   ├── extra
│   │   ├── id
│   │   ├── proto
│   │   └── type
│   ├── input
│   │   └── input20
│   │       ├── capabilities
│   │       │   ├── abs
│   │       │   ├── ev
│   │       │   ├── ff
│   │       │   ├── key
│   │       │   ├── led
│   │       │   ├── msc
│   │       │   ├── rel
│   │       │   ├── snd
│   │       │   └── sw
│   │       ├── device -> ../../../serio2
│   │       ├── event16
│   │       │   ├── dev
│   │       │   ├── device -> ../../input20
│   │       │   ├── power
│   │       │   │   ├── async
│   │       │   │   ├── autosuspend_delay_ms
│   │       │   │   ├── control
│   │       │   │   ├── runtime_active_kids
│   │       │   │   ├── runtime_active_time
│   │       │   │   ├── runtime_enabled
│   │       │   │   ├── runtime_status
│   │       │   │   ├── runtime_suspended_time
│   │       │   │   └── runtime_usage
│   │       │   ├── subsystem -> ../../../../../../../class/input
│   │       │   └── uevent
│   │       ├── id
│   │       │   ├── bustype
│   │       │   ├── product
│   │       │   ├── vendor
│   │       │   └── version
│   │       ├── modalias
│   │       ├── mouse0
│   │       │   ├── dev
│   │       │   ├── device -> ../../input20
│   │       │   ├── power
│   │       │   │   ├── async
│   │       │   │   ├── autosuspend_delay_ms
│   │       │   │   ├── control
│   │       │   │   ├── runtime_active_kids
│   │       │   │   ├── runtime_active_time
│   │       │   │   ├── runtime_enabled
│   │       │   │   ├── runtime_status
│   │       │   │   ├── runtime_suspended_time
│   │       │   │   └── runtime_usage
│   │       │   ├── subsystem -> ../../../../../../../class/input
│   │       │   └── uevent
│   │       ├── name
│   │       ├── phys
│   │       ├── power
│   │       │   ├── async
│   │       │   ├── autosuspend_delay_ms
│   │       │   ├── control
│   │       │   ├── runtime_active_kids
│   │       │   ├── runtime_active_time
│   │       │   ├── runtime_enabled
│   │       │   ├── runtime_status
│   │       │   ├── runtime_suspended_time
│   │       │   └── runtime_usage
│   │       ├── properties
│   │       ├── subsystem -> ../../../../../../class/input
│   │       ├── uevent
│   │       └── uniq
│   ├── modalias
│   ├── power
│   │   ├── async
│   │   ├── autosuspend_delay_ms
│   │   ├── control
│   │   ├── runtime_active_kids
│   │   ├── runtime_active_time
│   │   ├── runtime_enabled
│   │   ├── runtime_status
│   │   ├── runtime_suspended_time
│   │   ├── runtime_usage
│   │   ├── wakeup
│   │   ├── wakeup_abort_count
│   │   ├── wakeup_active
│   │   ├── wakeup_active_count
│   │   ├── wakeup_count
│   │   ├── wakeup_expire_count
│   │   ├── wakeup_last_time_ms
│   │   ├── wakeup_max_time_ms
│   │   ├── wakeup_prevent_sleep_time_ms
│   │   └── wakeup_total_time_ms
│   ├── protocol
│   ├── rate
│   ├── resetafter
│   ├── resolution
│   ├── resync_time
│   ├── subsystem -> ../../../../bus/serio
│   └── uevent
├── serio3
│   ├── bind_mode
│   ├── description
│   ├── driver -> ../../../../bus/serio/drivers/psmouse
│   ├── drvctl
│   ├── firmware_id
│   ├── id
│   │   ├── extra
│   │   ├── id
│   │   ├── proto
│   │   └── type
│   ├── input
│   │   └── input22
│   │       ├── capabilities
│   │       │   ├── abs
│   │       │   ├── ev
│   │       │   ├── ff
│   │       │   ├── key
│   │       │   ├── led
│   │       │   ├── msc
│   │       │   ├── rel
│   │       │   ├── snd
│   │       │   └── sw
│   │       ├── device -> ../../../serio3
│   │       ├── event18
│   │       │   ├── dev
│   │       │   ├── device -> ../../input22
│   │       │   ├── power
│   │       │   │   ├── async
│   │       │   │   ├── autosuspend_delay_ms
│   │       │   │   ├── control
│   │       │   │   ├── runtime_active_kids
│   │       │   │   ├── runtime_active_time
│   │       │   │   ├── runtime_enabled
│   │       │   │   ├── runtime_status
│   │       │   │   ├── runtime_suspended_time
│   │       │   │   └── runtime_usage
│   │       │   ├── subsystem -> ../../../../../../../class/input
│   │       │   └── uevent
│   │       ├── id
│   │       │   ├── bustype
│   │       │   ├── product
│   │       │   ├── vendor
│   │       │   └── version
│   │       ├── modalias
│   │       ├── mouse1
│   │       │   ├── dev
│   │       │   ├── device -> ../../input22
│   │       │   ├── power
│   │       │   │   ├── async
│   │       │   │   ├── autosuspend_delay_ms
│   │       │   │   ├── control
│   │       │   │   ├── runtime_active_kids
│   │       │   │   ├── runtime_active_time
│   │       │   │   ├── runtime_enabled
│   │       │   │   ├── runtime_status
│   │       │   │   ├── runtime_suspended_time
│   │       │   │   └── runtime_usage
│   │       │   ├── subsystem -> ../../../../../../../class/input
│   │       │   └── uevent
│   │       ├── name
│   │       ├── phys
│   │       ├── power
│   │       │   ├── async
│   │       │   ├── autosuspend_delay_ms
│   │       │   ├── control
│   │       │   ├── runtime_active_kids
│   │       │   ├── runtime_active_time
│   │       │   ├── runtime_enabled
│   │       │   ├── runtime_status
│   │       │   ├── runtime_suspended_time
│   │       │   └── runtime_usage
│   │       ├── properties
│   │       ├── subsystem -> ../../../../../../class/input
│   │       ├── uevent
│   │       └── uniq
│   ├── modalias
│   ├── power
│   │   ├── async
│   │   ├── autosuspend_delay_ms
│   │   ├── control
│   │   ├── runtime_active_kids
│   │   ├── runtime_active_time
│   │   ├── runtime_enabled
│   │   ├── runtime_status
│   │   ├── runtime_suspended_time
│   │   ├── runtime_usage
│   │   ├── wakeup
│   │   ├── wakeup_abort_count
│   │   ├── wakeup_active
│   │   ├── wakeup_active_count
│   │   ├── wakeup_count
│   │   ├── wakeup_expire_count
│   │   ├── wakeup_last_time_ms
│   │   ├── wakeup_max_time_ms
│   │   ├── wakeup_prevent_sleep_time_ms
│   │   └── wakeup_total_time_ms
│   ├── protocol
│   ├── rate
│   ├── resetafter
│   ├── resolution
│   ├── resync_time
│   ├── subsystem -> ../../../../bus/serio
│   └── uevent
├── serio4
│   ├── bind_mode
│   ├── description
│   ├── drvctl
│   ├── firmware_id
│   ├── id
│   │   ├── extra
│   │   ├── id
│   │   ├── proto
│   │   └── type
│   ├── modalias
│   ├── power
│   │   ├── async
│   │   ├── autosuspend_delay_ms
│   │   ├── control
│   │   ├── runtime_active_kids
│   │   ├── runtime_active_time
│   │   ├── runtime_enabled
│   │   ├── runtime_status
│   │   ├── runtime_suspended_time
│   │   ├── runtime_usage
│   │   ├── wakeup
│   │   ├── wakeup_abort_count
│   │   ├── wakeup_active
│   │   ├── wakeup_active_count
│   │   ├── wakeup_count
│   │   ├── wakeup_expire_count
│   │   ├── wakeup_last_time_ms
│   │   ├── wakeup_max_time_ms
│   │   ├── wakeup_prevent_sleep_time_ms
│   │   └── wakeup_total_time_ms
│   ├── subsystem -> ../../../../bus/serio
│   └── uevent
├── subsystem -> ../../../bus/platform
└── uevent

79 directories, 352 files

/sys/devices/platform/i8042/serio2 only contains a resolution property, and I'm not even sure that serio2 is the TouchStyk / pointing stick. Anyone with more knowledge of i8042 / serio who can give a few pointers on how to figure out which is the TouchStyk?

Offline

Board footer

Powered by FluxBB