Touchscreen e mouse come input separati?


10

Qualcuno può darmi un buon riferimento su come raggiungere questo obiettivo o semplicemente dirmi come è stato fatto? Google non mi sta davvero aiutando qui, poiché cerca sempre di darmi consigli sul touchpad: /

Risposte:


9

Finché il touchscreen viene rilevato come un dispositivo di input noioso, è possibile farlo con xinput. Questo strumento consente di definire nuovi puntatori master (il puntatore virtuale che ricorda un puntatore del mouse) e di staccare e collegare i puntatori slave (i dispositivi hardware effettivi) da e verso di esso.

Quindi tutto ciò che devi fare è

  1. crea un nuovo puntatore master
  2. ricollegare il touchscreen a questo nuovo puntatore master

Questo è fatto in questo modo:

  1. Crea il nuovo puntatore principale:

    $ xinput create master touchy
    

    Questo crea una nuova coppia master di tastiera / puntatore, in cui la tastiera si chiama »tastiera touch« e il puntatore »puntatore touchy«:

    $ 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. Riattiva il puntatore dello schermo sensibile al tocco sul nuovo master

    In questo esempio suppongo che »My Cool ™ Touchscreen« sia il dispositivo da utilizzare ( id=14):

    $ xinput reattach 14 15
    

    Ciò comporterà quanto segue:

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

Ora il touchscreen dovrebbe agire come un dispositivo di puntamento individuale.

Modifica: per sbarazzarsi del secondo puntatore del mouse, che è piuttosto superfluo per un touchscreen, è possibile utilizzare questo strumento, che utilizza l'estensione XInput2 per modificare i puntatori singolarmente.


fantastico, grazie: D il mio nuovo dispositivo di puntamento Cool funziona! Ma ora vedo 2 topi sullo schermo: P
Alko,

2
Vedi Modifica. Sfortunatamente (AFAIK) non esiste un'utilità standard che esponga l'API XInput2 completa (che è necessaria per gestire le configurazioni multi-input e fare cose come il cambio del cursore individuale ).
Andreas Wiese,

@AndreasWiese Grazie per le informazioni, xicursorsetnon funziona per me con KDE, non succede nulla. Qualche idea?
Ayberk Özgür
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.