Monitor está detectando como Touchpad em vez de TouchScreen

0

Quando atualizei do SUSE para o Ubuntu 14.04 LTS, o monitor com tela sensível ao toque está detectando como TOUCHPAD em vez de TOUCHSCREEN . Está usando o ELO drivers para a funcionalidade da tela sensível ao toque.

Depurei este problema, no Xorg Log o tipo é mostrado como "TOUCH PAD" em vez de "TOUCH SCREEN" .

root@57:~# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 04f2:0116 Chicony Electronics Co., Ltd KU-2971/KU-0325 Keyboard
Bus 001 Device 008: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 001 Device 006: ID 04e7:0030 Elo TouchSystems 4500U CarrollTouch® Touchmonitor Interface
Bus 001 Device 005: ID 04b3:4670 IBM Corp.
Bus 001 Device 002: ID 0451:2046 Texas Instruments, Inc. TUSB2046 Hub
Bus 001 Device 004: ID 413c:2003 Dell Computer Corp. Keyboard
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

root@57:~# xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U        id=11   [slave  pointer  (2)]
⎜   ↳ Logitech USB Optical Mouse                id=14   [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)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Dell Dell USB Keyboard                    id=9    [slave  keyboard (3)]
    ↳ (c) Copyright IBM Corp. 1999 IBM Retail USB 4820 Liquid Crystal Display (Boot mode)                               id=10   [slave  keyboard (3)]
    ↳ CHICONY USB Keyboard                      id=12   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=13   [slave  keyboard (3)]

/var/log/Xorg.0.log

 [    39.073] (II) config/udev: Adding input device Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U (/dev/input/event7)
    [    39.073] (**) Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: Applying InputClass "evdev pointer catchall"
    [    39.073] (**) Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: Applying InputClass "Elo class"
    [    39.073] (**) Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: Applying InputClass "calibration"
    [    39.073] (II) Using input driver 'evdev' for 'Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U'
    [    39.073] (**) Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: always reports core events
    [    39.073] (**) evdev: Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: Device: "/dev/input/event7"
    [    39.073] (--) evdev: Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: Vendor 0x4e7 Product 0x30
    [    39.073] (--) evdev: Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: Found 1 mouse buttons
    [    39.073] (--) evdev: Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: Found absolute axes
    [    39.073] (--) evdev: Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: Found x and y absolute axes
    [    39.073] (--) evdev: Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: Found absolute touchpad.
    [    39.073] (**) Option "SwapAxes" "0"
    [    39.073] (II) evdev: Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: Configuring as touchpad
    [    39.073] (**) evdev: Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: YAxisMapping: buttons 4 and 5
[    39.073] (**) evdev: Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    39.073] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.2/1-3.2:1.0/input/input10/event7"
[    39.073] (II) XINPUT: Adding extended input device "Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U" (type: TOUCHPAD, id 11)
[    39.073] (II) evdev: Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: initialized for absolute axes.
[    39.073] (**) Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: (accel) keeping acceleration scheme 1
[    39.073] (**) Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: (accel) acceleration profile 0
[    39.073] (**) Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: (accel) acceleration factor: 2.000
[    39.073] (**) Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: (accel) acceleration threshold: 4
[    39.073] (II) config/udev: Adding input device Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U (/dev/input/mouse0)
[    39.073] (**) Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U: Applying InputClass "calibration"

arquivo xorg.conf

Section "InputDevice"
        Driver      "mouse"
        Identifier  "mouse0"
        Option      "Buttons"   "7"
        Option      "ButtonMapping" "1 1 1"
        Option      "ZAxisMapping"  "4 5 6 6"
EndSection

Section "Device"
        Identifier      "Configured Video Device"
EndSection

Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
        SubSection "Display"
          Modes "1024x768" "800x600"
        EndSubSection
EndSection

10-evdev.conf

Section "InputClass"
        Identifier "evdev pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection
Section "InputClass"
        Identifier "evdev touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev tablet catchall"
        MatchIsTablet "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection
Section "InputClass"
        Identifier "evdev touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection
    
por Sunny 07.09.2016 / 22:25

1 resposta

0

Se você instalar o pacote xinput ( apt-get install xinput ), poderá forçar o evdev a ver o dispositivo como uma tela sensível ao toque pelo comando

xinput set-mode $ID ABSOLUTE

onde $ID é o id do dispositivo conforme retornado pelo comando

xinput -list

Esta operação precisa ser feita a cada inicialização e o ID pode mudar em função de outros dispositivos USB, então será melhor fazer isso em um script chamado startx , algo assim:

#!/bin/bash

export DISPLAY=:0.0
ID='xinput --list | grep "Elo TouchSystems" | sed -e 's/.*id=\([0-9]*\).*//''
xinput set-mode $ID ABSOLUTE

Isso funciona bem com o meu monitor touchscreen (Elo TouchSystems CarrollTouch 4500U) e Debian 8 (Jessie) e talvez funcione corretamente com o Ubuntu também.

    
por PRB 20.10.2017 / 13:20