Вопрос или проблема
Пробую Wayland после множества трудностей с его настройкой для соответствия X11 в плане используемых функций. Но с тех пор как я сменил сеанс (и ничего больше) у меня теперь самая раздражающая проблема: курсор мыши привязывается к краям экрана.
Хотите перетянуть полосу прокрутки на полноэкранном окне? Нет, я, похоже, действительно должен изменять размер окна вместо этого. Хотите переместить мышь с одного экрана на другой? Как насчет остановки на краю вместо этого? Такая мелочь, но так раздражает.
Я заметил, что если я двигаю мышь достаточно быстро, привязка игнорируется (что действительно полезно, когда пытаешься попасть на полосу прокрутки…).
Я перебирал настройки, но безуспешно. Искал в интернете, но нахожу только людей с другими проблемами с прыгающей мышью – казалось бы, не связанными с краями окон / экранов. Если мой ответ где-то и есть, он затерян в шуме.
Так есть ли шанс, что кто-то знает, как это исправить? Или мне лучше оставить Wayland «взрослеть» еще на 5 лет, прежде чем попробовать снова?
Я использую следующее:
Операционная система: openSUSE Tumbleweed 20240924
Версия KDE Plasma: 6.1.5
Версия KDE Frameworks: 6.6.0
Версия Qt: 6.7.3
Версия ядра: 6.10.11-1-default (64-бит)
Графическая платформа: Wayland
Вот (вероятно, слишком подробная) информация от Wayland
интерфейс: 'wl_compositor', версия: 6, имя: 1
интерфейс: 'zwp_tablet_manager_v2', версия: 1, имя: 3
интерфейс: 'zwp_keyboard_shortcuts_inhibit_manager_v1', версия: 1, имя: 4
интерфейс: 'zxdg_decoration_manager_v1', версия: 1, имя: 5
интерфейс: 'wp_viewporter', версия: 1, имя: 6
интерфейс: 'wp_security_context_manager_v1', версия: 1, имя: 7
интерфейс: 'wp_fractional_scale_manager_v1', версия: 1, имя: 8
интерфейс: 'wl_shm', версия: 1, имя: 9
форматы (fourcc):
0x38344258 = 'XB48'
0x38344241 = 'AB48'
0x30334258 = 'XB30'
0x30334241 = 'AB30'
0x30335258 = 'XR30'
0x30335241 = 'AR30'
1 = 'XR24'
0 = 'AR24'
интерфейс: 'wl_seat', версия: 9, имя: 10
имя:
возможности: указатель клавиатура касание
скорость повторения клавиатуры: 25
задержка повтора клавиатуры: 600
интерфейс: 'zwp_pointer_gestures_v1', версия: 3, имя: 11
интерфейс: 'zwp_pointer_constraints_v1', версия: 1, имя: 12
интерфейс: 'zwp_relative_pointer_manager_v1', версия: 1, имя: 13
интерфейс: 'wl_data_device_manager', версия: 3, имя: 14
интерфейс: 'zwlr_data_control_manager_v1', версия: 2, имя: 15
интерфейс: 'wp_cursor_shape_manager_v1', версия: 1, имя: 16
интерфейс: 'zwp_primary_selection_device_manager_v1', версия: 1, имя: 17
интерфейс: 'org_kde_kwin_idle', версия: 1, имя: 18
интерфейс: 'zwp_idle_inhibit_manager_v1', версия: 1, имя: 19
интерфейс: 'ext_idle_notifier_v1', версия: 1, имя: 20
интерфейс: 'org_kde_plasma_shell', версия: 8, имя: 21
интерфейс: 'org_kde_kwin_appmenu_manager', версия: 1, имя: 22
интерфейс: 'org_kde_kwin_server_decoration_palette_manager', версия: 1, имя: 23
интерфейс: 'org_kde_plasma_virtual_desktop_management', версия: 2, имя: 25
интерфейс: 'org_kde_kwin_shadow_manager', версия: 2, имя: 27
интерфейс: 'org_kde_kwin_dpms_manager', версия: 1, имя: 28
интерфейс: 'org_kde_kwin_server_decoration_manager', версия: 1, имя: 29
интерфейс: 'kde_output_management_v2', версия: 9, имя: 30
интерфейс: 'zxdg_output_manager_v1', версия: 3, имя: 31
xdg_output_v1
выход: 68
имя: 'DP-1'
логический_x: 0, логический_y: 0
логическая_ширина: 1080, логическая_высота: 1920
xdg_output_v1
выход: 66
имя: 'HDMI-A-1'
логический_x: 1080, логический_y: 420
логическая_ширина: 1920, логическая_высота: 1080
xdg_output_v1
выход: 61
имя: 'eDP-1'
логический_x: 3000, логический_y: 840
логическая_ширина: 1920, логическая_высота: 1080
интерфейс: 'wl_subcompositor', версия: 1, имя: 32
интерфейс: 'zxdg_exporter_v2', версия: 1, имя: 33
интерфейс: 'zxdg_importer_v2', версия: 1, имя: 34
интерфейс: 'xdg_activation_v1', версия: 1, имя: 37
интерфейс: 'wp_content_type_manager_v1', версия: 1, имя: 39
интерфейс: 'wp_tearing_control_manager_v1', версия: 1, имя: 40
интерфейс: 'xdg_toplevel_drag_manager_v1', версия: 1, имя: 41
интерфейс: 'kde_screen_edge_manager_v1', версия: 1, имя: 42
интерфейс: 'frog_color_management_factory_v1', версия: 1, имя: 43
интерфейс: 'wp_presentation', версия: 1, имя: 44
ид_часы_презентации: 1 (CLOCK_MONOTONIC)
интерфейс: 'xdg_wm_dialog_v1', версия: 1, имя: 45
интерфейс: 'xdg_wm_base', версия: 6, имя: 48
интерфейс: 'zwlr_layer_shell_v1', версия: 5, имя: 49
интерфейс: 'wp_drm_lease_device_v1', версия: 1, имя: 51
путь: /dev/dri/card1
интерфейс: 'kde_output_order_v1', версия: 1, имя: 52
интерфейс: 'zwp_text_input_manager_v1', версия: 1, имя: 53
интерфейс: 'zwp_text_input_manager_v2', версия: 1, имя: 54
интерфейс: 'zwp_text_input_manager_v3', версия: 1, имя: 55
интерфейс: 'wl_drm', версия: 2, имя: 57
интерфейс: 'zwp_linux_dmabuf_v1', версия: 4, имя: 58
главное устройство: 0xE201 (/dev/dri/card1 или /dev/dri/renderD128)
пакет
целевое устройство: 0xE201 (/dev/dri/card1 или /dev/dri/renderD128)
флаги: нет
форматы (fourcc) и модификаторы (имена):
0x38344241 = 'AB48'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x38344241 = 'AB48'; 0x0100000000000001 = INTEL_X_TILDED
0x38344241 = 'AB48'; 0x0100000000000002 = INTEL_Y_TILDED
0x38344241 = 'AB48'; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x38344241 = 'AB48'; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x38344241 = 'AB48'; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
0x38344258 = 'XB48'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x38344258 = 'XB48'; 0x0100000000000001 = INTEL_X_TILDED
0x38344258 = 'XB48'; 0x0100000000000002 = INTEL_Y_TILDED
0x38344258 = 'XB48'; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x38344258 = 'XB48'; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x38344258 = 'XB48'; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
0x35315241 = 'AR15'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x35315241 = 'AR15'; 0x0100000000000001 = INTEL_X_TILDED
0x35315241 = 'AR15'; 0x0100000000000002 = INTEL_Y_TILDED
0x35315241 = 'AR15'; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x35315241 = 'AR15'; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x35315241 = 'AR15'; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
0x3231564e="NV12"; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x3231564e="NV12"; 0x0100000000000001 = INTEL_X_TILDED
0x3231564e="NV12"; 0x0100000000000002 = INTEL_Y_TILDED
0x3231564e="NV12"; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
0x20203852 = 'R8 '; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x20203852 = 'R8 '; 0x0100000000000001 = INTEL_X_TILDED
0x20203852 = 'R8 '; 0x0100000000000002 = INTEL_Y_TILDED
0x20203852 = 'R8 '; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x20203852 = 'R8 '; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x20203852 = 'R8 '; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
0x48344241 = 'AB4H'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x48344241 = 'AB4H'; 0x0100000000000001 = INTEL_X_TILDED
0x48344241 = 'AB4H'; 0x0100000000000002 = INTEL_Y_TILDED
0x48344241 = 'AB4H'; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x48344241 = 'AB4H'; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x48344241 = 'AB4H'; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
0x20363152 = 'R16 '; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x20363152 = 'R16 '; 0x0100000000000001 = INTEL_X_TILDED
0x20363152 = 'R16 '; 0x0100000000000002 = INTEL_Y_TILDED
0x20363152 = 'R16 '; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x20363152 = 'R16 '; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x20363152 = 'R16 '; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
0x48344258 = 'XB4H'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x48344258 = 'XB4H'; 0x0100000000000001 = INTEL_X_TILDED
0x48344258 = 'XB4H'; 0x0100000000000002 = INTEL_Y_TILDED
0x48344258 = 'XB4H'; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x48344258 = 'XB4H'; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x48344258 = 'XB4H'; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
0x38385247 = 'GR88'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x38385247 = 'GR88'; 0x0100000000000001 = INTEL_X_TILDED
0x38385247 = 'GR88'; 0x0100000000000002 = INTEL_Y_TILDED
0x38385247 = 'GR88'; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x38385247 = 'GR88'; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x38385247 = 'GR88'; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
0x36314752 = 'RG16'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x36314752 = 'RG16'; 0x0100000000000001 = INTEL_X_TILDED
0x36314752 = 'RG16'; 0x0100000000000002 = INTEL_Y_TILDED
0x36314752 = 'RG16'; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x36314752 = 'RG16'; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x36314752 = 'RG16'; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
0x32335247 = 'GR32'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x32335247 = 'GR32'; 0x0100000000000001 = INTEL_X_TILDED
0x32335247 = 'GR32'; 0x0100000000000002 = INTEL_Y_TILDED
0x32335247 = 'GR32'; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x32335247 = 'GR32'; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x32335247 = 'GR32'; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
0x32315241 = 'AR12'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x32315241 = 'AR12'; 0x0100000000000001 = INTEL_X_TILDED
0x32315241 = 'AR12'; 0x0100000000000002 = INTEL_Y_TILDED
0x32315241 = 'AR12'; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x32315241 = 'AR12'; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x32315241 = 'AR12'; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
пакет
целевое устройство: 0xE201 (/dev/dri/card1 или /dev/dri/renderD128)
флаги: нет
форматы (fourcc) и модификаторы (имена):
0x34325241 = 'AR24'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x34325241 = 'AR24'; 0x0100000000000001 = INTEL_X_TILDED
0x34325241 = 'AR24'; 0x0100000000000002 = INTEL_Y_TILDED
0x34325241 = 'AR24'; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x34325241 = 'AR24'; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x34325241 = 'AR24'; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
0x34324241 = 'AB24'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x34324241 = 'AB24'; 0x0100000000000001 = INTEL_X_TILDED
0x34324241 = 'AB24'; 0x0100000000000002 = INTEL_Y_TILDED
0x34324241 = 'AB24'; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x34324241 = 'AB24'; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x34324241 = 'AB24'; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
0x34324258 = 'XB24'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x34324258 = 'XB24'; 0x0100000000000001 = INTEL_X_TILDED
0x34324258 = 'XB24'; 0x0100000000000002 = INTЕЛ_Y_TILDED
0x34324258 = 'XB24'; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x34324258 = 'XB24'; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x34324258 = 'XB24'; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
0x34325258 = 'XR24'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x34325258 = 'XR24'; 0x0100000000000001 = INTEL_X_TILDED
0x34325258 = 'XR24'; 0x0100000000000002 = INTEL_Y_TILDED
0x34325258 = 'XR24'; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x34325258 = 'XR24'; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x34325258 = 'XR24'; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
пакет
целевое устройство: 0xE201 (/dev/dri/card1 или /dev/dri/renderD128)
флаги: нет
форматы (fourcc) и модификаторы (имена):
0x30335241 = 'AR30'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x30335241 = 'AR30'; 0x0100000000000001 = INTEL_X_TILDED
0x30335241 = 'AR30'; 0x0100000000000002 = INTEL_Y_TILDED
0x30335241 = 'AR30'; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x30335241 = 'AR30'; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x30335241 = 'AR30'; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
0x30335258 = 'XR30'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x30335258 = 'XR30'; 0x0100000000000001 = INTEL_X_TILDED
0x30335258 = 'XR30'; 0x0100000000000002 = INTEL_Y_TILDED
0x30335258 = 'XR30'; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x30335258 = 'XR30'; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x30335258 = 'XR30'; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
0x30334241 = 'AB30'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x30334241 = 'AB30'; 0x0100000000000001 = INTEL_X_TILDED
0x30334241 = 'AB30'; 0x0100000000000002 = INTЕЛ_Y_TILDED
0x30334241 = 'AB30'; 0x0100000000000006 = INTEL_Y_TILDED_GEN12_RC_CCS
0x30334241 = 'AB30'; 0x0100000000000008 = INTEL_Y_TILDED_GEN12_RC_CCS_CC
0x30334241 = 'AB30'; 0x00ffffffffffffff = НЕДОПУСТИМЫЙ
интерфейс: 'wp_linux_drm_syncobj_manager_v1', версия: 1, имя: 59
интерфейс: 'kde_output_device_v2', версия: 8, имя: 60
интерфейс: 'wl_output', версия: 4, имя: 61
имя: eDP-1
x: 3000, y: 840, масштаб: 1,
физическая_ширина: 309 мм, физическая_высота: 174 мм,
ориентация_субпикселей: неизвестно, трансформация_выхода: нормальная,
режим:
ширина: 1920 пикселей, высота: 1080 пикселей, частота обновления: 60.049 Гц,
флаги: текущий
интерфейс: 'org_kde_kwin_blur_manager', версия: 1, имя: 62
интерфейс: 'org_kde_kwin_contrast_manager', версия: 2, имя: 63
интерфейс: 'org_kde_kwin_slide_manager', версия: 1, имя: 64
интерфейс: 'kde_output_device_v2', версия: 8, имя: 65
интерфейс: 'wl_output', версия: 4, имя: 66
имя: HDMI-A-1
x: 1080, y: 420, масштаб: 1,
физическая_ширина: 477 мм, физическая_высота: 268 мм,
ориентация_субпикселей: неизвестно, трансформация_выхода: нормальная,
режим:
ширина: 1920 пикселей, высота: 1080 пикселей, частота обновления: 60.000 Гц,
флаги: текущий
интерфейс: 'kde_output_device_v2', версия: 8, имя: 67
интерфейс: 'wl_output', версия: 4, имя: 68
имя: DP-1
x: 0, y: 0, масштаб: 1,
физическая_ширина: 477 мм, физическая_высота: 268 мм,
ориентация_субпикселей: неизвестно, трансформация_выхода: 90°,
режим:
ширина: 1920 пикселей, высота: 1080 пикселей, частота обновления: 60.000 Гц,
флаги: текущий
Ответ или решение
Как отключить привязку курсора мыши к краям экрана в среде Wayland
Если вы столкнулись с проблемой привязки указателя мыши к границам экрана в системе, работающей на Wayland, что вызывает неудобства при использовании окон приложений, вы не одиноки. Этот вопрос часто поднимается пользователями, переключившимися на Wayland из X11. К сожалению, в данный момент не существует универсального способа полностью отключить функцию привязки курсора к краям экрана на Wayland, так как это поведение зависит от реализации менеджера окон. Тем не менее, вы можете попробовать следующие шаги, чтобы улучшить ситуацию:
1. Проверьте настройки KWin
Поскольку вы используете KDE Plasma, первым делом проверьте настройки самого менеджера окон KWin. В KDE Plasma есть несколько настроек, касающихся поведения окон и курсора:
- Откройте Системные настройки.
- Перейдите в раздел Управление окнами.
- Проверьте параметры в подменю Эффекты и Поведение, возможно, вам удастся найти варианты, связанные с привязкой курсора.
2. Попробуйте отключить горячие углы
Иногда горячие углы могут вызывать нежелательное поведение курсора. Чтобы отключить их:
- Откройте Системные настройки.
- Перейдите в раздел Рабочий стол > Поведение рабочего стола > Горячие углы.
- Отключите все горячие углы или настройте их на другой функционал.
3. Параметры Wayland
Некоторые параметры Wayland могут быть изменены с помощью командной строки, но это обычно требует глубоких знаний системы. Например, вы можете попытаться изменить параметры, передаваемые при загрузке, однако это больше подходит для опытных пользователей.
4. Альтернативные решения
Если проблема не решается, и вы часто сталкиваетесь с ней, рассмотрите возможность использования X11, так как он предоставляет больше возможностей для настройки таких функций. Или подождите, пока разработчики KDE и Wayland реализуют более продвинутые параметры для управления поведением курсора.
5. Сообщите об ошибке
Если ни одно из решений не помогает, рекомендуется сообщить об ошибке в соответствующую систему управления ошибками, чтобы разработчики могли принять это во внимание и, возможно, ввести необходимые изменения в будущих версиях.
Заключение
К сожалению, в данный момент у вас может не быть идеального решения этой проблемы на Wayland. Однако, используя вышеуказанные советы, вы можете улучшить общее взаимодействие с рабочим столом и уменьшить влияние этой проблемы. Возможно, со временем, с развитием Wayland и KDE Plasma, возможностью настройки привязки курсора к краям экрана будут уделять большее внимание.