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

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

21
13.04.2017, 15:36
3 ответа

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

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

sudo apt-get install unclutter

, затем запустите

unclutter -idle 0.01 -root

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

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

5
27.01.2020, 19:43

К сожалению, rename означает различное в различных версиях Unix. В частности, на Fedora, и, следовательно, CentOS я представляю, что rename будет принимать только простые последовательности, а не выражение perl, как вы используете (которое будет работать на debian).

Однако кажется, что все, что вы хотите сделать, это добавить «-img4sm». перед суффиксом .jpg, .png и .gif, поэтому с вашей версией переименования попробуйте:

rename -- .jpg -img4sm.jpg *.jpg
rename -- .png -img4sm.png *.png
rename -- .gif -img4sm.gif *.gif

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


При необходимости можно установить более сложный perl скрипт rename из cpan с помощью cpan команда, если она уже известна, или просто путем загрузки ссылки на этой странице на download tar . Распакуйте смолу и «постройте» сценарий с помощью

tar xf rename-1.9.tar.gz
cd rename-1.9
perl Makefile.PL 
make
mv bin/rename ~/bin/prename

, где конечный mv находится в некотором частном bin dir в PATH. Используйте имя prename , чтобы избежать путаницы с уже имеющейся командой переименования. Затем вы можете использовать это, чтобы сделать свое действие с, например:

prename -n  's/\.(jpg|png|gif)$/-mg4sm.$1/' -- *.{jpg,gif,png}

, где здесь -n означает просто показать, что произойдет, не делая этого.

-121--128474-

Предполагается, что разделение основано на прописной букве.

с SED

имя + зарплата

sed -e "/${NamePart}.*[A-Z].*/ !d" -e 's/\([A-Z][a-z]*\)[A-Z][a-z]*\([0-9]*\)/\1 \2/' YourData.file

имя + занятие

sed -e "/${NamePart}.*[A-Z].*/ !d" -e 's/\([A-Z][a-z]*\)\([A-Z][a-z]*\)[0-9]*/\1 \2/' YourData.file
-121--152817-

Я полагаю, что вы используете сенсорный экран, когда у вас нет мыши, и подключите его к системе, когда вы хотите использовать его. В этом случае для соответствующего управления указателем можно использовать правила 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]"

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

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

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"

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

2
27.01.2020, 19:43

Существует форк инструмента исправления ошибок -от nowrep, доступный здесь . В этой версии добавлен параметр -touchдля автоматического скрытия курсора при обнаружении сенсорного ввода. (Оригинальный репозиторий unclutter -xfixes находится здесь)

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

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

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

2
27.01.2020, 19:43

Теги

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