Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stops working after extended inactivity #131

Open
scarint opened this issue Feb 3, 2019 · 1 comment
Open

Stops working after extended inactivity #131

scarint opened this issue Feb 3, 2019 · 1 comment

Comments

@scarint
Copy link

scarint commented Feb 3, 2019

So far as I can tell, after extended inactivity (away for the day or night), my touchpad stops working. Often, it just stops responding to movements, but still registers clicks. My USB mouse works fine. Once it had my cursor in the wrong position on the screen (mouse clicks happened elsewhere, could use buttons animate as I hovered over something else).

I'm running Manjaro with kernel 4.20.3-1, Mate desktop. Running NVidia free drivers. Happened with the proprietary NVidia drivers as well.

Asus ROG Strix GL703V laptop. Restsarting X doesn't solve the problem, the only thing I've found that will do it is a reboot; I'm not even sure it's an mtrack problem, but it seemed similar to issue #74, but the discussion there hasn't helped me.

I haven't noticed any difference in the outputs below immediately after a reboot or when the touchpad has quit working.

I typically don't suspend during the day when I leave, but have noticed the same behavior after resuming from suspended state.

Also, possibly related, the palm detection doesn't always work, but it seems that when it does, it exhibits all the behavior above: it stops responding to everything except clicks.

~ >>> xinput                                                                   
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                   	id=11	[slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver Consumer Control  	id=13	[slave  pointer  (2)]
⎜   ↳ ITE Tech. Inc. ITE Device(8910) Consumer Control	id=17	[slave  pointer  (2)]
⎜   ↳ ELAN1200:00 04F3:3090 Touchpad          	id=19	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Asus Wireless Radio Control             	id=7	[slave  keyboard (3)]
    ↳ Video Bus                               	id=8	[slave  keyboard (3)]
    ↳ Power Button                            	id=9	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=10	[slave  keyboard (3)]
    ↳ Logitech USB Receiver Keyboard          	id=12	[slave  keyboard (3)]
    ↳ Logitech USB Receiver System Control    	id=14	[slave  keyboard (3)]
    ↳ USB2.0 HD UVC WebCam: USB2.0 HD         	id=15	[slave  keyboard (3)]
    ↳ ITE Tech. Inc. ITE Device(8910) Keyboard	id=16	[slave  keyboard (3)]
    ↳ ITE Tech. Inc. ITE Device(8910) System Control	id=18	[slave  keyboard (3)]
    ↳ Asus WMI hotkeys                        	id=20	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=21	[slave  keyboard (3)]
    ↳ Logitech USB Receiver Consumer Control  	id=22	[slave  keyboard (3)]
    ↳ ITE Tech. Inc. ITE Device(8910) Consumer Control	id=23	[slave  keyboard (3)]

~ >>> lsusb                                                                    
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0b05:1869 ASUSTek Computer, Inc. 
Bus 001 Device 004: ID 13d3:5666 IMC Networks 
Bus 001 Device 003: ID 8087:0a2b Intel Corp. 
Bus 001 Device 002: ID 046d:c537 Logitech, Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

~ >>> lspci                                                                    
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 05)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 05)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem (rev 31)
00:15.0 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #0 (rev 31)
00:16.0 Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 (rev 31)
00:17.0 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #5 (rev f1)
00:1c.5 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #6 (rev f1)
00:1c.6 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #7 (rev f1)
00:1d.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #9 (rev f1)
00:1f.0 ISA bridge: Intel Corporation HM175 Chipset LPC/eSPI Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)
00:1f.3 Audio device: Intel Corporation CM238 HD Audio Controller (rev 31)
00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)
01:00.0 VGA compatible controller: NVIDIA Corporation GP106M [GeForce GTX 1060 Mobile] (rev a1)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express Card Reader (rev 01)
04:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)
05:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961

/etc/X11/xorg.conf.d >>> ls                                                    
00-keyboard.conf  10-mtrack.conf.b   50-touchpad.conf
10-mtrack.conf	  10-mtrack.conf.b1

10-mtrack.conf

# https://github.com/p2rkw/xf86-input-mtrack
# https://williambharding.com/blog/technology/toward-a-linux-touchpad-as-smooth-as-macbook-pro/
Section "InputClass"
    MatchIsTouchpad "on"
    Identifier "Touchpads"
    MatchDevicePath "/dev/input/event*"
    Driver "mtrack"
    # Sensitivity controls how fast your cursor will move. 1 is the default
    Option "Sensitivity" "1.1"
    Option "FingerHigh" "5"
    Option "FingerLow" "5"
    Option "IgnoreThumb" "true"
    Option "ThumbRatio" "70"
    Option "ThumbSize" "25"
    Option "IgnorePalm" "true"
    # This ignores tap-to-click, which causes more problems than benefit in my experience
    Option "TapButton1" "0"
    Option "TapButton2" "0"
    Option "TapButton3" "0"
    # If you want a middle-click, then "ClickFinger2" should be value "2"
    Option "ClickFinger1" "1"
    Option "ClickFinger2" "1"
    Option "ClickFinger3" "3"
    Option "ButtonMoveEmulate" "true"
    Option "ButtonIntegrated" "true"
    Option "ButtonEnable" "true"
    # "ButtonZonesEnable" means that your trackpad gets divided into three equal sections, where clicking any third of the touchpad sends the click code in "ClickFingerX". Since I didn't want middle-click, the left two thirds of my touchpad are left click, and the right third is right click:
    Option "ButtonZonesEnable" "true"
    Option "ClickTime" "25"
    # Ensures that bottom 5% of touchpad doesn't register taps
    Option "EdgeBottomSize" "5"
    Option "SwipeLeftButton" "8"
    Option "SwipeRightButton" "9"
    Option "SwipeUpButton" "0"
    Option "SwipeDownButton" "0"
    Option "SwipeDistance" "700"
    # ScrollCoast makes touchpad feel a bit more Mac-like, although it coasts in chunks and isn't relative to speed at which two finger scroll was happening
    Option "ScrollCoastDuration" "600"
    Option "ScrollCoastEnableSpeed" "0.05"
    # ScrollUpButton 4 and ScrollUpButton 5 sets up Macbook-like natural scroll. If you want to scroll down by swiping your fingers down, set ScrollUpButton to 4 and ScrollDownButton to 5
    Option "ScrollUpButton" "4"
    Option "ScrollDownButton" "5"
    Option "ScrollLeftButton" "7"
    Option "ScrollRightButton" "6"
    # Without this option set to a high value, there are types of click+hold-and-move functionality (most easily reproed by click and then move up-right) that get ignored
    Option "Hold1Move1StationaryMaxMove" "1000"
    # Smaller ScrollDistance translates to faster scrolling. ScrollDistance of 10 scrolls a long page in one swipe.
    Option "ScrollDistance" "22"
    Option "ScrollClickTime" "12"
    Option "ScrollSensitivity" "0"
EndSection
@scarint
Copy link
Author

scarint commented Feb 6, 2019

After further testing, it seems to behave better if I don't leave remmina running, though it does start acting up after resuming from suspension, first with jerky movement, then not responding to movement at all, but clicks still register.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant