remapping XInput axes
Tamas Papp
tkpapp at gmail.com
Fri Oct 21 05:45:06 PDT 2011
Hi,
I just purchased an Intellipen Pro digital pen. It shows up fine in
xinput list:
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Microsoft Microsoft® Nano Transceiver v2.0 id=12 [slave pointer (2)]
⎜ ↳ Microsoft Microsoft® Nano Transceiver v2.0 id=13 [slave pointer (2)]
⎜ ↳ DualPoint Stick id=16 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS DualPoint TouchPad id=17 [slave pointer (2)]
⎜ ↳ Dell BT Keyboard id=20 [slave pointer (2)]
⎜ ↳ EPOS EPOS Pen Digitizer. id=21 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ HID 413c:8157 id=9 [slave keyboard (3)]
↳ Integrated_Webcam_2M id=10 [slave keyboard (3)]
↳ Microsoft Microsoft® Nano Transceiver v2.0 id=11 [slave keyboard (3)]
↳ HID 046a:0011 id=14 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=15 [slave keyboard (3)]
↳ Dell WMI hotkeys id=18 [slave keyboard (3)]
↳ ACPI Virtual Keyboard Device id=19 [slave keyboard (3)]
and button events are detected, but the cursor doesn't move. xinput
test reveals that the X and Y axes are a[2] and a[3]:
$ xinput test 21 # (excerpt)
motion a[0]=1130 a[1]=525 a[2]=946 a[3]=0 a[4]=0 a[5]=0
motion a[6]=0 a[7]=0 a[8]=0 a[9]=0 a[10]=0 a[11]=0
motion a[12]=0
button press 1
motion a[0]=1130 a[1]=525 a[2]=1002 a[3]=92 a[4]=0 a[5]=0
motion a[6]=0 a[7]=0 a[8]=0 a[9]=0 a[10]=0 a[11]=0
motion a[12]=0
motion a[0]=1130 a[1]=525 a[2]=1012 a[3]=92 a[4]=0 a[5]=0
motion a[6]=0 a[7]=0 a[8]=0 a[9]=0 a[10]=0 a[11]=0
motion a[12]=0
motion a[0]=1130 a[1]=525 a[2]=1021 a[3]=92 a[4]=0 a[5]=0
motion a[6]=0 a[7]=0 a[8]=0 a[9]=0 a[10]=0 a[11]=0
motion a[12]=0
motion a[0]=1130 a[1]=525 a[2]=1031 a[3]=90 a[4]=0 a[5]=0
motion a[6]=0 a[7]=0 a[8]=0 a[9]=0 a[10]=0 a[11]=0
motion a[12]=0
motion a[0]=1130 a[1]=525 a[2]=1042 a[3]=90 a[4]=0 a[5]=0
motion a[6]=0 a[7]=0 a[8]=0 a[9]=0 a[10]=0 a[11]=0
motion a[12]=0
motion a[0]=1130 a[1]=525 a[2]=1052 a[3]=89 a[4]=0 a[5]=0
motion a[6]=0 a[7]=0 a[8]=0 a[9]=0 a[10]=0 a[11]=0
motion a[12]=0
motion a[0]=1130 a[1]=525 a[2]=1062 a[3]=86 a[4]=0 a[5]=0
motion a[6]=0 a[7]=0 a[8]=0 a[9]=0 a[10]=0 a[11]=0
motion a[12]=0
motion a[0]=1130 a[1]=525 a[2]=1072 a[3]=85 a[4]=0 a[5]=0
motion a[6]=0 a[7]=0 a[8]=0 a[9]=0 a[10]=0 a[11]=0
motion a[12]=0
Is there a way I could remap these to the appropriate axes so that the
cursor would move on the screen? Sorry if this is a dumb question, I
know very little about Xinput internals. xorg.conf or command line
snippets or documentation on how to do this would be appreciated. I
tried xinput set-prop but couldn't figure it out.
I attach the output of xinput list-props and xinput list --long for
this device.
Best,
Tamas
-------------- next part --------------
Device 'EPOS EPOS Pen Digitizer.':
Device Enabled (132): 1
Coordinate Transformation Matrix (134): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (257): 0
Device Accel Constant Deceleration (258): 1.000000
Device Accel Adaptive Deceleration (259): 1.000000
Device Accel Velocity Scaling (260): 10.000000
Evdev Axis Inversion (261): 0, 0
Evdev Axis Calibration (262): <no items>
Evdev Axes Swap (263): 0
Axis Labels (264): "Abs X" (254), "Abs Y" (255), "Abs Z" (275), "Abs Rotary X" (276), "Abs Pressure" (485), "Abs Misc" (285), "Abs Misc" (285), "Abs Misc" (285), "Abs Misc" (285), "Abs Misc" (285), "Abs Misc" (285), "Abs Misc" (285), "Abs Misc" (285)
Button Labels (266): "Button Left" (135), "Button Middle" (136), "Button Right" (137), "Button Wheel Up" (138), "Button Wheel Down" (139), "Button Horiz Wheel Left" (140), "Button Horiz Wheel Right" (141), "Button 3" (725), "Button 4" (726)
Evdev Middle Button Emulation (267): 0
Evdev Middle Button Timeout (268): 50
Evdev Wheel Emulation (269): 0
Evdev Wheel Emulation Axes (270): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (271): 10
Evdev Wheel Emulation Timeout (272): 200
Evdev Wheel Emulation Button (273): 4
Evdev Drag Lock Buttons (274): 0
-------------- next part --------------
⎜ ↳ EPOS EPOS Pen Digitizer. id=21 [slave pointer (2)]
Reporting 14 classes:
Class originated from: 21
Buttons supported: 9
Button labels: Button Left Button Middle Button Right Button Wheel Up Button Wheel Down Button Horiz Wheel Left Button Horiz Wheel Right Button 3 Button 4
Button state:
Class originated from: 21
Detail for Valuator 0:
Label: Abs X
Range: 0.000000 - 1920.000000
Resolution: 10000 units/m
Mode: absolute
Current value: 1130.000000
Class originated from: 21
Detail for Valuator 1:
Label: Abs Y
Range: 0.000000 - 1920.000000
Resolution: 10000 units/m
Mode: absolute
Current value: 525.000000
Class originated from: 21
Detail for Valuator 2:
Label: Abs Z
Range: 0.000000 - 1920.000000
Resolution: 10000 units/m
Mode: absolute
Current value: 630.000000
Class originated from: 21
Detail for Valuator 3:
Label: Abs Rotary X
Range: 0.000000 - 1920.000000
Resolution: 10000 units/m
Mode: absolute
Current value: 338.000000
Class originated from: 21
Detail for Valuator 4:
Label: Abs Pressure
Range: 0.000000 - 1024.000000
Resolution: 10000 units/m
Mode: absolute
Current value: 0.000000
Class originated from: 21
Detail for Valuator 5:
Label: Abs Misc
Range: 0.000000 - 255.000000
Resolution: 10000 units/m
Mode: absolute
Current value: 0.000000
Class originated from: 21
Detail for Valuator 6:
Label: Abs Misc
Range: 0.000000 - 255.000000
Resolution: 10000 units/m
Mode: absolute
Current value: 0.000000
Class originated from: 21
Detail for Valuator 7:
Label: Abs Misc
Range: 0.000000 - 255.000000
Resolution: 10000 units/m
Mode: absolute
Current value: 0.000000
Class originated from: 21
Detail for Valuator 8:
Label: Abs Misc
Range: 0.000000 - 255.000000
Resolution: 10000 units/m
Mode: absolute
Current value: 0.000000
Class originated from: 21
Detail for Valuator 9:
Label: Abs Misc
Range: 0.000000 - 255.000000
Resolution: 10000 units/m
Mode: absolute
Current value: 0.000000
Class originated from: 21
Detail for Valuator 10:
Label: Abs Misc
Range: 0.000000 - 255.000000
Resolution: 10000 units/m
Mode: absolute
Current value: 0.000000
Class originated from: 21
Detail for Valuator 11:
Label: Abs Misc
Range: 0.000000 - 255.000000
Resolution: 10000 units/m
Mode: absolute
Current value: 0.000000
Class originated from: 21
Detail for Valuator 12:
Label: Abs Misc
Range: 0.000000 - 255.000000
Resolution: 10000 units/m
Mode: absolute
Current value: 0.000000
More information about the xorg
mailing list