Настройка специальных возможностей: как предотвратить случайно выбранный текст не заменяется при наборе?
=========================================================================================================

 Я пытаюсь сделать ноутбук моей 97-летней бабушки (Ubuntu 20.04) более доступным для нее. Она часто разочарована, потому что текст, который она написал, исчезает. Отключение тачпада и использование внешней мыши уже очень помогло. Но я подозреваю, что она все же случайно выбирает текст, когда пытается поместить текстовый курсор с помощью мыши (путем перетаскивания или двойного щелчка). Когда она продолжает печатать, выделенный текст перезаписывается. Поскольку ей нужно сосредоточиться на клавиатуре во время набора текста, она не сразу заметит, что произошло, что затрудняет «Отменить». 

1. Можно ли отключить это поведение, чтобы выделенный текст был отменен, а не заменен, когда печатать?
2. Предоставляется ли эта функция системой Linux или она реализована в каждой программе? (Интересные программы: LibreOffice Writer и Mozilla Thunderbird)
3. Если изменение поведения невозможно, могу ли я вообще отключить выделение текста с помощью мыши?

 **Изменить:** 

 Как было предложено @ user-dz, я создал отдельный вопросы о [, как решить эту проблему в LibreOffice Writer](https://stackoverflow.com/q/64717590/)  и  [Thunderbird](https://superuser.com/q/1600234/1239392) .   

 **Этот вопрос остается сосредоточенным на том, как решить эту проблему в системе в Ubuntu 20.04.** 

 

 Выбранный текст копируется в  [ПЕРВИЧНЫЙ буфер выбора](https://unix.stackexchange.com/questions/139191/whats-the-difference-between-primary-selection-and-clipboard-buffer) . Вы можете отслеживать его и отправлять  `Стрелка вправо` , если он изменяется, для перехода к концу выделенного текста. Это работает с любым приложением, не только LibreOffice / Thunderbird, по крайней мере, на X11 + GNOME. 

```
# Install dependencies
sudo apt install xdotool  git build-essential libx11-dev libxtst-dev

# Compile clipnotify
git clone https://github.com/cdown/clipnotify.git
cd clipnotify
make

# Run the monitor, could be on ~/.xprofile, or under ~/.config/autostart/
while ./clipnotify;do xdotool key Right; done

# Optional: To kill the monitor on any other Terminal
killall clipnotify

```

 Возможно, это лучшие способы сделать это, возможно, используя Dbus. 

 Вдохновляющие и полезные ссылки: 

* [bash - Обнаружение события копирования / вставки в буфер обмена и изменение содержимого буфера обмена - Спросите Ubuntu](https://askubuntu.com/a/1167129/349837) .
* [Arch Wiki](https://wiki.archlinux.org/index.php/clipboard#Selections)

 

 **Частичный ответ** 

* (2) LiberOffice, Thunderbird и Firefox, каждый имеет свою собственную реализацию текстового поля редактирования. 

 Но есть много инструментов, построенных на основе  *] Набор GUI* , такой как GTK, Qt, wxWidgets, .. Так что вы можете ожидать, что инструменты Gnome будут основаны на GTK, а инструменты KDE будут основаны на Qt. Поэтому изменение может потребоваться на их уровне.
* (3) В  *LibreOffice*  я обнаружил только эту функцию, которая может помочь: 

	+ Измените « *режим выбора* » на нижняя строка состояния на « *Выбор блока* ». По-прежнему можно выбирать мышью, но не двойным щелчком.
* (3) Что касается доступности с помощью мыши, я не помню никаких действий, требующих двойного щелчка (только САПР, игры, IDE). Обычно инструменты имеют другой способ использования сочетания клавиш или входа в меню. 

	+ *Отключить двойной щелчок* , Настройки → Специальные возможности →  *Задержка двойного щелчка* : самый короткий (минимум).
* (3) Настройки мыши,Предыдущий шаг не фиксирует выделение путем перетаскивания. Уловка, которая может сработать, - убивать короткие движения за счет снижения скорости указателя и увеличения его ускорения для компенсации длинных движений. 

	+ Настройки → Мышь и сенсорная панель →  *Скорость мыши* : Уменьшите
	+ *Ускорение мыши*  : Выше при использовании 
	
	
	
	```
	 xset [mouse [accel_mult [/ accel_div] [threshold]]] [mouse default]
	 
	```
	
	 (Постоянная настройка, должна быть возможность использовать libinput или X)
* (3) Свести к минимуму использование мыши для коротких движений (это может быть трудно адаптировать) 

	+ Использование клавиатуры для перемещения
	+ Активировать  *клавиатура и мышь* , Настройки → Специальные возможности →  *Клавиши мыши*
	+ Изменить на  *TrackBall*  мышь