LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 11-13-2023, 12:23 AM   #1
hedron
Member
 
Registered: Jul 2009
Location: NYC
Distribution: Slackware64-multilib 15.0, SARPI, artix
Posts: 401

Rep: Reputation: 32
natural (reverse) scrolling


I've tried 100 ways with xorg.conf, but none of them worked.

Code:
Section "InputDevice" 
    # generated from default 
    Identifier     "Mouse0" 
    Driver         "mouse" 
#       Driver  "libinput" 
#       Option  "Device"        "/dev/input/event19" 
#       Option  "NaturalScrolling"      "true" 
#    Option         "Protocol" "auto" 
#    Option         "Device" "/dev/psaux" 
#    Option         "Emulate3Buttons" "no" 
#    Option     "MatchIsTouchpad"       "false" 
#    Option         "ZAxisMapping" "5 4" 
EndSection
I've tried xmodmap, but that only works with some programs.

I'm in fluxbox. The only way I've found is with plasma's system settings, but I don't want to have to open that everytime I load linux. I just want it to boot up and be configured the way I want it.
 
Old 11-13-2023, 01:09 AM   #2
0XBF
Member
 
Registered: Nov 2018
Distribution: Slackware
Posts: 768

Rep: Reputation: 867Reputation: 867Reputation: 867Reputation: 867Reputation: 867Reputation: 867Reputation: 867
On my laptop there are two drivers available for the touchpad: "libinput" and "synaptics". By default it uses the synaptics driver which doesn't have natural scrolling. Using "xinput list-props" on the touchpad's id will either show "libinput" or "synaptics" in-front of all the touchpad properties if you want a way to check which driver is in use and/or what properties are available.

libinput provides natural scrolling. To use libinput instead, you can copy the example 40-libinput.conf file from /usr/share/X11/xorg.conf.d/40-libinput.conf to /etc/X11/xorg.conf.d/ and edit it there. You have the options in your post, but commented. Here's what I'm using (also added "tap to click"):
Code:
Section "InputClass"
  Identifier "libinput touchpad catchall"
  MatchIsTouchpad "on"
  MatchDevicePath "/dev/input/event*"
  Driver "libinput"
  Option "NaturalScrolling" "true"
  Option "Tapping" "on"
That works after a restart of the Xorg session.

Last edited by 0XBF; 11-13-2023 at 01:23 AM.
 
1 members found this post helpful.
Old 11-13-2023, 02:04 AM   #3
hedron
Member
 
Registered: Jul 2009
Location: NYC
Distribution: Slackware64-multilib 15.0, SARPI, artix
Posts: 401

Original Poster
Rep: Reputation: 32
Thanks, but that doesn't seem to work. I have a "regular" wired logitech mouse. 502 SE, if that matters.

The closest I've gotten is evdev, but that just shut off the wheel altogether. BUt hey! Something changed!
 
Old 11-13-2023, 11:24 AM   #4
0XBF
Member
 
Registered: Nov 2018
Distribution: Slackware
Posts: 768

Rep: Reputation: 867Reputation: 867Reputation: 867Reputation: 867Reputation: 867Reputation: 867Reputation: 867
If you're using the libinput driver then you should still be able to turn on natural scrolling for a mouse with a scroll wheel.

E.g. I just plugged in my mouse, which shows up as the "Lenovo USB Optical Mouse" in xinput:
Code:
$ xinput
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ PixArt Lenovo USB Optical Mouse         	id=10	[slave  pointer  (2)]
⎜   ↳ DLL0704:01 06CB:76AE Mouse              	id=12	[slave  pointer  (2)]
⎜   ↳ DLL0704:01 06CB:76AE Touchpad           	id=13	[slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad              	id=17	[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)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Power Button                            	id=8	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=9	[slave  keyboard (3)]
    ↳ Integrated_Webcam_HD: Integrate         	id=11	[slave  keyboard (3)]
    ↳ Intel HID events                        	id=14	[slave  keyboard (3)]
    ↳ Dell WMI hotkeys                        	id=15	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=16	[slave  keyboard (3)]
I'm using the 40-libinput.conf config so that libinput is used as the driver. I see this when I list the available properties of the mouse with xinput:
Code:
$ xinput list-props 10
Device 'PixArt Lenovo USB Optical Mouse':
	Device Enabled (185):	1
	Coordinate Transformation Matrix (187):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Natural Scrolling Enabled (315):	1
	libinput Natural Scrolling Enabled Default (316):	0
	libinput Scroll Methods Available (317):	0, 0, 1
	libinput Scroll Method Enabled (318):	0, 0, 0
	libinput Scroll Method Enabled Default (319):	0, 0, 0
	libinput Button Scrolling Button (320):	2
	libinput Button Scrolling Button Default (321):	2
	libinput Button Scrolling Button Lock Enabled (322):	0
	libinput Button Scrolling Button Lock Enabled Default (323):	0
	libinput Middle Emulation Enabled (324):	0
	libinput Middle Emulation Enabled Default (325):	0
	libinput Rotation Angle (298):	0.000000
	libinput Rotation Angle Default (299):	0.000000
	libinput Accel Speed (326):	0.000000
	libinput Accel Speed Default (327):	0.000000
	libinput Accel Profiles Available (328):	1, 1, 1
	libinput Accel Profile Enabled (329):	1, 0, 0
	libinput Accel Profile Enabled Default (330):	1, 0, 0
	libinput Accel Custom Fallback Points (331):	<no items>
	libinput Accel Custom Fallback Step (332):	0.000000
	libinput Accel Custom Motion Points (333):	<no items>
	libinput Accel Custom Motion Step (334):	0.000000
	libinput Accel Custom Scroll Points (335):	<no items>
	libinput Accel Custom Scroll Step (336):	0.000000
	libinput Left Handed Enabled (337):	0
	libinput Left Handed Enabled Default (338):	0
	libinput Send Events Modes Available (300):	1, 0
	libinput Send Events Mode Enabled (301):	0, 0
	libinput Send Events Mode Enabled Default (302):	0, 0
	Device Node (303):	"/dev/input/event16"
	Device Product ID (304):	6127, 24717
	libinput Drag Lock Buttons (339):	<no items>
	libinput Horizontal Scroll Enabled (340):	1
	libinput Scrolling Pixel Distance (341):	15
	libinput Scrolling Pixel Distance Default (342):	15
	libinput High Resolution Wheel Scroll Enabled (343):	1
You can see libinput providing the properties, and that natural scrolling is enabled (i.e. the scroll wheel is reversed).

This is enabled via my /etc/X11/xorg.conf.d/40-libinput.conf file:
Code:
$ cat /etc/X11/xorg.conf.d/40-libinput.conf
# Match on all types of devices but joysticks
#
# If you want to configure your devices, do not copy this file.
# Instead, use a config snippet that contains something like this:
#
# Section "InputClass"
#   Identifier "something or other"
#   MatchDriver "libinput"
#
#   MatchIsTouchpad "on"
#   ... other Match directives ...
#   Option "someoption" "value"
# EndSection
#
# This applies the option any libinput device also matched by the other
# directives. See the xorg.conf(5) man page for more info on
# matching devices.

Section "InputClass"
        Identifier "libinput pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "NaturalScrolling" "true"
EndSection

Section "InputClass"
        Identifier "libinput keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "NaturalScrolling" "true"
        Option "Tapping" "on"
EndSection

Section "InputClass"
        Identifier "libinput touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput tablet catchall"
        MatchIsTablet "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection
I'm not sure what else to say about it. If you're using libinput as the driver for the mouse, you should be able to set natural scrolling via an xorg conf file.
 
2 members found this post helpful.
Old 11-13-2023, 12:24 PM   #5
hedron
Member
 
Registered: Jul 2009
Location: NYC
Distribution: Slackware64-multilib 15.0, SARPI, artix
Posts: 401

Original Poster
Rep: Reputation: 32
oic...you had to make an inputclsss section. I had just stuck it in the inputdevice section.

Code:
section "inputdevice"
    # generated from default
    identifier     "mouse0"

#    driver         "mouse"
#
	driver	"libinput"
endsection

section	"inputclass"
	identifier	"libinput pointer catchall"
	matchispointer	"on"
	matchdevicepath	"/dev/input/event*"
	driver	"libinput"
	option	"naturalscrolling"	"true"
endsection

Last edited by hedron; 11-13-2023 at 12:25 PM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Natural/Reverse Scrolling not working properly in some programs on KDE Dunked0n Linux - Software 1 03-01-2020 07:27 PM
Inconsistent behavior for Mouse Natural Scrolling Tuishimi antiX / MX Linux 23 10-17-2019 07:03 PM
[SOLVED] Proper way to get natural scrolling and double finger right click. 8JhN Debian 3 01-13-2018 10:48 AM
LXer: How to disable natural scrolling in Pear Linux LXer Syndicated Linux News 0 10-28-2012 03:31 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 08:15 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration