J'ai branché un écran tactile 3M à mon PC Linux. Il apparaît comme il le reconnaît comme une souris. Voici ma sortie 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)
Après # modprobe -r usbtouchscreen
, l'appareil tactile cesse de fonctionner.
Sous Windows 7, cela fonctionne après l’installation du pilote à partir de ce site , alors j’ai également essayé d’installer le pilote Linux à partir d’ici (Linux, Single Touch, 64 bits). Je pense que le processus d'installation échoue car il s'interrompt immédiatement après avoir accepté la licence (avec 0 code de sortie).
Je teste mon écran tactile avec exemple de Qt FingerPaint (fonctionne également sous Windows, ne fonctionne pas sous Ubuntu). Le débogage montre que la saisie multipoint génère des événements de souris.
J'utilise Ubuntu 16.04 avec le noyau 4.10.0-35-generic et j'ai essayé les environnements Unity et Cinnamon. J'ai besoin que cela fonctionne à des fins de programmation.
EDIT:
Quelques outils de diagnostic en sortie:
# 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): <no items>
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
Et 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 ------------
Vous devrez installer un nouveau noyau pour vérifier si le nouveau possède un microprogramme. Tout d’abord, vérifiez quel est le noyau actuel de votre système en utilisant la commande
uname -a
Vous pouvez installer manuellement le noyau 4.13 en tant que noyau stable actuel.
Étape 1: Passez à noyau Ubuntu 4.1
Étape 2: Sur la base de votre sortie uname -a, assurez-vous que votre système/os Arch est, s’il s’agissait de X86_64, c’est un 64 bits, s’il s’agissait d’un X86, puis de 32 bits.
Étape 3: Créez un dossier quelque part dans votre système en le nommant 4.13, vous pouvez également utiliser la commande
mkdir 4.13
Étape 4: Entrez dans le répertoire 4.13, sélectionnez maintenant les fichiers en fonction de votre Arch
Si ses 64 bits choisissent celui-ci, c'est-à-dire X86_64:
Si ses 32 bits aka X86 alors choisissez ceci:
Vous pouvez enregistrer la liste dans un fichier texte, par exemple "kernel_files.list". Maintenant, dans le terminal, utilisez wget pour télécharger ces fichiers.
wget -i kernel_files.list
Cela téléchargera la liste complète en utilisant wget.
Étape 5: Procédez maintenant à leur installation.
Sudo dpkg -i *.deb
Cela installera tous les 3 composants du noyau ensemble, enfin, vous verrez que tous les noyaux ont été compilés.
Étape 6: Redémarrez votre système pour utiliser le nouveau noyau
reboot
Étape 7: vérifiez l’installation du nouveau noyau en lançant la commande
uname -a
Maintenant, vérifiez si l'écran tactile fonctionne correctement ou non.
Vérifiez si le système reçoit des entrées à l'aide de
dmesg
Si cela échoue toujours, alors installez
make,gcc,g++,build-utils
en émettant la commande
Sudo apt install make gcc g++ build-utils
puis réinstallez les pilotes de l'écran tactile.
Note 1: Si vous n’êtes pas sûr d’installer le nouveau noyau manuellement, vous pouvez utiliser ukuu à la place,
Pour installer ukuu
Sudo apt-add-repository -y ppa:teejee2008/ppa
Sudo apt-get update
Sudo apt-get install ukuu
Ensuite, exécutez ukuu et installez le noyau 4.13 à l’aide du tableau de bord ukuu.
Remarque n ° 2: Vous pouvez toujours revenir à votre noyau précédent en émettant C au démarrage de votre ordinateur Ubuntu.
Note 3. Protégez votre écran tactile et votre écran de la poussière et évitez l’humidité, l’huile, la saleté, etc.
Remarque n ° 4: utilisez un stylet car il serait plus précis que votre doigt.
Note n ° 5: le noyau 4.14 est en cours de test, alors n'installez pas ça