Скрыть отдельный указательный указатель (из-за мерцания) в KDE в настройке двойного указателя с сенсорным экраном

В Kubuntu 17.04, я пытаюсь получить настройку с двумя указателями, где одна привязана к моей мыши, как обычно, а другая прикреплена к сенсорному экрану, которая в противном случае работает правильно, когда она привязана к основному указателю (включая жесты)

$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ My touchscreen id=11 [slave pointer (2)] ⎜ ↳ My mouse id=18 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ... 

После этого ответа я создал еще один указатель и привязал к нему сенсорный экран:

 $ xinput create-master Touchscreen $ xinput reattach 11 "Touchscreen pointer" $ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ My mouse id=18 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ... ⎡ Touchscreen pointer id=21 [master pointer (22)] ⎜ ↳ My touchscreen id=11 [slave pointer (21)] ⎜ ↳ Touchscreen XTEST pointer id=23 [slave pointer (21)] ⎣ Touchscreen keyboard id=22 [master keyboard (21)] ↳ Touchscreen XTEST keyboard id=24 [slave keyboard (22)] 

Это также функционально, включая жесты. Проблема заключается в том, что курсор, прикрепленный к указателю сенсорного экрана, мерцает. Это не происходит с основным указателем. Странно, что мерцание происходит только тогда, когда я перемещаю указатель мыши. Если я не перемещаю мышь, указатель сенсорного экрана остается невидимым, когда сенсорный экран не используется, что очень близко к тому, что я хочу. В идеале указатель сенсорного экрана всегда будет скрыт.

Решение 1 (не работает):

Использование xicursorset в соответствии с приведенным выше ответом . В конечном итоге код использует XIDefineCursor для установки изображения курсора для отдельных указателей. Это просто ничего не делало для меня в KDE, никаких ошибок. Если бы это сработало, я бы установил курсор на пустое изображение, которое, я уверен, решит проблему мерцания.

Решение 2 (работает только частично):

Оставляя сенсорный экран плавающим через:

 $ xinput float 11 $ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ My mouse id=18 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ... ∼ My touchscreen id=11 [floating slave] 

В этой конфигурации ни одно окно KDE не распознает сенсорный экран, но, на удивление, Chrome распознает жесты, такие как прокрутка пальца или два пальца. Если бы я мог получить такую ​​функциональность в каждом окне, мне было бы достаточно.

Решение 3 (работает теоретически, а не на практике из-за аварии):

Чтобы добавить / удалить указатель динамически. Другими словами, используя следующий скрипт: ~/.local/bin/watch-touchscreen.py :

 #!/usr/bin/python import sys; from subprocess import call; while True: line = sys.stdin.readline() if line.startswith("button press"): call(["xinput", "create-master", "Touchscreen"]) call(["xinput", "reattach", "11", "Touchscreen pointer"]) elif line.startswith("button release"): call(["xinput", "remove-master", "Touchscreen pointer"]) 

как это:

 $ xinput test 11 | ~/.local/bin/watch-touchscreen.py 

Идея состоит в том, чтобы создавать новый указатель каждый раз при касании сенсорного экрана и уничтожать его при отпускании сенсорного экрана, после чего сенсорный экран вернется в плавающее ведомое устройство. Это работает очень коротко, пока X-сессия не выйдет из строя, заставив меня снова войти в систему. Думаю, не умная идея динамически создавать и уничтожать указатели xinput.

Любые идеи, обходные пути?

  • У меня есть мыши Logitech G600, которые перечислены дважды в списке xinput (как в том же имени и свойствах). Как обновить этот .conf, чтобы это отразить?
  • Сложность запуска команды при запуске
  • Конфигурация Synaptics не найдена
  • Многопользовательский режим X11, конфликты указателей
  • Как снизить ускорение мыши, если оно уже самое низкое значение в конфигурации gnome3
  • Настройка сенсорной панели на Acer Aspire-VN7-791G с ​​Монетным двором Linux, изменения не принимаются
  • Сенсорная панель не работает после приостановки Ubuntu 16.04
  • одновременно управлять несколькими окнами
  • xinput показывает два трекпоинта вместо одного
  • FreeBSD 9 KDE4 Нет мыши или клавиатуры на экране входа в KDE
  • Отображение xte и клавиатуры
  • Interesting Posts

    Сравнить аудиофайлы

    Маршрутизация электронной почты с моего сервера

    предотвратить использование программы от терминала?

    Как sda1 используется иначе, чем sda2?

    Случайно удалили разделы на моем загрузочном диске. Система все еще работает. Как я могу выздороветь?

    Какие правила определяют отношения между родителями и дочерними процессами, запущенными оболочкой через трубу?

    Правило Udev hwdb не работает

    Копирование слов из строк и добавление к строкам в другом файле

    sfdisk перечисляет неизвестное устройство / dev / xvda4

    сохранение данных с неисправного накопителя

    SSH Основные проблемы с Debian

    Является ли моя удаленная оболочка по умолчанию проблемой?

    Почему Linux помечает FAT как «грязную» просто из-за ее установки?

    Изменение пароля пользователя через графическое приложение

    Как предоставить параметры с помощью текстового файла в curl?

    Linux и Unix - лучшая ОС в мире.