У меня ноутбук с сенсорным экраном, и я хочу скрыть указатель всякий раз, когда я касаюсь экрана. Я знаю решение , как Unclutter и startx -nocursor
но я хочу указатель , чтобы скрыть / показать динамически, скрытие , если я использовать сенсорный экран и показывают , когда я использую аппаратный курсор.
Я думал о создании двух отдельных указателей и применении одного из двух вышеупомянутых решений к указателю сенсорного экрана, но ни одно из этих решений не упоминало, как нацелить один указатель, а наличие нескольких указателей делает вещи странными, и это не скрывает аппаратное обеспечение. курсор мыши
Я полагаю, что наиболее разумно сделать это, выполнив что-то вроде этого , отслеживая текущий механизм ввода и выполняя xinput -cursor [transparent cursor]
каждый раз, когда используется сенсорный экран и xinput -cursor [normal cursor]
когда используется обычная мышь.
Я посмотрел на xinput, и похоже, что и аппаратная мышь, и сенсорный экран подчинены одному и тому же указателю, оба они регистрируют одни и те же события в xev, поэтому я не совсем уверен, где взять информацию, необходимую для различения касания. от щелчка мышью. Является ли это возможным?
Я полагаю, что вы используете сенсорный экран, когда у вас нет мыши, и подключите его к системе, если вы хотите его использовать. В этом случае вы можете использовать
udev
правила для управления указателем соответственно:Условия, используемые для различения мыши, заимствованы из этого ответа .
Имейте в виду, что отдельные приложения могут переопределять курсор динамически, поэтому ваш курсор может снова стать видимым при наведении на них окна.
unclutter
Вместо этого вы можете запускать / останавливать, если хотите, чтобы все курсоры были везде скрыты:Лично я бы вообще отключил сенсорный экран, когда мышь подключена, чтобы случайное прикосновение к нему не мешало курсору, когда вы ожидаете, что он будет следовать за мышью.
источник
udev
как удаленная, когда вы отключаете ее с помощью кнопки Fn (при условии, что она есть).Существует вилка инструмента Unclutter-фиксирует с помощью nowrep можно посмотреть здесь . В этой версии добавлена
-touch
опция автоматического скрытия курсора при обнаружении сенсорного ввода. (Оригинальный репозиторий unclutter-xfixes находится здесь )Одна вещь, о которой нужно знать, это то, что она по-прежнему включает в себя поведение скрытия курсора после определенного периода времени. Вы можете просто установить
--timeout
опцию на очень высокое значение, чтобы обойти это.Это должно работать идеально для вас. В моем случае у меня был внешний сенсорный экран, и когда я возвращаюсь к обычному монитору, курсор будет на сенсорном экране, поэтому я должен переместить его обратно на монитор с того места, к которому я прикоснулся. Приятно то, что после того, как я начну двигать мышь, появится курсор, чтобы я знал, где он находится.
Приятным преимуществом этой опции является то, что я все еще могу использовать свою мышь как обычно на сенсорном экране, если хочу, но скрываю ее, когда не хочу.
источник