NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

xsrc/45594: xinput(1) is incomprehensible



>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
>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.



Home | Main Index | Thread Index | Old Index