Как отключить липкие углы в Windows 10

115

Похоже, Microsoft пыталась решить эту проблему с несколькими мониторами и углами экрана .

В Windows 7 нет границы между мониторами, и мышь может свободно перемещаться по верхней части экрана между моими 3 мониторами, при условии, что я установил их высоту равными в настройках дисплея. В Windows 8 введены липкие углы. Смотрите этот вопрос .

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

На рисунке примерно показана область, в которой движение мыши запрещено в Windows 10, но разрешено в Windows 7.

введите описание изображения здесь

Лично у меня не было проблем с неограниченным движением мыши по верху моих экранов - я привык к «прицеливанию» по оси x и удобству неограниченного перемещения курсора. Как и всем людям, которые хотели отключить его в W8, мне интересно, есть ли способ отключить его в W10.

Изменить на адрес возможного дубликата:

Хотя проблема идентична проблеме в этом вопросе , решения для решения проблемы в W8, связанные с редактированием раздела реестра MouseCornerClipLength, не работают в W10, поскольку этот раздел реестра отсутствует в W10. Также добавление этого ключа и установка значения не работает. Я искал весь реестр и не мог найти его в другом месте. Никакие другие ключи W10 в узле, указанном в решении W8, не являются очевидными заменами.

Изменить, чтобы рассмотреть возможные решения в комментариях

Предложение harrymc 1 и предложение 2, которые работали для Windows 8.1, не работают в Windows 10.

DJV
источник
11
Это касается не только кнопки закрытия окна, но и других вещей. Например, перемещение окна с одного дисплея на другой. Раньше вы могли перетаскивать дисплей прямо через верхнюю часть дисплея в другой. Теперь вы должны переместить его вниз при перетаскивании, а затем переместить обратно. Я врезался в границы всю прошлую ночь после установки W10. Я не могу поверить, что больше людей не жаловались :)
DJ
1
Поэтому я не был уверен, почему я добавил его как комментарий, а не как ответ. Спасибо за информацию.
birdman3131
4
@harrymc, несмотря на долгое и широкое участие в бета
djv
11
Я просто хочу плакать всякий раз, когда случайно закрываю приложение, думая, что какой-то программист из Microsoft потратил время на реализацию этой глупой функции и не думал ни секунды, чтобы люди нажали кнопку X, когда все, что они хотели сделать, это сосредоточиться на окно на другом экране. О дизайне книг поговорим об этом в будущем
Жан-Симон Брошу
1
@djv: вы можете использовать Win + Shift + Arrows для перемещения приложений с одного экрана на другой. Это намного быстрее, чем перетаскивать их. Липкие Углы все еще очень отстойны.
Эрик Думинил

Ответы:

40

Тема Как отключить липкие углы в Windows 10? from answers.microsoft.com относится к этой же проблеме:

При перемещении мыши от левого монитора к верхнему левому углу правого монитора угол в 6 пикселей поймает вашу мышь.

У меня похожая проблема в Windows 8.1, и поменял MouseCornerClipLength в реестре на 0 из 6 и отключил Угловую навигацию в панели задач и свойства меню «Пуск».

Во всяком случае, в Win10 я не могу найти MouseCornerClipLength, угловая навигация вообще отключена, и добавление одинаковых ключей реестра не поможет.

4 июня 2015 года инженер службы поддержки Microsoft по имени Виджай Б ответил так:

Мы знаем об этой проблеме, и в настоящее время она расследуется. Следите за обновлениями, и мы обновим эту ветку, когда появится дополнительная информация.

Если другие постеры, испытывающие это, не отправили это через приложение Windows Feedback, сделайте это. Эта статья http://answers.microsoft.com/en-us/insider/forum/insider_apps-insider_feedback/how-to-share-feedback-on-windows-10-technical/5e501781-a580-43e3-8926-40ae19343805 объясняет с помощью приложения Windows Feedback.

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

[ EDIT ] Приложение с открытым исходным кодом Non Stick Mouse, как говорят, предлагает решение для нескольких мониторов. Разработчик заявляет:

То, что он делает, - это наведите курсор мыши на торчащие углы, а также на края экрана при перемещении окон. Таким образом, он позволяет перетаскивать окна через экраны без захвата мыши с помощью Snap Assist.
[...]
Это приложение не читает и не записывает на любой диск, оно не имеет доступа к реестру и не подключается к Интернету.

Предупреждение: в комментариях было отмечено, что virustotal обнаруживает вредоносное ПО в последней версии "антипригарной мыши".

harrymc
источник
3
Почти три месяца спустя. Только что обновился до Windows 10, и это все еще проблема. Спасибо, что указали мне, куда жаловаться.
Chaser324
2
Пожалуйста, если вы оставите отзыв в приложении «Обратная связь», либо просто проголосуйте за тот из них, который набрал наибольшее количество голосов, вместо (или, по крайней мере, в дополнение к) создания другого поста. Или добавьте новый пост и добавьте в голос все существующие посты (что я и сделал). Я не вижу другого способа решить проблему, кроме как повысить осведомленность.
Джинглстхула
16
Все еще проблема в 2017 году
Кит
5
По-прежнему проблема в конце 2018 года, они никогда ее не исправят.
Артур Кастро
4
Год 2019, до сих пор нет улучшений.
CustomX
24

Я разработал приложение для решения этой проблемы, поскольку Microsoft, похоже, намерена игнорировать его. Вы можете получить его здесь: http://www.jawfin.net/nsm

Джонатан Бартон
источник
Ууу, кто-то заметил! Но оставаясь в курсе, если кому-то нужна помощь с этим приложением или есть предложения по улучшению, пожалуйста, опубликуйте на моем сайте, чтобы все могли видеть его в одном месте. Приветствия :)
Джонатан Бартон
1
Это работает на удивление хорошо, хотя у него есть проблемы с пересечением мониторов с разными разрешениями.
Исана
@JonathanBarton Ваше приложение обнаруживается как вирус в сканировании . Есть ли причина, почему? Он также показывает подозрительность при сканировании MBAM.
mbomb007
Привет @ mbomb007 - на соответствующем веб-сайте есть обильные комментарии jawfin.net/nsm, в которых подробно рассказывается о том, что я получал от AV. Пожалуйста, прочитайте их для получения дополнительной информации и способов, которыми вы можете убедиться, что приложение чистое. Приветствия
Джонатан Бартон
@JonathanBarton Спасибо, я не проверял комментарии.
mbomb007
7

Частичное решение

  • Отключить «Snap»
  • Не решает проблему в целом, но делает ее намного менее серьезной.
  • Легко сделать: отключить «Snap» в Windows 10 . Смотрите подробности ниже, если ссылка не работает.
  • Вы можете реализовать обходной путь для полного решения, если вы действительно этого хотите, но это большая работа, так как вам буквально потребуется создать программу для этого. Подробности в конце этого поста.

Фон

У меня есть 6 мониторов:

                Monitors
   Top row:  [#1] [#2] [#3]
Bottom row:  [#4] [#5] [#6]   (eye-level; #5 is main display)

Всякий раз, когда я перемещал окно с одного монитора на другой, Windows 10 проверяла, хочу ли я увеличить его. Эта функция, называемая «Snap», кажется, содержит ошибки, потому что она часто мешала мне перемещать окно с одного дисплея на другой. Я нашел этот вопрос SuperUser, хотя расстроен по этому поводу.

Отключение Snap действительно помогло мне. Это также автоматически отключает Aero Shake , который я считаю бонусом.

Процедура

Чтобы отключить «Snap» и «Aero Shake»:

  1. Перейти к:
    • "Панель управления"
    • -> «Все элементы панели управления»
    • -> "Центр Простоты Доступа"
    • -> «Сделайте мышь проще в использовании».
  2. Установите флажок «Запретить автоматическое расположение окон при перемещении к краю экрана».
  3. Нажмите «ОК» или «Применить».

Результаты

  • «Snap», который блокировал перемещение окон с одного экрана на другой, теперь отключен. Окна могут свободно двигаться.
  • "Aero Shake", который заставляет все окна сворачиваться при встряхивании одного окна, теперь отключен.
  • «Липкие углы», которые вызывают аналогичную проблему, но только на углах (и не на всех границах), все еще являются проблемой. Насколько я могу судить, в настоящее время (2015-08-18) нет способа отключить Sticky Corners или еще больше смягчить проблемы, которые он вызывает.

Временное решение

Для Sticky Corners есть обходной путь, но это не весело. Суть в том, что вы создаете программу WPF, которая помещает маленькие черные квадраты в угол каждого из ваших дисплеев, а затем, когда программа обнаруживает движение мыши над этими квадратами, она переключает вашу мышь на следующий экран, как и предполагалось. Технически вы, вероятно, захотите отрегулировать форму «квадратов», чтобы она соответствовала области, на которую фактически влияют Sticky Corners (вероятно, L-образная форма?).

В основном:

  1. Загрузите Visual Studio, например сообщество Visual Studio 2015.
  2. Сделайте проект WPF.
  3. Сделайте так, чтобы приложение WPF создавалось Windowна каждой странице. Для каждого Window:

    this.Topmost = true;
    this.AllowsTransparency = true;
    this.Background = Brushes.Transparent;
    this.WindowState = WindowStates.Maximized;
    Border border = new Border();
    this.Content = border;
    border.Background = Brushes.Transparent;
    border.BorderBrush = Brushes.Black;
    border.BorderThickness = new Thickness(5);
    border.MouseMove += HandleThisByMovingTheMouseToTheCorrectScreen();
    
  4. Напишите, HandleThisByMovingTheMouseToTheCorrectScreen()чтобы переместить мышь в нужное место, чтобы липкие углы не попали в ловушку.

  5. Если вы хотите получить фантазию, вместо a Border, создайте a Gridс отдельным Canvasдля каждого угла (в отличие от Border, который также покрывал бы края, которые не являются углами на каждом экране).

натуральный
источник
Какое это имеет отношение к тому, чего я пытаюсь достичь?
DJ
@Verdolino: Это значительно облегчило проблему, из-за которой я нашел этот вопрос, поэтому я подумал, что это может помочь другим на моем месте. Я добавил раздел «Временное решение », в котором подробно описывается, как создать программу WPF, которая устранит проблему с залипшими углами, если вы хотите зайти так далеко. Но, вероятно, потребуется час или два, чтобы написать это.
Nat
1
Если это решит проблему. Но вы даже сказали «Липкие углы», которые вызывают аналогичную проблему, но только на углах (и не на всех границах), все еще проблема .
DJV
Предоставленное мною «решение» отключает ошибку, похожую на «Sticky Edges», с которой я, похоже, столкнулся в Windows 10 Education x64. Эта проблема затрагивает все края, а не только углы. После реализации эта проблема исчезнет, ​​но остается более ограниченная проблема «липких углов». Обходная программа устраняет проблему Sticky Corners, буквально обнаруживая, когда ваша мышь попадает в ловушку Sticky Corners, и программно перемещая ее на следующий экран.
Nat
2
Я действительно написал программу для этого. Чрезвычайно быстрый и грязный, я даже жестко закодировал свои угловые точки - но это может быть дружелюбно при желании! Я только отправляю сообщения, хотя отмечу, что обходной путь выше требует большей работы, которую обеспечивает ответ. Если вы просто подведете указатель мыши к следующему углу соседнего монитора, липкий угол тоже поднимет это - вам нужно переместить его в текущий монитор от угла (это делает 8 пикселей) - затем переместите его на следующий монитор. Вы также должны спать поток пользовательского интерфейса, чтобы остановить перехват его Win10 даже после этого -.-
Джонатан Бартон
4

Это также доставило мне неприятности. Я попробовал реализовать решение в AutoHotkey, которое сохраняет все основные функции «привязки», в то же время позволяя вам строго отключать «залипание» мыши, которое происходит в углах между мониторами.

Временное решение:

https://github.com/patricknelson/win10-sticky-mouse

  1. Установить AutoHotkey
  2. Загрузите и запустите win10-sticky-mouse.ahk из вышеупомянутого репозитория .

Ключевым моментом здесь является наблюдение за сообщениями WM_MOUSEMOVEи их использование, чтобы предсказать, куда будет перемещаться мышь, а затем перескочить (пересечь ось к основной оси движения) настолько, чтобы убедиться, что Windows не [ловко] ловко ловит вашу мышь.

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

chunk_split
источник
1
Это работает и не отмечается как вирус многими антивирусами. VirusTotal
mbomb007
Вы можете использовать, exeно я все равно рекомендую загрузить AutoHotkey и загрузить ahkскрипт напрямую (просто дважды щелкнув); просто более безопасная привычка, как правило.
chunk_split
3

В духе вышеупомянутого вклада Джонатана Бартона я разработал небольшое приложение для командной строки Windows C #, чтобы справиться с этой проблемой и позволить плавно перемещаться мышью по нескольким мониторам, а также переходить между крайним левым и правым краем. мониторы . Обратите внимание, что эта программа не требует "эвристики", чтобы определить, когда курсор находится около края экрана, поэтому курсор очень плавно перемещается по краям.

  • MouseUnSnag - GitHub - Вы можете скомпилировать его из исходного кода, или есть исполняемый файл, предоставляемый как «релиз» GitHub.

MouseUnSnag также обращается к этому связанному вопросу superuser.com о застревании курсора на краях мониторов различной высоты:

дол
источник
Спасибо за этот фантастический инструмент. Это приятно использовать. Даже лучше, чем кажется на практике.
Дрю Ноакс
Это работает для меня, но Chrome обнаруживает его как вирус при загрузке. Я использую только встроенный Windows AV, поэтому не уверен, что Chrome просто делегирует это. Однако в его readme есть инструкции по компиляции, и они отлично работают. Я не понимал, насколько прост Nuget и насколько мал компилятор C #. Не видел ничего «смешного» в исходном файле, поэтому чувствую себя хорошо по поводу проблемы с AV. Однако, чтобы использовать постоянно, нужно, чтобы он запускался не из CLI, я думаю.
Джейсон Виннебек,
Спасибо за хедз-ап на получение пометки AV. Это может быть потому, что EXE-файл "без знака", поэтому он может отображаться как "неизвестный издатель" или что-то подобное.
дале
Это прекрасно работает! Лучше, чем мой сценарий (ответ выше). Кроме того: Для невероятно ленивых / тупых (как и я) вот ссылка на страницу релизов для скачивания: github.com/dale-roberts/MouseUnSnag/releases - ps Можете ли вы обновить это, чтобы при запуске не включать консоль?
chunk_split
ps А пока я запустлю это при запуске и просто минимизирую его в системном трее с помощью RBTray (я также отправил туда запрос, чтобы опция командной строки тоже
минимизировала
0

Попробуйте использовать приложение Display Fusion . Эта проблема решается даже в Windows 10. Требуемый параметр находится в настройках: Управление мышью: предотвращение зацепления курсора мыши на невыровненных краях монитора.

Работает как чемпион!

Дэвид
источник
Где мы можем получить это программное обеспечение? Пожалуйста, не отвечайте в комментариях; отредактируйте свой ответ, чтобы сделать его более понятным и полным.
Скотт
Нашел это: displayfusion.com . На данный момент стоимость лицензии на домашнее хозяйство составляет 35 долларов США, но, похоже, она решает проблему.
djv
0

Я не уверен, всегда ли это было вариантом, если это недавно было реализовано, но я нашел решение, выбрав «
Настройки»> «Система»> «Многозадачность»,
затем «Выключить оснастку, выключив». Организаторы экрана ",

который отключит все настройки Snap.
Я нашел эту настройку из учебного руководства на этом сайте: https://www.tekrevue.com/tip/how-to-disable-snap-assist-windows-10/

Визуальная прогулка по:

Откройте настройки и нажмите на систему

Откройте настройки и нажмите на систему

Нажмите на многозадачность и отключите первый вариант Snap

Нажмите на многозадачность и отключите первый вариант Snap

asmith
источник
-1

Это была функция Windows 8, называемая липкими углами (IIRC). Вот кто-то, кто утверждает, что отключил его с изменением реестра:

  1. В реестре поиск: MouseCornerClipLength
  2. Установите значение 0 (из 6)
  3. Повторите (есть более одного ключа с этим именем, я не уверен, какие из них необходимы)
  4. Запустить снова

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

Арон Фостер
источник
Я тоже не в такой ситуации, но я попробую это первым делом, когда вернусь домой. Спасибо
djv
7
Выглядело многообещающе, но это не работает в Windows 10. См. Мое редактирование.
DJV
Этот ответ выглядит так, как будто он принадлежит к тому же вопросу, но для Win 8: superuser.com/questions/498576/…
jinglesthula
-2

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

JVincent
источник
-3

Я не знаю, поможет ли это другим. Но я просто перетащил номера мониторов, чтобы переместить # 1 туда, где был # 2, и наоборот. Это сработало. И до сих пор (скрестив пальцы) это не вернулось к проблеме залипания мыши. Удачи.

MargieC
источник
1
Но тогда мониторы были бы неправильным путем ...?
djsmiley2k - CoW
-3

Эта проблема, по-видимому, присутствует в Windows 10, когда между двумя дисплеями в разделе конфигурации «Выбор и перестановка дисплеев» имеется разрыв . Я смог решить проблему, слегка сместив два дисплея друг к другу, чтобы между ними не было визуального зазора. См пример

mnwsmit
источник