Modèle à écran tactile Elo:
- Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch (r)
Description du problème:
- Mon problème + les autres problèmes avec cela, c'est que lorsque je touche (survole) l'écran tactile, le curseur de la souris ne suit pas mon mouvement (doigt / tactile). Lorsque vous appuyez sur le curseur, appuyez (cliquez) au mauvais endroit.
Mon objectif est de le réparer, afin que l'emplacement de la presse soit exact.
A essayé
Après les tentatives que j'ai faites mais pas de chance.
1) État de la requête / de l'appareil
--
udi = '/org/freedesktop/Hal/devices/usb_device_4e7_20_20B23159_if0_logicaldev_input'
button.has_state = false (bool)
info.addons.singleton = {'hald-addon-input'} (string list)
info.capabilities = {'input', 'button', 'input.mouse'} (string list)
info.category = 'input' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_4e7_20_20B23159_if0' (string)
info.product = 'Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface' (string)
info.subsystem = 'input' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_4e7_20_20B23159_if0_logicaldev_input' (string)
input.device = '/dev/input/event11' (string)
input.originating_device = '/org/freedesktop/Hal/devices/usb_device_4e7_20_20B23159_if0' (string)
input.product = 'Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface' (string)
input.x11_driver = 'evdev' (string)
linux.device_file = '/dev/input/event11' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'input' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0/input/input11/event11' (string)
2) Ajoutez un nouveau fichier
$ vim /etc/X11/xorg.conf.d/elo.conf
Section "InputDevice"
Identifier "touchscreen1"
Driver "elographics"
Option "Device" "/dev/ttyS0"
Option "MinX" "470"
Option "MaxX" "3670"
Option "MinY" "600"
Option "MaxY" "3550"
Option "ScreenNumber" "0"
Option "ReportingMode" "Scaled"
Option "ButtonThreshold" "17"
Option "ButtonNumber" "1"
Option "SendCoreEvents"
EndSection
3) Déconnectez-vous pour redémarrer le X
4) Le résultat est toujours le même, rien n'a été amélioré.
J'apprécie vos conseils à ce sujet.
Suivre:
$ cat /proc/bus/input/devices
I: Bus=0003 Vendor=04e7 Product=0020 Version=0100
N: Name="Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface"
P: Phys=usb-0000:00:1d.1-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/input/input6
U: Uniq=20B23159
H: Handlers=mouse1 event6 js0
B: PROP=0
B: EV=1b
B: KEY=10000 0 0 0 0 0 0 0 0
B: ABS=100 3
B: MSC=10
$ cat /dev/input/event6
$ xinput_calibrator -v --device 14 --precalib 0 1024 0 768 --output-type xinput
DEBUG: XInputExtension version is 2.0
DEBUG: Skipping virtual master devices and devices without axis valuators.
DEBUG: Selected device: Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface
DEBUG: Setting precalibration: 0, 1024, 0, 768
DEBUG: Not usbtouchscreen calibrator: Not a usbtouchscreen device
DEBUG: Read axes swap value of 0.
Calibrating EVDEV driver for "Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface" id=14
current calibration values (from XInput): min_x=0, max_x=4095 and min_y=0, max_y=4095
DEBUG: Adding click 0 (X=1908, Y=731)
; ; Résolu! section ;
$ yum search xinput; install xinput
$ xinput --help
usage :
xinput get-feedbacks <device name>
xinput set-ptr-feedback <device name> <threshold> <num> <denom>
xinput set-integer-feedback <device name> <feedback id> <value>
xinput get-button-map <device name>
xinput set-button-map <device name> <map button 1> [<map button 2> [...]]
xinput set-pointer <device name> [<x index> <y index>]
xinput set-mode <device name> ABSOLUTE|RELATIVE
xinput list [--short || --long] [<device name>...]
xinput query-state <device name>
xinput test [-proximity] <device name>
xinput create-master <id> [<sendCore (dflt:1)>] [<enable (dflt:1)>]
xinput remove-master <id> [Floating|AttachToMaster (dflt:Floating)] [<returnPointer>] [<returnKeyboard>]
xinput reattach <id> <master>
xinput float <id>
xinput set-cp <window> <device>
xinput test-xi2 <device>
xinput list-props <device> [<device> ...]
xinput set-int-prop <device> <property> <format (8, 16, 32)> <val> [<val> ...]
xinput set-float-prop <device> <property> <val> [<val> ...]
xinput set-atom-prop <device> <property> <val> [<val> ...]
xinput watch-props <device>
xinput delete-prop <device> <property>
xinput set-prop <device> [--type=atom|float|int] [--format=8|16|32] <property> <val> [<val> ...]
; Hey how do i use xinput for query my stuffs?
$ xinput list
^
|_______________ Show me what i got! for <input source> to my local
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Broadcom Corp id=10 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [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)]
↳ Broadcom Corp id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
⎡ main pointer id=15 [master pointer (16)]
⎜ ↳ Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface id=14 [slave pointer (15)]
⎜ ↳ main XTEST pointer id=17 [slave pointer (15)]
⎣ main keyboard id=16 [master keyboard (15)]
↳ main XTEST keyboard id=18 [slave keyboard (16)]
$ xinput get-feedbacks 14
1 feedback class
PtrFeedbackClass id=0
accelNum is 2
accelDenom is 1
threshold is 4
$ xinput watch-props 14
Device 'Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface':
Device Enabled (150): 1
Coordinate Transformation Matrix (152): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (272): 0
Device Accel Constant Deceleration (273): 1.000000
Device Accel Adaptive Deceleration (274): 1.000000
Device Accel Velocity Scaling (275): 10.000000
Device Product ID (269): 1255, 32
Device Node (270): "/dev/input/event11"
Evdev Axis Inversion (276): 0, 0
Evdev Axis Calibration (277): -4000, 4093, -100, 4089
Evdev Axes Swap (278): 0
Axis Labels (279): "Abs X" (369), "Abs Y" (370), "Abs Misc" (580)
Button Labels (280): "Button Left" (153), "Button Unknown" (271), "Button Unknown" (271), "Button Wheel Up" (156), "Button Wheel Down" (157)
Evdev Middle Button Emulation (281): 0
Evdev Middle Button Timeout (282): 50
Evdev Wheel Emulation (283): 0
Evdev Wheel Emulation Axes (284): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (285): 10
Evdev Wheel Emulation Timeout (286): 200
Evdev Wheel Emulation Button (287): 4
Evdev Drag Lock Buttons (288): 0
$ xinput query-state 14
2 classes :
ButtonClass
button[1]=up
button[2]=up
button[3]=up
button[4]=up
button[5]=up
ValuatorClass Mode=Absolute Proximity=In
valuator[0]=3018
valuator[1]=3226
valuator[2]=0
$ xinput test 14
motion a[0]=2940 a[1]=1717 a[2]=158
motion a[0]=2940 a[1]=1717 a[2]=201
button release 1 a[0]=2938 a[1]=1719 a[2]=0
^C
; Hey, how do i apply now settings to my local using xinput??
$ xinput set-pointer <device name> [<x index> <y index>]
^
|___this does not work anymore in latest kernels
report a bug it wasted my time
$ xinput set-int-prop "Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface" "Evdev Axis Calibration" 32 -4000 4093 -100 4089
Maintenant, mon écran droit a une résolution de 1024x768 et l'écran gauche de l'ordinateur portable aussi, en utilisant la déclaration ci-dessus, le curseur de la souris s'adapte bien. Si j'ai différentes résolutions, je dois bien sûr le régler.
xinput
liste * des prédicats dit ...?