Touchscreen und Maus als separate Eingaben?

Touchscreen und Maus als separate Eingaben?

Kann mir jemand eine gute Referenz geben, wie ich das erreichen kann, oder mir einfach erklären, wie es geht? Google hilft mir hier nicht wirklich weiter, da es mir immer Empfehlungen zum Touchpad gibt :/

Antwort1

Solange Ihr Touchscreen als normales Eingabegerät erkannt wird, können Sie dies mit tun xinput. Mit diesem Tool können Sie neue Master-Zeiger (die virtuellen Zeiger, die einem Mauszeiger ähneln) definieren und Slave-Zeiger (die eigentlichen Hardwaregeräte) davon trennen und anhängen.

Alles was Sie tun müssen ist

  1. Erstelle einen neuen Masterpointer
  2. Schließen Sie Ihren Touchscreen wieder an diesen neuen Master-Pointer an

Dies geschieht ungefähr so:

  1. Erstellen Sie den neuen Masterzeiger:

    $ xinput create-master touchy
    

    Dadurch entsteht ein neues Master-Tastatur/Zeiger-Paar, wobei die Tastatur »Touch Keyboard« und der Zeiger »Touchy Pointer« heißt:

    $ 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. Verbinden Sie Ihren Touchscreen-Slave-Zeiger mit dem neuen Master

    In diesem Beispiel gehe ich davon aus, dass »My Cool™ Touchscreen« das zu verwendende Gerät ist ( id=14):

    $ xinput reattach 14 15
    

    Dies führt zu folgendem Ergebnis:

    $ 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)]
    

Jetzt sollte Ihr Touchscreen wie ein einzelnes Zeigegerät funktionieren.

Bearbeiten:Um den zweiten Mauszeiger loszuwerden, der für einen Touchscreen ziemlich überflüssig ist, könnte man verwendenDasTool, das die XInput2-Erweiterung verwendet, um die Zeiger einzeln zu ändern.

verwandte Informationen