NetBSD Problem Report #45594
From dholland@macaran.localdomain Thu Nov 10 02:34:11 2011
Return-Path: <dholland@macaran.localdomain>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by www.NetBSD.org (Postfix) with ESMTP id 8A2F163D461
for <gnats-bugs@gnats.NetBSD.org>; Thu, 10 Nov 2011 02:34:11 +0000 (UTC)
Message-Id: <20111110023429.F0E616E1B0@macaran.localdomain>
Date: Wed, 9 Nov 2011 21:34:29 -0500 (EST)
From: dholland@eecs.harvard.edu
Reply-To: dholland@eecs.harvard.edu
To: gnats-bugs@gnats.NetBSD.org
Subject: xinput(1) is incomprehensible
X-Send-Pr-Version: 3.95
>Number: 45594
>Category: xsrc
>Synopsis: xinput(1) is incomprehensible
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: xsrc-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Nov 10 02:35:00 +0000 2011
>Last-Modified: Sun Oct 27 07:10:00 +0000 2013
>Originator: David A. Holland
>Release: NetBSD 5.99.55 (20110806)
>Organization:
>Environment:
System: NetBSD valkyrie 5.99.55 NetBSD 5.99.55 (VALKYRIE) #3: Sat Oct 15 05:49:55 EDT 2011 dholland@valkyrie:/usr/src/sys/arch/amd64/compile/VALKYRIE amd64
Architecture: x86_64
Machine: amd64
>Description:
xinput(1) is incomprhensible, both the man page and the program itself.
The man page says
xinput is a utility to list available input devices, query information
about a device and change input device settings.
and then proceeds to list a bunch of options for querying information
about devices, but says nothing at all about what (if anything) that
information means or how to do anything productive with it.
Experimenting with the program does not offer much enlightment. For
example:
valkyrie% xinput --list
"Virtual core pointer" id=2 [XPointer]
"Virtual core keyboard" id=3 [XKeyboard]
"Virtual core XTEST pointer" id=4 [XExtensionPointer]
"Virtual core XTEST keyboard" id=5 [XExtensionKeyboard]
"<default pointer>" id=6 [XExtensionPointer]
"<default keyboard>" id=7 [XExtensionKeyboard]
valkyrie% xinput --list-props 6
Device '<default pointer>':
Device Enabled (128): 1
Coordinate Transformation Matrix (130): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (238): 0
Device Accel Constant Deceleration (239): 1.000000
Device Accel Adaptive Deceleration (240): 1.000000
Device Accel Velocity Scaling (241): 10.000000
valkyrie% xinput --list-props 4
Device 'Virtual core XTEST pointer':
Device Enabled (128): 1
Coordinate Transformation Matrix (130): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
XTEST Device (237): 1
valkyrie% xinput --list-props 2
X Error of failed request: XI_BadDevice (invalid Device parameter)
Major opcode of failed request: 141 (XInputExtension)
Minor opcode of failed request: 3 (X_OpenDevice)
Device id in failed request: 0x17
Serial number of failed request: 16
Current serial number in output stream: 16
Exit 1
valkyrie%
...so there are three pointers and three keyboards (note: in hardware
I have exactly one of each) with slightly different available
"properties"... except that one of them doesn't really exist or
something.
And, while I can guess what "Coordinate Transformation Matrix" might
be for, and "Device Accel Adaptive Deceleration" obviously has
*something* to do with mouse speed (although I'm not sure I want to
know what "Accel Deceleration" is) and I can guess from the man page
how to set these things to different values... there's nothing to even
begin to indicate what will happen if I do. Or which of these "devices"
is the one to address.
Then, this is perhaps even better:
valkyrie% xinput --query-state 6
2 classes :
ButtonClass
button[1]=up
button[2]=up
button[3]=up
button[4]=up
button[5]=up
button[6]=up
button[7]=up
button[8]=up
button[9]=up
ValuatorClass Mode=Relative Proximity=In
valuator[0]=1344
valuator[1]=639
valkyrie% xinput --query-state 4
2 classes :
ButtonClass
button[1]=up
button[2]=up
button[3]=up
button[4]=up
button[5]=up
button[6]=up
button[7]=up
button[8]=up
button[9]=up
button[10]=up
ValuatorClass Mode=Relative Proximity=In
valuator[0]=960
valuator[1]=600
valkyrie% xinput --query-state 2
unable to find device 2
Exit 1
valkyrie%
Great. A "Valuator", whatever that is, and the two devices that work
are showing different values. Maybe it's the mouse pointer position.
(Judging from the buttons, it looks like device 6 might have some
correspondence to physical reality, and I guess device 4 is for event
injection with XTest? And who knows what device 2 is about...
There are other options to xinput(1) that retrieve other information,
or set other things, and little or none of it makes any more sense
than the above.
>How-To-Repeat:
Try to figure out how to adjust mouse speed.
>Fix:
I dunno. rm(1) is tempting.
>Audit-Trail:
From: Matthew Mondor <mm_lists@pulsar-zone.net>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: xsrc/45594: xinput(1) is incomprehensible
Date: Thu, 10 Nov 2011 07:12:22 -0500
On Thu, 10 Nov 2011 02:35:00 +0000 (UTC)
dholland@eecs.harvard.edu wrote:
> xinput(1) is incomprhensible, both the man page and the program itself.
> >How-To-Repeat:
>
> Try to figure out how to adjust mouse speed.
>
> >Fix:
>
> I dunno. rm(1) is tempting.
Can xset(1)'s mouse option meanwhile allow to tune the mouse
acceleration?
Perhaps that you only took this case as an exemple though; xset has
limited controls...
I have no opinion as to improve or remove it though; I personally never
used xinput(1), I think.
--
Matt
From: David Holland <dholland-bugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: xsrc/45594: xinput(1) is incomprehensible
Date: Thu, 17 Nov 2011 01:59:12 +0000
On Thu, Nov 10, 2011 at 12:15:04PM +0000, Matthew Mondor wrote:
> > Try to figure out how to adjust mouse speed.
>
> Can xset(1)'s mouse option meanwhile allow to tune the mouse
> acceleration?
Probably. I was trying to figure out how to explain the vastly
different mouse speeds on two machines I have, and why the speed
changed when I switched from pkgsrc to native X. Everything seems to
have the same xset mouse settings by default.
--
David A. Holland
dholland@netbsd.org
From: "S.P.Zeidler" <spz@NetBSD.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: xsrc/45594: xinput(1) is incomprehensible
Date: Sun, 27 Oct 2013 07:05:49 +0000
The purpose of xinput(1) is basically to change settings from xorg.conf
regarding input devices in the running X server.
Knowledge of the XInput API definitely helps to understand what it does.
xinput is of lesser importance on NetBSD since we tend to use wsmouse
and wskbd, which hide input device additions and removals etc from
the X server.
A few examples on how it does get used are at:
https://wiki.ubuntu.com/X/Config/Input
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.