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

Бывший мой коллега сделал это с большинством cd и ls команды, для записи только "полезных" команд.

10
14.05.2014, 14:20
1 ответ

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

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

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

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

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

    $ xinput create master touchy
    

    Это создаст новую пару мастер-клавиатура/указатель, где клавиатура будет называться "touch keyboard", а указатель "touchy pointer":

    $ xinput
    ⎡ Виртуальный указатель ядра id=2 [главный указатель (3)]
    ⎜ ↳ Виртуальный указатель ядра XTEST id=4 [ведомый указатель (2)]
    ⎜ ↳ SynPS/2 Synaptics TouchPad id=10 [ведомый указатель (2)]
    ⎜ ↳ TPPS/2 IBM TrackPoint id=11 [ведомый указатель (2)]
    ⎜ ↳ My Cool™ Touchscreen id=14 [ведомый указатель (2)]
    ⎣ Виртуальная основная клавиатура id=3 [ведущая клавиатура (2)]
     ↳ Клавиатура виртуального ядра XTEST id=5 [ведомая клавиатура (3)]
     ↳ Кнопка питания id=6 [ведомая клавиатура (3)]
     ↳ Видеошина id=7 [ведомая клавиатура (3)]
     ↳ Кнопка сна id=8 [ведомая клавиатура (3)]
     ↳ Клавиатура AT Translated Set 2 id=9 [ведомая клавиатура (3)]
     ↳ Дополнительные кнопки ThinkPad id=12 [ведомая клавиатура (3)]
     ↳ HID 046a:0011 id=13 [ведомая клавиатура (3)]
    ⎡ touchy pointer id=15 [ведущий указатель (16)]
    ⎜ ↳ сенсорный указатель XTEST id=17 [ведомый указатель (15)]
    ⎣ touchy keyboard id=16 [ведущая клавиатура (15)]
     ↳ touchy XTEST keyboard id=18 [ведомая клавиатура (16)]
    
  2. Переподключите ведомый указатель сенсорного экрана к новому ведущему

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

    $ xinput reattach 14 15
    

    В результате получится следующее:

    $ xinput
    ⎡ Виртуальный указатель ядра id=2 [основной указатель (3)]
    ⎜ ↳ Виртуальное ядро XTEST указатель id=4 [ведомый указатель (2)]
    ⎜ ↳ SynPS/2 Synaptics TouchPad id=10 [ведомый указатель (2)]
    ⎜ ↳ TPPS/2 IBM TrackPoint id=11 [ведомый указатель (15)]
    ⎣ Виртуальная основная клавиатура id=3 [ведущая клавиатура (2)]
     ↳ Виртуальная клавиатура ядра XTEST id=5 [ведомая клавиатура (3)]
     ↳ Кнопка питания id=6 [ведомая клавиатура (3)]
     ↳ Видеошина id=7 [ведомая клавиатура (3)]
     ↳ Кнопка сна id=8 [ведомая клавиатура (3)]
     ↳ Клавиатура AT Translated Set 2 id=9 [ведомая клавиатура (3)]
     ↳ Дополнительные кнопки ThinkPad id=12 [ведомая клавиатура (3)]
     ↳ HID 046a:0011 id=13 [ведомая клавиатура (3)]
    ⎡ touchy pointer id=15 [ведущий указатель (16)]
    ⎜ ↳ My Cool™ Touchscreen id=14 [ведомый указатель (2)]
    ⎜ ↳ сенсорный указатель XTEST id=17 [ведомый указатель (15)]
    ⎣ touchy keyboard id=16 [ведущая клавиатура (15)]
     ↳ touchy XTEST keyboard id=18 [ведомая клавиатура (16)]
    

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

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

9
27.01.2020, 20:02

Теги

Похожие вопросы