Сенсорный экран и мышь как отдельные устройства ввода?

Сенсорный экран и мышь как отдельные устройства ввода?

Может ли кто-нибудь дать мне хорошую ссылку на то, как этого добиться, или просто рассказать, как это делается? Google мне тут не особо помогает, так как он всегда пытается дать мне рекомендации по тачпаду :/

решение1

Пока ваш сенсорный экран определяется как скучное устройство ввода, вы можете сделать это с помощью xinput. Этот инструмент позволяет вам определять новые главные указатели (виртуальный указатель, который напоминает один указатель мыши) и отсоединять и присоединять подчиненные указатели (реальные аппаратные устройства) от него и к нему.

Итак, все, что вам нужно сделать, это

  1. создать новый главный указатель
  2. повторно подключите сенсорный экран к этому новому главному указателю

Это делается примерно так:

  1. Создайте новый главный указатель:

    $ xinput create-master 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. Перенаправьте указатель подчиненного устройства сенсорного экрана на новое главное устройство

    В этом примере я предположу, что в качестве устройства будет использоваться »My Cool™ Touchscreen« ( id=14):

    $ xinput reattach 14 15
    

    Это приведет к следующему:

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

Теперь ваш сенсорный экран должен работать как индивидуальное указательное устройство.

Редактировать:Чтобы избавиться от второго указателя мыши, который для сенсорного экрана излишен, можно использоватьэтотинструмент, который использует расширение XInput2 для индивидуального изменения указателей.

Связанный контент