Я пытаюсь выяснить, как настроить сенсорный экран для моего Samsung ATIV 6. Я использую Kubuntu 13.04. Это Amtel maXTouch Digitzer
. Он распознает прикосновения, но это только одиночные щелчки. Кроме того, когда у меня подключен внешний монитор, он считает, что сенсорный экран охватывает оба экрана.
Я нашел много вещей, которые были предназначены для сенсорных экранов Wacom, но ничего для Amtel. Я очень новичок в Linux, и даже не знаю, с чего начать поиск за пределами неудачных поисков Google Я нашел этот результат, но У меня нет файлов, упомянутых в этом .
Вот выходные данные xinput list
:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Unifying Device. Wireless PID:200a id=10 [slave pointer (2)]
⎜ ↳ Logitech Unifying Device. Wireless PID:1028 id=11 [slave pointer (2)]
⎜ ↳ Atmel Atmel maXTouch Digitizer id=13 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=15 [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)]
↳ WebCam SC-10HDP12631N id=12 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
Обновление 11 августа 2013:
Я хочу уточнить, мой самый большой вопрос - как заставить работать сенсорный экран правильно с и внешний монитор прилагается. Если я касаюсь правой стороны сенсорного экрана, курсор думает, что я действительно касаюсь внешнего монитора. В основном я хочу знать, как заставить систему знать, что сенсорный экран не подключен к внешнему монитору, когда он подключен.
Это вывод команд, запрошенных ниже:
lsinput
/dev/input/event0
bustype : BUS_HOST
vendor : 0x0
product : 0x5
version : 0
name : "Lid Switch"
phys : "PNP0C0D/button/input0"
bits ev : EV_SYN EV_SW
/dev/input/event1
bustype : BUS_HOST
vendor : 0x0
product : 0x1
version : 0
name : "Power Button"
phys : "PNP0C0C/button/input0"
bits ev : EV_SYN EV_KEY
/dev/input/event2
bustype : BUS_HOST
vendor : 0x0
product : 0x1
version : 0
name : "Power Button"
phys : "LNXPWRBN/button/input0"
bits ev : EV_SYN EV_KEY
/dev/input/event3
bustype : BUS_I8042
vendor : 0x1
product : 0x1
version : 43841
name : "AT Translated Set 2 keyboard"
phys : "isa0060/serio0/input0"
bits ev : EV_SYN EV_KEY EV_MSC EV_LED EV_REP
/dev/input/event4
bustype : BUS_USB
vendor : 0x46d
product : 0xc52b
version : 273
name : "Logitech Unifying Device. Wirele"
phys : "usb-0000:00:1a.0-1.2:2"
uniq : ""
bits ev : EV_SYN EV_KEY EV_REL EV_ABS EV_MSC EV_LED EV_REP
/dev/input/event5
bustype : BUS_USB
vendor : 0x46d
product : 0xc52b
version : 273
name : "Logitech Unifying Device. Wirele"
phys : "usb-0000:00:1a.0-1.2:3"
uniq : ""
bits ev : EV_SYN EV_KEY EV_REL EV_MSC
/dev/input/event6
bustype : BUS_HOST
vendor : 0x0
product : 0x6
version : 0
name : "Video Bus"
phys : "LNXVIDEO/video/input0"
bits ev : EV_SYN EV_KEY
/dev/input/event7
bustype : BUS_HOST
vendor : 0x0
product : 0x6
version : 0
name : "Video Bus"
phys : "LNXVIDEO/video/input0"
bits ev : EV_SYN EV_KEY
/dev/input/event8
bustype : BUS_USB
vendor : 0x3eb
product : 0x8816
version : 273
name : "Atmel Atmel maXTouch Digitizer"
phys : "usb-0000:00:1a.0-1.5/input0"
uniq : ""
bits ev : EV_SYN EV_KEY EV_ABS
/dev/input/event9
bustype : (null)
vendor : 0x0
product : 0x0
version : 0
name : "HDA Intel PCH HDMI/DP,pcm=3"
phys : "ALSA"
bits ev : EV_SYN EV_SW
/dev/input/event10
bustype : (null)
vendor : 0x0
product : 0x0
version : 0
name : "HDA Intel PCH Mic"
phys : "ALSA"
bits ev : EV_SYN EV_SW
/dev/input/event11
bustype : (null)
vendor : 0x0
product : 0x0
version : 0
name : "HDA Intel PCH Headphone"
phys : "ALSA"
bits ev : EV_SYN EV_SW
/dev/input/event12
bustype : BUS_I8042
vendor : 0x2
product : 0xe
version : 0
name : "ETPS/2 Elantech Touchpad"
phys : "isa0060/serio1/input0"
bits ev : EV_SYN EV_KEY EV_ABS
/dev/input/event13
bustype : BUS_USB
vendor : 0x2232
product : 0x1045
version : 89
name : "WebCam SC-10HDP12631N"
phys : "usb-0000:00:1a.0-1.4/button"
bits ev : EV_SYN EV_KEY
evtest /dev/input/event8
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x3eb product 0x8816 version 0x111
Input device name: "Atmel Atmel maXTouch Digitizer"
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 3355
Min 0
Max 4095
Resolution 12
Event code 1 (ABS_Y)
Value 1550
Min 0
Max 4095
Resolution 21
Event code 47 (ABS_MT_SLOT)
Value 0
Min 0
Max 15
Event code 48 (ABS_MT_TOUCH_MAJOR)
Value 0
Min 0
Max 255
Resolution 10
Event code 49 (ABS_MT_TOUCH_MINOR)
Value 0
Min 0
Max 255
Resolution 10
Event code 52 (ABS_MT_ORIENTATION)
Value 0
Min 0
Max 1
Event code 53 (ABS_MT_POSITION_X)
Value 0
Min 0
Max 4095
Resolution 12
Event code 54 (ABS_MT_POSITION_Y)
Value 0
Min 0
Max 4095
Resolution 21
Event code 57 (ABS_MT_TRACKING_ID)
Value 0
Min 0
Max 65535
Event code 60 (?)
Value 0
Min 0
Max 4095
Resolution 12
Event code 61 (?)
Value 0
Min 0
Max 4095
Resolution 21
Properties:
Property type 1 (INPUT_PROP_DIRECT)
Вот некоторые примеры данных когда я касаюсь экрана evtest
:
Одно касание:
Event: time 1376299024.902314, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 23
Event: time 1376299024.902314, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 292
Event: time 1376299024.902314, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 1678
Event: time 1376299024.902314, type 3 (EV_ABS), code 60 (?), value 292
Event: time 1376299024.902314, type 3 (EV_ABS), code 61 (?), value 1678
Event: time 1376299024.902314, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1376299024.902314, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1376299024.902314, type 3 (EV_ABS), code 0 (ABS_X), value 292
Event: time 1376299024.902314, type 3 (EV_ABS), code 1 (ABS_Y), value 1678
Event: time 1376299024.902314, -------------- SYN_REPORT ------------
Event: time 1376299024.959259, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1376299024.959259, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1376299024.959259, -------------- SYN_REPORT ------------
Два пальца:
Event: time 1376299060.941027, -------------- SYN_REPORT ------------
Event: time 1376299065.006084, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 25
Event: time 1376299065.006084, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 409
Event: time 1376299065.006084, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 1227
Event: time 1376299065.006084, type 3 (EV_ABS), code 60 (?), value 409
Event: time 1376299065.006084, type 3 (EV_ABS), code 61 (?), value 1227
Event: time 1376299065.006084, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1376299065.006084, type 3 (EV_ABS), code 0 (ABS_X), value 409
Event: time 1376299065.006084, type 3 (EV_ABS), code 1 (ABS_Y), value 1227
Event: time 1376299065.006084, -------------- SYN_REPORT ------------
Event: time 1376299065.043034, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 1
Event: time 1376299065.043034, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 26
Event: time 1376299065.043034, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 457
Event: time 1376299065.043034, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 2799
Event: time 1376299065.043034, type 3 (EV_ABS), code 60 (?), value 457
Event: time 1376299065.043034, type 3 (EV_ABS), code 61 (?), value 2799
Event: time 1376299065.043034, -------------- SYN_REPORT ------------
Event: time 1376299065.114060, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 0
Event: time 1376299065.114060, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1376299065.114060, type 3 (EV_ABS), code 0 (ABS_X), value 457
Event: time 1376299065.114060, type 3 (EV_ABS), code 1 (ABS_Y), value 2799
Event: time 1376299065.114060, -------------- SYN_REPORT ------------
Event: time 1376299065.122075, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 1
Event: time 1376299065.122075, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1376299065.122075, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1376299065.122075, -------------- SYN_REPORT ------------
Я узнаю, как правильно сопоставить правильный сенсорный экран с экраном, используя:
xinput map-to-output <device> <output name>
Чтобы найти идентификатор устройства, используйте
xinput list
и найти экран. имя, используйте
xrandr
Мне просто нужно выяснить, как автоматически запускать это при подключении внешнего монитора. Вы также можете сделать небольшой скрипт, чтобы получить правильный идентификатор устройства и запустить команду.
Что касается проблемы с щелчком, я думаю, что мультитач признан для меня, я могу использовать 3 пальца для изменения размера и перемещения окон, но даже один щелчок иногда не работает для меня. Я нажимаю, чтобы щелкнуть, но он ведет себя так, как будто я только что переместил курсор, а не нажал. Странно, но иногда такое случается, и я не знаю, что заставляет его начинать и останавливаться.
(найдено решение на https://wiki.archlinux.org/index.php/Touchscreen )
Во-первых, убедитесь, что у вас есть аппаратные требования для поддержки нескольких касаний.
Я не уверен, для чего вы хотите использовать сенсорный экран, но в Ubuntu не так много приложений, которые действительно поддерживают протокол Xinput2.2 multi-touch .
Итак, давайте включим сенсорный экран.
lsinput
Вам, вероятно, придется скачать его, как только вы это сделаете, вы сможете произвести вывод всего вашего общего события ввода устройства, обеспечивающие ввод через слой evdev. Получите этот вывод и запишите местоположение вашего сенсорного устройства Atmel
sudo lsinput
evtest
evtest позволяет нам проверять, какие события ваше устройство помещает в слой evdev , Вам также придется скачать этот файл и запустить его на том устройстве, которое вы записали ранее
evtest /dev/input/eventxx
В результате этого вы узнаете, какие события вы создаете с помощью мультитач. Для настоящего мультитач вы хотите создавать такие события, как:
ABS_MT_TRACKING_ID
ABS_MT_POSITION_X
ABS_MT_POSITION_Y
Это ваши настоящие мультитач события, если вы их не видите, то вы не сможете запускать Ubuntu Multi- сенсорные приложения.
Если вы видите следующие события, вы, вероятно, имитируете только движения мыши.
ABS_X
ABS_Y
Приложения MultiTouch
В Ubuntu есть только несколько приложений, которые поддерживают мультитач. Я не собираюсь объяснять, как их настраивать и запускать, но я дам вам имена некоторых фреймворков для дальнейшего исследования.
Kivy - поддерживает мультитач на уровне evdev. Фреймворк приложений Python со многими примерами приложений и игр
Qt - Фреймворк для разработки больших приложений, имеет ограниченную поддержку жестов, но позволяет разрабатывать богатые сенсорные интерфейсы.
libAVG - на самом деле он не использовался, но есть подборка отличных примеров приложений, с которыми можно работать и играть.
Редактировать: Вещи могут не работать безупречно, как и ожидалось, но эти инструменты помогут выявить проблему. Отправьте обратно выходные данные любой из этих команд, и я помогу интерпретировать их