¿Pantalla táctil y mouse como entradas separadas?

10

¿Puede alguien darme una buena referencia sobre cómo lograr esto, o simplemente decirme cómo se hace? Google realmente no me está ayudando aquí, ya que siempre trata de darme recomendaciones sobre el panel táctil: /

Alko
fuente

Respuestas:

9

Siempre que su pantalla táctil se detecte como un dispositivo de entrada aburrido, puede hacerlo con xinput. Esta herramienta le permite definir nuevos punteros maestros (el puntero virtual que se asemeja a un puntero del mouse) y separar y adjuntar punteros esclavos (los dispositivos de hardware reales) desde y hacia él.

Entonces todo lo que necesitas hacer es

  1. crear un nuevo puntero maestro
  2. vuelva a conectar su pantalla táctil a este nuevo puntero maestro

Esto se hace similar a esto:

  1. Cree el nuevo puntero maestro:

    $ xinput create master touchy
    

    Esto crea un nuevo par maestro de teclado / puntero, donde el teclado se llama »teclado táctil« y el puntero »puntero táctil«:

    $ xinput
    ⎡ Virtual core pointer                          id=2    [master pointer  (3)]
    ⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
    ⎜   ↳ SynPS/2 Synaptics TouchPad                id=10   [slave  pointer  (2)]
    ⎜   ↳ TPPS/2 IBM TrackPoint                     id=11   [slave  pointer  (2)]
    ⎜   ↳ My Cool™ Touchscreen                      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)]
        ↳ Video Bus                                 id=7    [slave  keyboard (3)]
        ↳ Sleep Button                              id=8    [slave  keyboard (3)]
        ↳ AT Translated Set 2 keyboard              id=9    [slave  keyboard (3)]
        ↳ ThinkPad Extra Buttons                    id=12   [slave  keyboard (3)]
        ↳ HID 046a:0011                             id=13   [slave  keyboard (3)]
    ⎡ touchy pointer                                id=15   [master pointer  (16)]
    ⎜   ↳ touchy XTEST pointer                      id=17   [slave  pointer  (15)]
    ⎣ touchy keyboard                               id=16   [master keyboard (15)]
        ↳ touchy XTEST keyboard                     id=18   [slave  keyboard (16)]
    
  2. Vuelva a colocar el puntero esclavo de la pantalla táctil en el nuevo maestro

    En este ejemplo, asumiré que »My Cool ™ Touchscreen« es el dispositivo a usar ( id=14):

    $ xinput reattach 14 15
    

    Esto resultará en lo siguiente:

    $ xinput
    ⎡ Virtual core pointer                          id=2    [master pointer  (3)]
    ⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
    ⎜   ↳ SynPS/2 Synaptics TouchPad                id=10   [slave  pointer  (2)]
    ⎜   ↳ TPPS/2 IBM TrackPoint                     id=11   [slave  pointer  (15)]
    ⎣ 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)]
        ↳ Sleep Button                              id=8    [slave  keyboard (3)]
        ↳ AT Translated Set 2 keyboard              id=9    [slave  keyboard (3)]
        ↳ ThinkPad Extra Buttons                    id=12   [slave  keyboard (3)]
        ↳ HID 046a:0011                             id=13   [slave  keyboard (3)]
    ⎡ touchy pointer                                id=15   [master pointer  (16)]
    ⎜   ↳ My Cool™ Touchscreen                      id=14   [slave  pointer  (2)]
    ⎜   ↳ touchy XTEST pointer                      id=17   [slave  pointer  (15)]
    ⎣ touchy keyboard                               id=16   [master keyboard (15)]
        ↳ touchy XTEST keyboard                     id=18   [slave  keyboard (16)]
    

Ahora su pantalla táctil debería actuar como un dispositivo señalador individual.

Editar: para deshacerse del segundo puntero del mouse, que es bastante superfluo para una pantalla táctil, puede usar esta herramienta, que utiliza la extensión XInput2 para cambiar los punteros individualmente.

Andreas Wiese
fuente
impresionante, gracias: D my Cool nuevo dispositivo puntero está funcionando! Pero ahora veo 2 ratones en la pantalla: P
Alko
2
Ver Editar. Desafortunadamente (AFAIK) no hay una utilidad estándar que exponga la API XInput2 completa (que se requiere para manejar configuraciones de entradas múltiples y hacer cosas como cambiar el cursor individualmente ).
Andreas Wiese
@AndreasWiese Gracias por la información, xicursorsetno funciona para mí bajo KDE, no pasa nada. ¿Algunas ideas?
Ayberk Özgür