Настройка цифрового планшета Atmel MaxTouch на Samsung ATIV 6

Я пытаюсь выяснить, как настроить сенсорный экран для моего 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 ------------
2
задан 12 August 2013 в 13:20

2 ответа

Я узнаю, как правильно сопоставить правильный сенсорный экран с экраном, используя:

xinput map-to-output <device> <output name>

Чтобы найти идентификатор устройства, используйте

xinput list

и найти экран. имя, используйте

xrandr

Мне просто нужно выяснить, как автоматически запускать это при подключении внешнего монитора. Вы также можете сделать небольшой скрипт, чтобы получить правильный идентификатор устройства и запустить команду.

Что касается проблемы с щелчком, я думаю, что мультитач признан для меня, я могу использовать 3 пальца для изменения размера и перемещения окон, но даже один щелчок иногда не работает для меня. Я нажимаю, чтобы щелкнуть, но он ведет себя так, как будто я только что переместил курсор, а не нажал. Странно, но иногда такое случается, и я не знаю, что заставляет его начинать и останавливаться.

(найдено решение на https://wiki.archlinux.org/index.php/Touchscreen )

0
ответ дан 12 August 2013 в 13:20

Во-первых, убедитесь, что у вас есть аппаратные требования для поддержки нескольких касаний.

Я не уверен, для чего вы хотите использовать сенсорный экран, но в 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 - на самом деле он не использовался, но есть подборка отличных примеров приложений, с которыми можно работать и играть.

Редактировать: Вещи могут не работать безупречно, как и ожидалось, но эти инструменты помогут выявить проблему. Отправьте обратно выходные данные любой из этих команд, и я помогу интерпретировать их

0
ответ дан 12 August 2013 в 13:20

Другие вопросы по тегам:

Похожие вопросы: