1

Some of the entries of xinput are strange

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SYNA7501:00 06CB:12B8 Pen                 id=11   [slave  pointer  (2)]
⎜   ↳ SYNA7501:00 06CB:12B8                     id=12   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=16   [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)]
    ↳ Video Bus                                 id=8    [slave  keyboard (3)]
    ↳ Power Button                              id=9    [slave  keyboard (3)]
    ↳ HP Truevision HD                          id=10   [slave  keyboard (3)]
    ↳ Intel Virtual Button driver               id=13   [slave  keyboard (3)]
    ↳ Intel Virtual Button driver               id=14   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=15   [slave  keyboard (3)]
    ↳ HP WMI hotkeys                            id=17   [slave  keyboard (3)]
    ↳ HP Wireless hotkeys                       id=18   [slave  keyboard (3)]

things like Virtual core XTEST pointer or the two SYNA7501:00 06CB:12B8

Where can I find the documentation for these entries? Which one would be the touch screen for example?

...I tried the parameter list-props but it's not very helpful. In fact it outputs things that I also want to find documentation for.

For example; xinput list-props 11:

Device 'SYNA7501:00 06CB:12B8 Pen':
    Device Enabled (137):   1
    Coordinate Transformation Matrix (139): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (263): 0
    Device Accel Constant Deceleration (264):   1.000000
    Device Accel Adaptive Deceleration (265):   1.000000
    Device Accel Velocity Scaling (266):    10.000000
    Device Product ID (255):    1739, 4792
    Device Node (256):  "/dev/input/event12"
    Evdev Axis Inversion (267): 0, 0
    Evdev Axis Calibration (268):   <no items>
    Evdev Axes Swap (269):  0
    Axis Labels (270):  "Abs X" (260), "Abs Y" (261), "Abs Pressure" (262)
    Button Labels (271):    "Button 0" (259), "Button Unknown" (258), "Button Unknown" (258), "Button Wheel Up" (143), "Button Wheel Down" (144)
    Evdev Scrolling Distance (272): 0, 0, 0
    Evdev Middle Button Emulation (273):    0
    Evdev Middle Button Timeout (274):  50
    Evdev Third Button Emulation (275): 0
    Evdev Third Button Emulation Timeout (276): 1000
    Evdev Third Button Emulation Button (277):  3
    Evdev Third Button Emulation Threshold (278):   20
    Evdev Wheel Emulation (279):    0
    Evdev Wheel Emulation Axes (280):   0, 0, 4, 5
    Evdev Wheel Emulation Inertia (281):    10
    Evdev Wheel Emulation Timeout (282):    200
    Evdev Wheel Emulation Button (283): 4
    Evdev Drag Lock Buttons (284):  0

I want to be able to control those parameters.

model for these outputs is "HP ENVY x360 - 15-w107ne"

842Mono
  • 9,790
  • 28
  • 90
  • 153

1 Answers1

1

SYNA7501:00 06CB:12B8 , along with the Pen layer, is your touchscreen.

From https://www.x.org/wiki/XOrgInputDriverSpec/#index3h2:

Virtual core devices are always available, but produce no independent events. All events come from extension devices. This is an excellent fit to a server that supports multiple core devices and device hot-plugging. With the recent integration of MPX, multiple virtual core devices may exist. They are also referred to as master devices.

Essentially, the Virtual Core Pointer/Keyboard can be delegated by software and hardware to perform certain tasks, like capturing your mouse, or enabling multiple mouse cursors.

As for changing the parameters, use this command:

xinput set-prop <device-id> <param-id> <values>

Note that values depend on the parameter. For example, flipping the the X-axis/Y-axis would need two values- 0 0 results in no inversion, 0 1 results in Y-axis inversion- the first value for the X-axis, and the second value for the Y-axis.

Edit, Documentation:

Evdev Man Page: ftp://www.x.org/pub/X11R7.5/doc/man/man4/evdev.4.html

negusp
  • 2,821
  • 1
    thanks a lot! Is there some page with full documentation about those parameters? I want to tweak many things. I think if I find that documentation I can solve this, this and this! I tried looking in x.org – 842Mono Oct 30 '16 at 01:27
  • @MinaMichael Answer edited. Unfortunately, I think that detecting the angle of the hinge is sensor-dependent- I recommend using a "swipe-from-edge" onscreen keyboard. As for the touchpad, well, it doesn't disable like the keyboard does for me, so I think that's still a recurring flaw. Switched to i3wm so none of this is a problem for me anymore :p – negusp Oct 30 '16 at 01:42
  • it's okay with disabling the keyboard and the touchpad. I made a script for them. xinput disable <number> once for keyboard and once for touchpad and it works. But I have to run it manually. I want to automate it depending on the value of the hinge angle. ...so what do you mean "the angle of the hinge is sensor-dependant"? I think I should find it in xinput since it's an input device in the end. – 842Mono Oct 30 '16 at 02:04
  • What device? Admittedly, I'm relatively interested in this myself as I would like to see if I could get Unity 8 working in all its glory. Move the conversation to chat: http://chat.stackexchange.com/rooms/47667/identifying-the-entries-of-xinput – negusp Oct 30 '16 at 02:16