Я подключил сенсорный экран 3M к компьютеру Linux. Похоже, он распознает его как мышь. Вот мой xinput вывод: xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech USB Optical Mouse id=13 [slave pointer (2)]
⎜ ↳ 3M 3M USB Touchscreen - 36955 id=12 [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)]
↳ Logitech USB Keyboard id=10 [slave keyboard (3)]
↳ Logitech USB Keyboard id=11 [slave keyboard (3)]
↳ HP WMI hotkeys id=14 [slave keyboard (3)
После того, как # modprobe -r usbtouchscreen касающееся устройство перестает работать.
В Windows 7 он работает после установки драйвера с этого сайта, поэтому я также попытался установить Linux-драйвер отсюда (Linux, Single Touch, 64 бит). Я думаю, что процесс установки завершился неудачно, так как он прерывается сразу после принятия лицензии (с кодом выхода 0).
Я тестирую свой сенсорный экран с на этом сайте (также работает на Windows, работа в Ubuntu). Отладка показывает, что вход мультитач генерирует события мыши.
Я использую Ubuntu 16.04 с ядром 4.10.0-35-generic и пробовал среды Unity и Cinnamon. Мне нужна эта работа для программирования.
EDIT:
Выход некоторых диагностических инструментов:
# lsinput
...some other devices...
/dev/input/event12
bustype : BUS_USB
vendor : 0x596
product : 0x1
version : 1088
name : "3M 3M USB Touchscreen - 36955"
phys : "usb-0000:00:14.0-3/input0"
bits ev : EV_SYN EV_KEY EV_ABS
# mtdev-test /dev/input/event12
015ee1f66c7c 00 1 014a 1
015ee1f66c7c 00 3 0000 12183
015ee1f66c7c 00 3 0001 7962
015ee1f66c7c 00 0 0000 0
015ee1f66c80 00 3 0000 12193
... etc ...
EDIT:
$ xinput list-props 12
Device '3M 3M USB Touchscreen - 36955':
Device Enabled (143): 1
Coordinate Transformation Matrix (145): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (268): 0
Device Accel Constant Deceleration (269): 1.000000
Device Accel Adaptive Deceleration (270): 1.000000
Device Accel Velocity Scaling (271): 10.000000
Device Product ID (262): 1430, 1
Device Node (263): "/dev/input/event12"
Evdev Axis Inversion (272): 0, 0
Evdev Axis Calibration (273):
Evdev Axes Swap (274): 0
Axis Labels (275): "Abs X" (266), "Abs Y" (267)
Button Labels (276): "Button Unknown" (265), "Button Unknown" (265), "Button Unknown" (265), "Button Wheel Up" (149), "Button Wheel Down" (150)
Evdev Scrolling Distance (277): 0, 0, 0
Evdev Middle Button Emulation (278): 0
Evdev Middle Button Timeout (279): 50
Evdev Third Button Emulation (280): 0
Evdev Third Button Emulation Timeout (281): 1000
Evdev Third Button Emulation Button (282): 3
Evdev Third Button Emulation Threshold (283): 20
Evdev Wheel Emulation (284): 0
Evdev Wheel Emulation Axes (285): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (286): 10
Evdev Wheel Emulation Timeout (287): 200
Evdev Wheel Emulation Button (288): 4
Evdev Drag Lock Buttons (289): 0
И evtest:
sudo evtest /dev/input/event12
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x596 product 0x1 version 0x440
Input device name: "3M 3M USB Touchscreen - 36955"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 330 (BTN_TOUCH)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 6684
Min 0
Max 16384
Event code 1 (ABS_Y)
Value 6185
Min 0
Max 16384
Properties:
Testing ... (interrupt to exit)
Event: time 1507280785.112401, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1507280785.112401, type 3 (EV_ABS), code 0 (ABS_X), value 5971
Event: time 1507280785.112401, type 3 (EV_ABS), code 1 (ABS_Y), value 6240
Event: time 1507280785.112401, -------------- SYN_REPORT ------------
Event: time 1507280785.116364, type 3 (EV_ABS), code 0 (ABS_X), value 5953
Event: time 1507280785.116364, -------------- SYN_REPORT ------------
Event: time 1507280785.118359, type 3 (EV_ABS), code 0 (ABS_X), value 5968
Event: time 1507280785.118359, -------------- SYN_REPORT ------------
# ...........
Event: time 1507280785.156333, -------------- SYN_REPORT ------------
Event: time 1507280785.158356, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1507280785.158356, -------------- SYN_REPORT ------------
Вам нужно будет установить новое ядро, чтобы проверить, есть ли у него прошивка для него. Прежде всего, проверьте, что является текущим ядром в вашей системе, с помощью команды
uname -a
Вы можете вручную установить ядро 4.13 в качестве его текущего стабильного.
Шаг 1: Продолжить к ядру ubuntu 4.13
Шаг 2. На основе вашего uname -a убедитесь, что ваша система / os arch, Если это был X86_64, то это был 64-разрядный, если это был X86, тогда его 32-битный .
Шаг 3. Создайте папку где-нибудь в вашей системе, называя ее 4.13, вы также можете использовать команду
mkdir 4.13
Шаг 4: Войдите в каталог 4.13, теперь выберите файлы на основе вашей арки
Если его 64 бита выбирают это, то есть X86_64:
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.13/linux-headers-4.13.0-041300-generic_4.13.0-041300.201709031731_amd64 .deb
Если его 32 бита aka X86 затем выберите это:
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.13/linux-headers -4.13.0-041300_4.13.0-041300.201709031731_all.deb
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.13/linux-image-4.13.0- 041300-generic_4.13.0-041300.201709031731_i386.deb
Вы можете сохранить любой список в текстовом файле, например, «kernel_files.list». Теперь в терминале используйте wget для загрузки этих файлов.
wget -i kernel_files.list
Это будет загружать весь список с помощью wget.
Шаг 5: Теперь приступайте к установке их
sudo dpkg -i *.deb
Это приведет к установке всех трех компонентов ядра вместе, наконец, вы увидите, что все ядра скомпилированы.
Шаг 6: Перезагрузите вашу систему, чтобы использовать новое ядро
reboot
Шаг 7: проверьте установку нового ядра, выполнив команду
uname -a
. Теперь проверьте правильность работы сенсорного экрана.
Проверьте, является ли система получая входы через него с помощью
dmesg
Если он все еще не работает, установите
make,gcc,g++,build-utils
, выполнив команду
sudo apt install make gcc g++ build-utils
, а затем установите (! d36)
Примечание # 1: Если вы не уверены в установке нового ядра вручную, вы можете использовать ukuu вместо этого,
Для установки ukuu
sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install ukuu
Затем запустите ukuu и установите ядро 4.13 с помощью ukuu dashboard.
Примечание # 2: вы всегда можете sw возвратитесь к предыдущему ядру, выпустив C во время загрузки вашего компьютера на основе Ubuntu.
Примечание # 3.
Примечание # 4: используйте сенсорное перо, так как оно было бы более точным, чем ваш палец.
Не пытайтесь использовать ваш сенсорный экран и экран без пыли, масла и грязи и т. Д.Примечание # 5: ядро 4.14 находится под тестированием, поэтому не устанавливайте это
Вам нужно будет установить новое ядро, чтобы проверить, есть ли у него прошивка для него. Прежде всего, проверьте, что является текущим ядром в вашей системе, с помощью команды
uname -a
Вы можете вручную установить ядро 4.13 в качестве его текущего стабильного.
Шаг 1: Продолжить к ядру ubuntu 4.13
Шаг 2. На основе вашего uname -a убедитесь, что ваша система / os arch, Если это был X86_64, то это был 64-разрядный, если это был X86, тогда его 32-битный .
Шаг 3. Создайте папку где-нибудь в вашей системе, называя ее 4.13, вы также можете использовать команду
mkdir 4.13
Шаг 4: Войдите в каталог 4.13, теперь выберите файлы на основе вашей арки
Если его 64 бита выбирают это, то есть X86_64:
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.13/linux-headers-4.13.0-041300-generic_4.13.0-041300.201709031731_amd64 .deb
Если его 32 бита aka X86 затем выберите это:
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.13/linux-headers -4.13.0-041300_4.13.0-041300.201709031731_all.deb
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.13/linux-image-4.13.0- 041300-generic_4.13.0-041300.201709031731_i386.deb
Вы можете сохранить любой список в текстовом файле, например, «kernel_files.list». Теперь в терминале используйте wget для загрузки этих файлов.
wget -i kernel_files.list
Это будет загружать весь список с помощью wget.
Шаг 5: Теперь приступайте к установке их
sudo dpkg -i *.deb
Это приведет к установке всех трех компонентов ядра вместе, наконец, вы увидите, что все ядра скомпилированы.
Шаг 6: Перезагрузите вашу систему, чтобы использовать новое ядро
reboot
Шаг 7: проверьте установку нового ядра, выполнив команду
uname -a
. Теперь проверьте правильность работы сенсорного экрана.
Проверьте, является ли система получая входы через него с помощью
dmesg
Если он все еще не работает, установите
make,gcc,g++,build-utils
, выполнив команду
sudo apt install make gcc g++ build-utils
, а затем установите (! d36)
Примечание # 1: Если вы не уверены в установке нового ядра вручную, вы можете использовать ukuu вместо этого,
Для установки ukuu
sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install ukuu
Затем запустите ukuu и установите ядро 4.13 с помощью ukuu dashboard.
Примечание # 2: вы всегда можете sw возвратитесь к предыдущему ядру, выпустив C во время загрузки вашего компьютера на основе Ubuntu.
Примечание # 3.
Примечание # 4: используйте сенсорное перо, так как оно было бы более точным, чем ваш палец.
Не пытайтесь использовать ваш сенсорный экран и экран без пыли, масла и грязи и т. Д.Примечание # 5: ядро 4.14 находится под тестированием, поэтому не устанавливайте это