J'essaie de comprendre comment configurer l'écran tactile de mon Samsung ATIV 6. J'utilise Kubuntu 13.04. C'est un Amtel maXTouch Digitzer
. Il reconnaît le toucher, mais ne fait que des clics simples. De plus, lorsque mon moniteur externe est connecté, cela signifie que l’écran tactile couvre les deux écrans.
J'ai trouvé beaucoup de choses qui étaient destinées aux écrans tactiles Wacom, mais rien pour Amtel. Je suis très nouveau sur Linux, et je ne sais même pas par où commencer, au-delà des recherches Google échouées. J'ai trouvé ce résultat, mais je n'ai pas les fichiers que celui-ci mentionne .
Voici le résultat de 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)]
Mise à jour du 11 août 2013:
Je tiens à préciser, ma plus grande question est de savoir comment faire fonctionner l'écran tactile avec un moniteur externe connecté. Si je touche le côté droit de l'écran tactile, le curseur pense que je touche réellement le moniteur externe. Je veux surtout savoir comment faire savoir au système que l’écran tactile n’est pas étendu au moniteur externe lorsqu’il est branché.
Voici le résultat des commandes demandées ci-dessous:
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)
Voici quelques exemples de données lorsque je touche l'écran avec evtest
:
Touche unique:
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 ------------
Deux doigts:
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 ------------
Je découvre comment mapper correctement l'écran tactile sur l'écran en utilisant:
xinput map-to-output <device> <output name>
Pour trouver l'identifiant du périphérique, utilisez
xinput list
et pour trouver le nom d’écran, utilisez
xrandr
Je dois juste trouver comment déclencher cela automatiquement lorsque le moniteur externe est connecté. Vous pouvez également créer un petit script pour obtenir le bon identifiant de périphérique et exécuter la commande.
Pour le problème des clics, je pense que le multi-touch est reconnu pour moi, je peux utiliser 3 doigts pour redimensionner et déplacer des fenêtres, mais même un simple clic ne fonctionne parfois pas pour moi. Je tape pour cliquer, mais il se comporte comme je viens de déplacer le curseur, pas réellement cliqué. Étrangement, cela se produit parfois et je ne sais pas ce qui le fait démarrer ou arrêter.
(Trouvé la solution sur https://wiki.archlinux.org/index.php/Touchscreen )
Tout d’abord, assurez-vous que votre matériel prétend prendre en charge plusieurs touches.
Je ne suis pas sûr de ce que vous voulez utiliser l'écran tactile, mais dans Ubuntu, peu d'applications prennent en charge protocole multi-touch Xinput2.2 .
Permet donc de faire fonctionner l'écran tactile.
lsinput
Vous devrez probablement télécharger celui-ci. Une fois que vous aurez terminé, vous serez en mesure de produire une sortie de tous vos périphériques d'événements d'entrée génériques fournissant une entrée via la couche evdev. Obtenez cette sortie et notez l'emplacement de votre appareil tactile Atmel
Sudo lsinput
evtest
evtest nous permet de vérifier quels événements votre appareil envoie dans la couche evdev. Vous devrez également télécharger celui-ci, puis l'exécuter sur l'emplacement de l'appareil que vous avez noté précédemment.
evtest /dev/input/eventxx
La sortie de ceci vous indiquera le type d’événements que vous créez en multi-touch. Pour créer de véritables contacts multiples, vous souhaitez créer des événements tels que:
ABS_MT_TRACKING_ID
ABS_MT_POSITION_X
ABS_MT_POSITION_Y
Ce sont vos véritables événements multi-touch. Si vous ne les voyez pas, vous ne pourrez pas exécuter les applications Ubuntu Multi-touch.
si vous voyez les événements suivants, vous ne faites probablement que simuler les mouvements de la souris.
ABS_X
ABS_Y
Applications MultiTouch
Il n’existe qu’une poignée d’applications prenant en charge le multi-touch dans Ubuntu. Je ne vais pas expliquer comment les configurer et les exécuter, mais je vais vous donner le nom de certains cadres sur lesquels effectuer davantage de recherches.
Kivy - Prend en charge le multi-touch sur la couche evdev. Un framework d'application Python avec de nombreux exemples d'applications et de jeux
Qt - Un cadre de développement d'applications volumineux, prenant en charge les gestes de manière limitée, permettant le développement d'interfaces tactiles riches.
libAVG - Je n'ai pas vraiment utilisé celui-ci, mais vous avez une sélection d'excellents exemples d'applications avec lesquelles vous pouvez courir et jouer.
edit: Les choses peuvent ne pas fonctionner correctement, c’est prévu, mais ces outils aideront à identifier le problème. Poster la sortie de l'une de ces commandes et je vais aider à les interpréter