Скрытие курсора мыши динамически при использовании сенсорного экрана

У меня есть ноутбук с сенсорным экраном, и я хочу скрыть указатель, когда я касаюсь экрана. Я знаю решения, такие как unclutter и startx -nocursor но я хочу, чтобы указатель скрывал / показывал динамически, скрываясь, если я использую сенсорный экран и показываю, когда использую аппаратную мышь.

Я думал о создании двух отдельных указателей и применении одного из двух вышеупомянутых решений к указателю на сенсорном экране, но ни одно из этих решений не упоминает, как настроить таргетинг на один указатель, а наличие нескольких указателей делает вещи странными, и это не скроет аппаратное обеспечение курсор мыши.

Я полагаю, что я могу наиболее разумно сделать это, делая что-то подобное, отслеживая текущий механизм ввода и выполняя xinput -cursor [transparent cursor] всякий раз, когда используется сенсорный экран, и xinput -cursor [normal cursor] всякий раз, когда используется обычная мышь.

Я смотрел на xinput, хотя и похоже, что как аппаратная мышь, так и сенсорный экран подчинены одному и тому же указателю, оба из них регистрируют одни и те же события в xev, поэтому я не уверен, где я получу информацию, необходимую для дифференциации касания от мышки. Является ли это возможным?

2 Solutions collect form web for “Скрытие курсора мыши динамически при использовании сенсорного экрана”

Вы можете использовать

Чтобы использовать, установите его

 sudo apt-get install unclutter 

затем запустите его

 unclutter -idle 0.01 -root 

Обратите внимание, что число после простоя означает время до его скрытия. В этом случае его значение равно 1/100 секунды. Вы можете попробовать изменить его на значение, которое всегда будет скрыто.

Это скроет курсор, когда вы его не переместите. Я уверен, что есть возможность полностью скрыть это.

Я полагаю, вы используете сенсорный экран, когда у вас нет мыши, и подключите его в системе, когда вы хотите его использовать. В этом случае вы можете использовать udev правила для управления указателем соответственно:

 ACTION=="add", ATTRS{bInterfaceProtocol}=="02", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceSubClass}=="01", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/user/.Xauthority", ENV{REMOVE_CMD}="/usr/bin/xinput -cursor [transparent cursor]", RUN+="/usr/bin/xinput -cursor [normal cursor]" 

Условия, используемые для различения мыши, заимствованы из этого ответа .

Имейте в виду, что отдельные приложения могут свободно переопределять курсор динамически, поэтому ваш курсор может снова стать видимым при наведении их окон. Вы можете запустить / остановить unclutter вместо этого, если вы хотите, чтобы все курсоры были скрыты повсюду:

 ACTION=="add", ATTRS{bInterfaceProtocol}=="02", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceSubClass}=="01", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/user/.Xauthority", ENV{REMOVE_CMD}="/bin/sh -c unclutter&", RUN+="/usr/bin/killall unclutter" 

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

  • Как активировать модуль записи Xorg на Raspbian?
  • Не удалось найти ключевой код для клавиши громкости на клавиатуре Apple.
  • Как запускается XServer в Ubuntu 16.04?
  • X Window открывается с экрана
  • Старая видеокарта ATI на Debian 8 - Xpress 200 - модель: 1150
  • Как я могу исправить проблему запуска Xorg?
  • Запустить второй X-сервер из X в качестве службы systemd
  • Есть ли какая-либо система Windows X, которая является HTML, CSS, Javascript? Например, веб-браузер?
  • Как получить указатель мыши, где находится входной карет?
  • Почему замораживание мыши в FreeBSD 9.1 Gnome или Fluxbox?
  • xrandr scale 2x2 для мультидисплея (4K HiDPI и Full HD mix) - размытый вывод
  • Interesting Posts

    Как заставить wget конвертировать * все * загруженные ссылки в относительные?

    Звук очень низкий (почти не слышимый) от первичной звуковой карты, Debian 8, импульсный звук

    При объединении каталогов с одинаково названными файлами, как вы гарантируете замену только меньших + более ранних файлов?

    Что означает эта команда sed?

    Репозиторий CentOS yum bad Заголовок V4 RSA / SHA1 подпись

    Как определить, работает ли команда «nice»?

    Как я могу заставить Cj отправить новую строку в командной строке tmux?

    Не удалось обновить kali linux из обычных исходных репозиториев

    Каков наилучший способ совместного использования сокета аутентификации SSH с другим пользователем?

    Откройте каталог и дайте ему обновить себя, используя «tail -f»

    Параметры двусторонней печати с использованием lp или lpr

    конвертировать wav в flac с тегами

    Как разрешить зависимости пакетов для другой целевой системы?

    Поиск, установка и список Yum

    Вариации в статистике Ubuntu 12.04 / usr / bin / time

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