Layar sentuh dan mouse sebagai input terpisah?


10

Bisakah seseorang memberi saya referensi yang baik tentang bagaimana mencapai ini, atau cukup beri tahu saya bagaimana ini dilakukan? Google tidak benar-benar membantu saya di sini, karena selalu mencoba memberi saya rekomendasi di touchpad: /

Jawaban:


9

Selama layar sentuh Anda terdeteksi sebagai perangkat input yang membosankan, Anda dapat melakukannya dengan xinput. Alat ini memungkinkan Anda untuk menentukan pointer master baru (pointer virtual yang menyerupai satu pointer mouse) dan untuk melepaskan dan melampirkan pointer slave (perangkat perangkat keras yang sebenarnya) dari dan ke sana.

Jadi yang perlu Anda lakukan adalah

  1. buat master pointer baru
  2. pasang kembali layar sentuh Anda ke master pointer baru ini

Ini dilakukan mirip dengan ini:

  1. Buat master pointer baru:

    $ xinput create master touchy
    

    Ini menciptakan sepasang master keyboard / pointer baru, di mana keyboard disebut »touch keyboard« dan pointer »pointer sensitif«:

    $ 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. Retach pointer slave layar sentuh Anda ke master baru

    Dalam contoh ini saya akan menganggap »My Cool ™ Touchscreen« sebagai perangkat yang digunakan ( id=14):

    $ xinput reattach 14 15
    

    Ini akan menghasilkan sebagai berikut:

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

Sekarang layar sentuh Anda harus bertindak seperti perangkat penunjuk individual.

Sunting: Untuk menghilangkan pointer mouse kedua, yang agak berlebihan untuk layar sentuh, Anda bisa menggunakan alat ini , yang menggunakan ekstensi XInput2 untuk mengubah pointer secara individual.


awsome, terima kasih: D perangkat penunjuk keren saya yang baru berfungsi! Tapi sekarang saya melihat 2 tikus di layar: P
Alko

2
Lihat Edit. Sayangnya (AFAIK) tidak ada utilitas standar yang memperlihatkan XInput2-API lengkap (yang diperlukan untuk menangani pengaturan multi-input dan melakukan hal-hal seperti perubahan kursor individu ).
Andreas Wiese

@AndreasWiese Terima kasih atas informasinya, xicursorsettidak berfungsi untuk saya di bawah KDE, tidak ada yang terjadi. Ada ide?
Ayberk Özgür
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.