Mẫu màn hình cảm ứng Elo:
- Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch (r)
Mô tả vấn đề:
- Vấn đề của tôi + vấn đề khác với điều này là, khi tôi chạm vào (di chuột qua) màn hình cảm ứng, con trỏ chuột không theo chuyển động (ngón tay / chạm) của tôi. Khi nhấn, nhấn con trỏ (bấm) ở vị trí sai.
Mục tiêu của tôi là sửa nó, để vị trí báo chí là chính xác.
Đã thử
Sau những nỗ lực tôi đã làm nhưng không có may mắn.
1) Trạng thái truy vấn / thiết bị
--
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) Thêm một tập tin mới
$ 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) Đăng xuất để khởi động lại X
4) Kết quả vẫn như cũ không có gì được cải thiện.
Tôi đánh giá cao lời khuyên của bạn, về điều này.
Theo sát:
$ 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)
; ; Đã giải quyết! phần ;
$ 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
Bây giờ, màn hình bên phải của tôi có độ phân giải 1024x768 và màn hình máy tính xách tay bên trái cũng vậy, sử dụng tuyên bố trên, con trỏ chuột rất phù hợp. Nếu tôi có độ phân giải khác nhau, tôi cần hoàn thiện nó.
xinput
danh sách * vị nói ...?