[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freedesktop-xorg
Subject:    Re: PenMount PM1300A and Evdev Third Button Emulation
From:       Peter Hutterer <peter.hutterer () who-t ! net>
Date:       2016-06-16 22:37:43
Message-ID: 20160616223743.GA7500 () jelly
[Download RAW message or body]

On Thu, Jun 16, 2016 at 11:43:51AM +0000, Harry Mallon wrote:
> Hi Peter,
> 
> Thanks for getting back.
> 
> I have had a look into the implementation of 3rd button emulation this
> morning. If this feature were to be extended to touch points would you
> recommend altering xf86-input-evdev to not filter out touch events or
> should this option be lower down the stack? It seems xorg is responsible
> for emulating a pointer based on touches so should it be responsible for
> emulating clicks (buttons 1, 2 or 3)?

simply said - no. touch->pointer emulation in X is already terrible and
putting right click emulation on top of this would make things even more
unmanagable. touch gesture interpretation should be done by the client and
that includes right-click emulation.

Cheers,
   Peter
 
> On 16 Jun 2016, at 03:29, Peter Hutterer \
> <peter.hutterer@who-t.net<mailto:peter.hutterer@who-t.net>> wrote: 
> On Tue, Jun 14, 2016 at 03:32:40PM +0000, Harry Mallon wrote:
> Hi all,
> 
> I am trying to get my PenMount PM1300A touchscreen to accept hold to right
> click (Evdev Third Button Emulation) on CentOS7. Kernel
> 3.10.0-327.18.2.el7.x86_64. xorg-x11-drv-evdev 2.9.2.
> 
> see https://bugs.freedesktop.org/show_bug.cgi?id=96494, this only just came
> up as a bug.
> 
> short answer: it's a touchscreen that doesn't emulate a left button click,
> so evdev won't reassign the button.
> 
> Cheers,
> Peter
> 
> 
> My /etc/X11/xorg.conf contains:
> # Setup the touch screen
> Section "InputClass"
> Identifier "PenMount Touchscreen"
> MatchVendor "PenMount"
> MatchProduct "PenMount PM1300A"
> Driver "evdev"
> Option "InvertX" "on"
> Option "InvertY" "on"
> Option "EmulateThirdButton" "on"
> EndSection
> 
> xinput reports:
> $ DISPLAY=:0 xinput list-props 13
> Device 'PenMount PM1300A':
> Device Enabled (136): 1
> Coordinate Transformation Matrix (138): 1.000000, 0.000000, 0.000000, 0.000000, \
> 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 Device Accel Profile (257): 0
> Device Accel Constant Deceleration (258): 1.000000
> Device Accel Adaptive Deceleration (259): 1.000000
> Device Accel Velocity Scaling (260): 10.000000
> Device Product ID (263): 5345, 13568
> Device Node (264): "/dev/input/event6"
> Evdev Axis Inversion (273): 1, 1
> Evdev Axis Calibration (274): <no items>
> Evdev Axes Swap (275): 0
> Axis Labels (276): "Abs MT Position X" (291), "Abs MT Position Y" (292), "None" \
> (0), "None" (0) Button Labels (277): "Button Unknown" (266), "Button Unknown" \
> (266), "Button Unknown" (266), "Button Wheel Up" (142), "Button Wheel Down" (143) \
> Evdev Scrolling Distance (278): 0, 0, 0 Evdev Middle Button Emulation (279): 0
> Evdev Middle Button Timeout (280): 50
> Evdev Third Button Emulation (281): 1
> Evdev Third Button Emulation Timeout (282): 1000
> Evdev Third Button Emulation Button (283): 3
> Evdev Third Button Emulation Threshold (284): 20
> Evdev Wheel Emulation (285): 0
> Evdev Wheel Emulation Axes (286): 0, 0, 4, 5
> Evdev Wheel Emulation Inertia (287): 10
> Evdev Wheel Emulation Timeout (288): 200
> Evdev Wheel Emulation Button (289): 4
> Evdev Drag Lock Buttons (290): 0
> 
> $ DISPLAY=:0 xinput test-xi2 13
> PenMount PM1300A                         id=13 [slave  pointer  (2)]
> Reporting 4 classes:
> Class originated from: 13. Type: XIButtonClass
> Buttons supported: 5
> Button labels: "Button Unknown" "Button Unknown" "Button Unknown" "Button Wheel Up" \
> "Button Wheel Down" Button state:
> Class originated from: 13. Type: XIValuatorClass
> Detail for Valuator 0:
> Label: Abs MT Position X
> Range: 0.000000 - 2047.000000
> Resolution: 0 units/m
> Mode: absolute
> Current value: 1443.000000
> Class originated from: 13. Type: XIValuatorClass
> Detail for Valuator 1:
> Label: Abs MT Position Y
> Range: 0.000000 - 2047.000000
> Resolution: 0 units/m
> Mode: absolute
> Current value: 240.000000
> Class originated from: 13. Type: XITouchClass
> Touch mode: direct
> Max number of touches: 10
> 
> I have tested with a usb mouse and I can successfully get "Button 3" working in \
> xinput test when using a similar configuration, but not the touchscreen. 
> I have seen a couple of bugs like this while searching but they all seem to have \
> expired without clearly being fixed. Are these still current? \
> https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/1084938 \
> https://bbs.archlinux.org/viewtopic.php?id=187970 
> 
> Yours,
> Harry
> 
> Harry Mallon
> 
> CODEX | Software Engineer
> 
> 60 Poland Street | London | England | W1F 7NT
> 
> E harry@codexdigital.com<mailto:harry@codexdigital.com><mailto:harry@codexdigital.com> \
> | T +44 203 7000 989<callto:+44%20203%207000%20989> 
> Website<www.codexdigital.com<http://www.codexdigital.com/>> | \
> Facebook<https://www.facebook.com/codexdigital> | \
> Twitter<http://twitter.com/codexdigital> 
> [http://www.codexdigital.com/?action=asset&id=E55D8A6F-AF62-4978-8FF1-435A85AFADBF]< \
> http://www.codexdigital.com><http://www.codexdigital.com/?action=asset&id=E55D8A6F-AF62-4978-8FF1-435A85AFADBF]%3Chttp://www.codexdigital.com%3E>
>  
> _______________________________________________
> xorg@lists.x.org<mailto:xorg@lists.x.org>: X.Org<http://x.org/> support
> Archives: http://lists.freedesktop.org/archives/xorg
> Info: https://lists.x.org/mailman/listinfo/xorg
> Your subscription address: %(user_address)s
> 
_______________________________________________
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: https://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic