Slackware This Forum is for the discussion of Slackware Linux.
|
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
10-10-2013, 02:50 PM
|
#1
|
Member
Registered: Jan 2009
Distribution: Slackware 14.1
Posts: 333
Rep:
|
xorg.conf.d, evdev and Emulate3Buttons
Hi all, I'm struggling to get X to enable the Emulate3Buttons option with my work laptop, and the switch to multiple config files in xorg.conf.d is complicating things for me.
So, the laptop actually has 2 integrated pointing devices: a trackpoint with 3 buttons, and a touchpad with 2 buttons.
I generally use an external usb trackball that has 2 buttons.
I've had no problem getting this to work in the past, with a single xorg.conf file, but it looks like the file I created in xorg.conf.d isn't getting loaded. I have another file in there for my keyboard layout, which *does* get loaded, so there is some reason this file is being ignored.
It may be related to evdev, as apparently config for input devices is generally ignored if hotplugging is enabled.
Anyway, my Xorg.0.log is attached and relevant xorg.conf is pasted below. I've tried a few different things with the conf, this represents my most recent attempt. Any suggestions would be appreciated. I'm sick of having to reach over to the middle button on the laptop when I need to copy/paste from my terminal to my browser.
Thanks!
Code:
Section "InputDevice"
Identifier "Mice"
Driver "evdev"
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons" "True"
EndSection
|
|
|
10-10-2013, 03:00 PM
|
#2
|
LQ Addict
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,333
Rep: 
|
Hi mattca,
Please attach all your config files in next post and indicate their locations, to help understand what happens. Also, do they all end in .conf (even though you could have to use extension .txt to attach them)? This is mandatory.
|
|
|
10-10-2013, 03:08 PM
|
#3
|
Member
Registered: Jan 2009
Distribution: Slackware 14.1
Posts: 333
Original Poster
Rep:
|
Here they are. Note that I've never been able to get the synaptics stuff to work either, but gave up on it for now. The touchpad works in general, but scrolling via the right hand side doesn't.
/etc/X11/xorg.conf.d/20-mouse.conf
Code:
Section "InputDevice"
Identifier "Mice"
Driver "evdev"
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons" "True"
EndSection
/etc/X11/xorg.conf.d/50-synaptics.conf
Code:
# DO NOT EDIT THIS FILE - IT WILL BE OVERWRITTEN ON UPGRADES
# Copy this file to /etc/X11/xorg.conf.d/ and edit the copy
#
# Use "synclient -l" to see all available options
# Use "man synaptics" for details about what the options do
#
Section "InputClass"
Identifier "touchpad"
Driver "synaptics"
MatchDevicePath "/dev/input/event*"
MatchIsTouchpad "on"
Option "TapButton1" "1"
Option "TapButton2" "2"
Option "TapButton3" "3"
EndSection
/etc/X11/xorg.conf.d/90-keyboard-layout.conf
Code:
Section "InputClass"
Identifier "keyboard-all"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "XkbLayout" "us"
Option "XkbVariant" "dvp"
Option "XkbOptions" "terminate:ctrl_alt_bksp,ctrl:nocaps"
EndSection
# READ THIS FOR CUSTOM KEYBOARD INFORMATION
#
# If you want to add a custom model/layout/variant to X, you will need to COPY
# this file to /etc/X11/xorg.conf.d/ and edit that copy. After editing it to
# suit, you will need to restart X.
#
# Here's an example of the lines from above:
#
# Section "InputClass"
# Identifier "keyboard-all"
# MatchIsKeyboard "on"
# MatchDevicePath "/dev/input/event*"
# Driver "evdev"
# Option "XkbLayout" "us"
# Option "XkbVariant" "intl"
# Option "XkbOptions" "compose:rwin,terminate:ctrl_alt_bksp"
# EndSection
#
# Many desktop environments, including KDE and Xfce, have their own methods to
# configure keyboard layouts and such if you'd like to use them.
#
# If you prefer to use the "old" way of configuring keyboards (without input
# device hotplugging), then you'll need to add the following lines to the
# ServerFlags section of /etc/X11/xorg.conf:
# Option "AllowEmptyInput" "false"
# Option "AutoAddDevices" "false"
# Option "AutoEnableDevices" "false"
# Alternatively, you can break this up into separate "stubs" in the xorg.conf.d/
# directory, but that's your call. Assuming you elect to keep a monolithic
# /etc/X11/xorg.conf file, you can now edit the Keyboard section as usual.
|
|
|
10-10-2013, 03:31 PM
|
#4
|
LQ Addict
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,333
Rep: 
|
"man evdev" tells:
Code:
Option "Device" "string"
Specifies the device through which the device can be accessed. This will generally be of the form
"/dev/input/eventX", where X is some integer. The mapping from device node to hardware is system-depen‐
dent. Property: "Device Node" (read-only).
so I'm not sure that what follows is correct:
Code:
Option "Device" "/dev/input/mice"
Also, "man xorg.conf" doesn't mention a line beginning with "Driver" in the section InputClass. Maybe you could try an entry beginning with MatchDriver there instead?
|
|
|
10-11-2013, 12:46 PM
|
#5
|
Member
Registered: Jan 2009
Distribution: Slackware 14.1
Posts: 333
Original Poster
Rep:
|
Thanks for the suggestions. I tried using /dev/input/event17 (what Xorg.0.log reports for my trackball) instead of /dev/input/mice, but got the same result.
Also, my mouse config doesn't use InputClass, it uses InputDriver. Should it be using InputClass instead?
I think the bigger issue is that I don't see any evidence in Xorg.0.log that my mouse config file is being loaded. It seems to detect and auto-configure the trackball, and ignore my config.
|
|
|
10-11-2013, 05:02 PM
|
#6
|
Member
Registered: Oct 2005
Location: Sweden
Distribution: lackware and alpine
Posts: 137
Rep: 
|
Quote:
Originally Posted by mattca
I think the bigger issue is that I don't see any evidence in Xorg.0.log that my mouse config file is being loaded. It seems to detect and auto-configure the trackball, and ignore my config.
|
(Sorry for the rant. TL;DR:
It is still possible to use a single file xorg.conf, with the same old sections, as long as you set either of the serverflags AutoAddDevices or AutoEnableDevices to false, e.g. add 'Option "AutoAddDevices" "False"' to your ServerFlags section.
)
To quote your own (or, rather Patrick's) /etc/X11/xorg.conf.d/90-keyboard-layout.conf:
Quote:
# If you prefer to use the "old" way of configuring keyboards (without input
# device hotplugging), then you'll need to add the following lines to the
# ServerFlags section of /etc/X11/xorg.conf:
# Option "AllowEmptyInput" "false"
# Option "AutoAddDevices" "false"
# Option "AutoEnableDevices" "false"
# Alternatively, you can break this up into separate "stubs" in the xorg.conf.d/
# directory, but that's your call. Assuming you elect to keep a monolithic
# /etc/X11/xorg.conf file, you can now edit the Keyboard section as usual.
|
You'll need to explicitly disallow auto-detection of input devices, otherwise Xorg will ignore your settings.
Altough, that's not the full story. Accoring to the changelog of xorg-server, AllowEmptyInput has since been renamed to forceInputDevices (where apparently ForceInputDevices should be set to "True", rather than "False", to not ignore the input sections of the config file(s)).
Quote:
commit fa50670c32637faff6bb91f1206a0e3c17a9bada
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Nov 12 11:48:08 2010 +1000
xfree86: rename allowEmptyInput to forceInputDevices.
This is a more accurate name for the actual functionality than
allowEmptyInput. Historically, allowEmptyInput has allowed the server to
start with no input devices. Since 1.4 and the introduction of VCP and VCK,
there are always two input devices present.
allowEmptyInput was changed in behaviour to essentially "ignore xorg.conf
devices or not", auto-adding the built-in devices if disabled.
Rename to forceInputDevices, because that's essentially what it does. When
disabled (i.e. when hotplugging is enabled), it disables all
mouse/kbd/vmmouse devices configured in the xorg.conf file.
When enabled, it forces the traditional behaviour for input devices:
- use input devices configured in the server layout
- if none are configured, use the first pointer and the first keyboard
device in the xorg.conf
- if none are configured, create the default pointer/keyboard devices.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
|
(Se also: changelog entries of Nov. 9th, when user configurable AllowEmptyInput was removed to "Protect the users from themselves.")
From reading the source code of xorg-server (as of slackware-14.0), it seems to be sufficient to set either AutoAddDevices or AutoEnableDevices to false, in the ServerFlags section (which will probaby have to be created, since they sould be superfluous with all these fancy lots-of-small-files-in-conf.d-directory). (And adding a line such as: 'InputDevice "touchpad" "CorePointer"' to the ServerLayout section shouldn't hurt.)
To get all input devices working with autoadddevices set to false, you would have to create config files with the "old style" configuration, i.e. InputDevice rather than InputClass. But if you've still got an old full xorg.conf that did what you wanted, it should be possible to use those InputDevice sections, with the serverflag AutoAddDevices = false.
Otherwise you should probably convert the mouse config to an InputClass, with proper Match* options. With regards to the synaptics touchpad, I'd agree with Didier Spaier, that it probably should be MatchDriver. But, it looks like you're using the default config file that ships with slackware, so I guess others would have reported a similar problem, if thats the actual error.
Last edited by e5150; 10-11-2013 at 06:38 PM.
|
|
|
All times are GMT -5. The time now is 04:26 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|