Расширенная инерционная конфигурация прокрутки

9

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

Чтобы объяснить этот вопрос: я часто использую ярлыки. Теперь, когда я, например, просматриваю Интернет и с помощью инерционной прокрутки возвращаюсь к верхней части веб-сайта, я масштабирую сайт как сумасшедший, если пытаюсь открыть новую вкладку с помощью Ctrl+, Tпоскольку браузер обнаруживает только Ctrl+ scrolling.

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

Mouagip
источник
Это так Strgже, как Ctrl?
Jobin
@ Джобин, да, это немецкий лейбл. Извините, я забыл изменить это.
Муагип

Ответы:

5

Боюсь, это уже обсуждалось на Xorg и помечено как «Исправлено исправлено», но не будет исправлено, поскольку Xorg не поймет, когда вы нажмете, Ctrlа инерционная прокрутка все еще на месте. (См . Комментарий Питера Хаттерера и его аналогию с Ctrl).

Поэтому, по крайней мере, до тех пор, пока у нас не появится Unity 8 (когда Xorg будет заменен на Мир и, мы надеемся, мы увидим, что это действительно решено), у нас может быть только словосочетание, а не идеальное исправление или полное отключение инерционной прокрутки.

Одним из исправлений, которые я бы порекомендовал, является отключение функции Ctrl+ scrollingв самом приложении. Это, конечно, нечистое решение, поскольку проблема все еще существует, но устранен только эффект, и вам придется делать это для любого приложения, которое вы чаще всего используете инерциальную прокрутку.

Чтобы отключить функцию Ctrl+ scrollingв Firefox, введите about:configадресную строку и нажмите «Я буду осторожен, обещаю!» Теперь в строке поиска введите mousewheel.with_control.actionи дважды щелкните первый результат и установите его значение равным 1, которое будет прокручивать только содержимое, а не масштабирование. Вы можете установить его значение на следующие значения с соответствующими эффектами:

  • 0 (отключено)
  • 1 (прокрутка содержимого)
  • 2 (назад / вперед в вашей истории)
  • 3 (по умолчанию, увеличение / уменьшение)

Я обновлю ответ, если смогу найти более чистое и лучшее решение.

Jobin
источник
1
для пользователей Chrome вот расширение , которое (чаще всего) решает проблему
Миннер
Для пользователей LXDE / Openbox, вот вопрос, который решает Alt+ scrolling«безумие переключения рабочего стола», которое является еще одним симптомом той же самой основной проблемы.
Танус
есть ли новости по этой проблеме?
GLS
2

Угол поворота помогает! Хотя это и не является настоящим исправлением, я обнаружил, что использование CornerCoastingрежима драйвера Synaptics вместо обычного (без пальцев) инерциального режима прокрутки помогает. Причина: режим наклона угла активен, удерживая палец в углу, и немедленно останавливается при отпускании. Несмотря на то, что нажатие Ctrlво время наклона поворота по-прежнему создает проблему «безумия зума Firefox», которую вы описываете, я обнаружил, что вряд ли смогу это сделать, пока активно участвую в действии (т. Е. С помощью пальца на сенсорной панели, а не наклона пальцем).

Опробовать поворот на поворотах. Следующая команда установит режим уклонения углов:

synclient VertEdgeScroll=1 CornerCoasting=1 CoastingSpeed=1 CoastingFriction=0

VertEdgeScroll=1Это связано с тем, что наклон в углу работает только с прокруткой по краю, а не с прокруткой двумя пальцами. Если вам нравятся угловые повороты на правом и нижнем краях, добавьте HorizEdgeScroll=1к приведенной выше строке. CornerCoasting=1включает режим поворота на угловой CoastingSpeedэто минимальная скорость прокрутки во время наклона, но она также является минимальной скоростью курсора для ее запуска. Поэтому я установил его на минимум, чтобы легче было запускать режим, который еще может быть хитрым (и невозможным с чем-то подобным CoastingSpeed=100). CoastingFrictionзначение, при котором исчезает инерционная прокрутка Мы отключаем его здесь, чтобы он продолжал работать до тех пор, пока вы не поднимите палец, что отличается от того, что обычно требуется при обычном уклонении пальцем. Для получения дополнительной информации об этих параметрах см. Справочную страницу Synaptics .

Что-то, что не упомянуто в справочной странице: по-видимому, угловое смещение включается, проводя из неугловой краевой области в угловую область, а затем удерживая там палец . Таким образом, движение по наклону поворота останавливается, если вы случайно подняли палец, даже на очень короткое время, столкнувшись с краем сенсорной панели. Режим триггера «Переместить в угловую область» также означает, что поворот по углу не будет работать или его будет сложно активировать, если вы TopEdgeиBottomEdgeпараметры оставляют мало или нет неугловой области на краю. Здесь они актуальны, поскольку угловые области определяются пересечениями краевых областей. Кроме того, без области правого края доступного размера запуск поворотов на углах также будет затруднен или невозможен. Что касается моего оборудования (ThinkPad X201), я обнаружил, что эти значения работают хорошо (у вас могут быть другие, требуются некоторые эксперименты):

synclient RightEdge=4800 TopEdge=2000 BottomEdge=4000

Оформление уголка палки. Хотя synclientэто отлично подходит для немедленного тестирования настроек, они теряются при перезапуске X. Чтобы заставить их придерживаться, создайте /etc/X11/xorg.conf.d/51-synaptics-cornercoasting.confфайл конфигурации с аналогичным именем, как описано здесь (он также работает в Ubuntu!). Для приведенного выше случая содержание будет:

Section "InputClass"
    Identifier "Touchpad tweaks"
    Driver "synaptics"
    MatchIsTouchpad "on"
        Option "VertEdgeScroll" "on"
      # Option "HorizEdgeScroll" "on" # Enable if you want this.
        Option "CornerCoasting" "on"
        Option "CoastingSpeed" "1"
        Option "CoastingFriction" "0"

        Option "RightEdge" "4800"
        Option "TopEdge" "2000"
        Option "BottomEdge" "4000"
EndSection

А затем перезапустите X, чтобы увидеть эффект, конечно.

tanius
источник
0

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

Общесистемный:

  • Чувствительная трекпоинт на кнопочной прокрутке. При этом используется трекпоинт ThinkPad (но его можно изменить для других трекпоинтов) для прокрутки, пока нажата кнопка средней мыши. Это называется « прокруткой на кнопке » в libinputдрайвере и «эмуляцией колесика мыши» в более старом evdevдрайвере.

    Идея заключается в том, что вы устанавливаете его так чувствительно, что небольшое количество постоянного давления быстро прокручивает длинные страницы. Чтобы настроить это, пожалуйста, обратитесь к этому вопросу , ESP. ответ на @htorque , что лучше всего работает с libinputводителем (по умолчанию , как в Ubuntu 17.10).

Специально для Firefox:

  • Возьмите и перетащите расширение . Это обеспечивает своего рода режим инерционного броска / инерционного перетаскивания, очень похожий на инерционную прокрутку двумя пальцами. Настройте его, используя левую кнопку мыши, которая наиболее похожа на режим инертной прокрутки двумя пальцами на сенсорной панели. Просто нажмите и удерживайте один палец, а затем «киньте веб-страницу». Конечно, это мешает выделению текста, но у них есть кнопка для временного отключения расширения.

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

  • Автопрокрутка. Посмотрите этот ответ, чтобы узнать, как его настроить. Кроме того, настройте касание двумя пальцами, чтобы создать средний щелчок - по сути, просто synclient TapButton2=2. Теперь, щелчок двумя пальцами вызовет элемент автопрокрутки в Firefox, и удаление указателя мыши от него будет постоянно прокручиваться в этом направлении до щелчка. К сожалению, перемещение указателя должно быть сделано одним пальцем. (Он просто не работает с двумя пальцами, даже если прокрутка двумя пальцами отключена.) И я не смог выяснить, как инвертировать направление прокрутки этой функции, чтобы она была «естественной».

tanius
источник