Вопрос или проблема
Попробовал 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_TILED
0x38344241 = 'AB48'; 0x0100000000000002 = INTEL_Y_TILED
0x38344241 = 'AB48'; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x38344241 = 'AB48'; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x38344241 = 'AB48'; 0x00ffffffffffffff = НЕДОПУСТИМО
0x38344258 = 'XB48'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x38344258 = 'XB48'; 0x0100000000000001 = INTEL_X_TILED
0x38344258 = 'XB48'; 0x0100000000000002 = INTEL_Y_TILED
0x38344258 = 'XB48'; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x38344258 = 'XB48'; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x38344258 = 'XB48'; 0x00ffffffffffffff = НЕДОПУСТИМО
0x35315241 = 'AR15'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x35315241 = 'AR15'; 0x0100000000000001 = INTEL_X_TILED
0x35315241 = 'AR15'; 0x0100000000000002 = INTEL_Y_TILED
0x35315241 = 'AR15'; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x35315241 = 'AR15'; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x35315241 = 'AR15'; 0x00ffffffffffffff = НЕДОПУСТИМО
0x3231564e = "NV12"; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x3231564e = "NV12"; 0x0100000000000001 = INTEL_X_TILED
0x3231564e = "NV12"; 0x0100000000000002 = INTEL_Y_TILED
0x3231564e = "NV12"; 0x00ffffffffffffff = НЕДОПУСТИМО
0x20203852 = 'R8 '; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x20203852 = 'R8 '; 0x0100000000000001 = INTEL_X_TILED
0x20203852 = 'R8 '; 0x0100000000000002 = INTEL_Y_TILED
0x20203852 = 'R8 '; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x20203852 = 'R8 '; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x20203852 = 'R8 '; 0x00ffffffffffffff = НЕДОПУСТИМО
0x48344241 = 'AB4H'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x48344241 = 'AB4H'; 0x0100000000000001 = INTEL_X_TILED
0x48344241 = 'AB4H'; 0x0100000000000002 = INTEL_Y_TILED
0x48344241 = 'AB4H'; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x48344241 = 'AB4H'; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x48344241 = 'AB4H'; 0x00ffffffffffffff = НЕДОПУСТИМО
0x20363152 = 'R16 '; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x20363152 = 'R16 '; 0x0100000000000001 = INTEL_X_TILED
0x20363152 = 'R16 '; 0x0100000000000002 = INTEL_Y_TILED
0x20363152 = 'R16 '; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x20363152 = 'R16 '; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x20363152 = 'R16 '; 0x00ffffffffffffff = НЕДОПУСТИМО
0x48344258 = 'XB4H'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x48344258 = 'XB4H'; 0x0100000000000001 = INTEL_X_TILED
0x48344258 = 'XB4H'; 0x0100000000000002 = INTEL_Y_TILED
0x48344258 = 'XB4H'; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x48344258 = 'XB4H'; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x48344258 = 'XB4H'; 0x00ffffffffffffff = НЕДОПУСТИМО
0x38385247 = 'GR88'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x38385247 = 'GR88'; 0x0100000000000001 = INTEL_X_TILED
0x38385247 = 'GR88'; 0x0100000000000002 = INTEL_Y_TILED
0x38385247 = 'GR88'; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x38385247 = 'GR88'; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x38385247 = 'GR88'; 0x00ffffffffffffff = НЕДОПУСТИМО
0x36314752 = 'RG16'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x36314752 = 'RG16'; 0x0100000000000001 = INTEL_X_TILED
0x36314752 = 'RG16'; 0x0100000000000002 = INTEL_Y_TILED
0x36314752 = 'RG16'; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x36314752 = 'RG16'; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x36314752 = 'RG16'; 0x00ffffffffffffff = НЕДОПУСТИМО
0x32335247 = 'GR32'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x32335247 = 'GR32'; 0x0100000000000001 = INTEL_X_TILED
0x32335247 = 'GR32'; 0x0100000000000002 = INTEL_Y_TILED
0x32335247 = 'GR32'; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x32335247 = 'GR32'; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x32335247 = 'GR32'; 0x00ffffffffffffff = НЕДОПУСТИМО
0x32315241 = 'AR12'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x32315241 = 'AR12'; 0x0100000000000001 = INTEL_X_TILED
0x32315241 = 'AR12'; 0x0100000000000002 = INTEL_Y_TILED
0x32315241 = 'AR12'; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x32315241 = 'AR12'; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x32315241 = 'AR12'; 0x00ffffffffffffff = НЕДОПУСТИМО
партия
целевое устройство: 0xE201 (/dev/dri/card1 или /dev/dri/renderD128)
флаги: нет
форматы (fourcc) и модификаторы (имена):
0x34325241 = 'AR24'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x34325241 = 'AR24'; 0x0100000000000001 = INTEL_X_TILED
0x34325241 = 'AR24'; 0x0100000000000002 = INTEL_Y_TILED
0x34325241 = 'AR24'; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x34325241 = 'AR24'; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x34325241 = 'AR24'; 0x00ffffffffffffff = НЕДОПУСТИМО
0x34324241 = 'AB24'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x34324241 = 'AB24'; 0x0100000000000001 = INTEL_X_TILED
0x34324241 = 'AB24'; 0x0100000000000002 = INTEL_Y_TILED
0x34324241 = 'AB24'; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x34324241 = 'AB24'; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x34324241 = 'AB24'; 0x00ffffffffffffff = НЕДОПУСТИМО
0x34324258 = 'XB24'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x34324258 = 'XB24'; 0x0100000000000001 = INTEL_X_TILED
0x34324258 = 'XB24'; 0x0100000000000002 = INTEL_Y_TILED
0x34324258 = 'XB24'; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x34324258 = 'XB24'; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x34324258 = 'XB24'; 0x00ffffffffffffff = НЕДОПУСТИМО
0x34325258 = 'XR24'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x34325258 = 'XR24'; 0x0100000000000001 = INTEL_X_TILED
0x34325258 = 'XR24'; 0x0100000000000002 = INTEL_Y_TILED
0x34325258 = 'XR24'; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x34325258 = 'XR24'; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x34325258 = 'XR24'; 0x00ffffffffffffff = НЕДОПУСТИМО
партия
целевое устройство: 0xE201 (/dev/dri/card1 или /dev/dri/renderD128)
флаги: нет
форматы (fourcc) и модификаторы (имена):
0x30335241 = 'AR30'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x30335241 = 'AR30'; 0x0100000000000001 = INTEL_X_TILED
0x30335241 = 'AR30'; 0x0100000000000002 = INTEL_Y_TILED
0x30335241 = 'AR30'; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x30335241 = 'AR30'; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x30335241 = 'AR30'; 0x00ffffffffffffff = НЕДОПУСТИМО
0x30335258 = 'XR30'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x30335258 = 'XR30'; 0x0100000000000001 = INTEL_X_TILED
0x30335258 = 'XR30'; 0x0100000000000002 = INTEL_Y_TILED
0x30335258 = 'XR30'; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x30335258 = 'XR30'; 0x0100000000000008 = INTEL_Y_TILED_GEN12_RC_CCS_CC
0x30335258 = 'XR30'; 0x00ffffffffffffff = НЕДОПУСТИМО
0x30334241 = 'AB30'; 0x0000000000000000 = ЛИНЕЙНЫЙ
0x30334241 = 'AB30'; 0x0100000000000001 = INTEL_X_TILED
0x30334241 = 'AB30'; 0x0100000000000002 = INTEL_Y_TILED
0x30334241 = 'AB30'; 0x0100000000000006 = INTEL_Y_TILED_GEN12_RC_CCS
0x30334241 = 'AB30'; 0x0100000000000008 = INTEL_Y_TILED_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 мм,
ориентация_subpixel: неизвестно, преобразование_выхода: нормальное,
режим:
ширина: 1920 px, высота: 1080 px, частота: 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 мм,
ориентация_subpixel: неизвестно, преобразование_выхода: нормальное,
режим:
ширина: 1920 px, высота: 1080 px, частота: 60.000 Гц,
флаги: текущий
интерфейс: 'kde_output_device_v2', версия: 8, имя: 67
интерфейс: 'wl_output', версия: 4, имя: 68
имя: DP-1
x: 0, y: 0, масштаб: 1,
физическая_ширина: 477 мм, физическая_высота: 268 мм,
ориентация_subpixel: неизвестно, преобразование_выхода: 90°,
режим:
ширина: 1920 px, высота: 1080 px, частота: 60.000 Гц,
флаги: текущий
Это может и не быть ответом, но в 2020 году был запрос на добавление “липких краев” в KDE KWin, который был реализован в 2024 году в этом
коммите.
Этот последующий запрос на отключение этой функции утверждает, что это можно сделать в Настройках системы > Мышь и сенсорные панели > Края экрана.
KWin для X11 заморожен, кроме исправлений ошибок, поэтому этой функции не добавят.
Ответ или решение
Чтобы отключить привязку курсора мыши к краям экрана в KDE под управлением Wayland, выполните следующие шаги:
-
Откройте настройки системы KDE:
Нажмите на значок приложения (или нажмитеAlt + Space
) и начните вводить "Настройки системы" (System Settings). Выберите это приложение в результатах поиска. -
Перейдите в раздел "Мышь и тачпад":
В меню "Настройки системы" найдите и выберите раздел "Мышь и тачпад" (Mouse & Touchpad). -
Настройки краев экрана:
В левой части окна выберите "Края экрана" (Screen Edges). Здесь вы сможете управлять поведением курсора при достижении краев экрана. -
Отключение привязки:
В параметрах краев экрана (если такая опция доступна) отключите или настройте параметры, связанные с привязкой мыши к краям. Обратите внимание на любые настройки, которые могут влиять на "липкие" края. -
Примените изменения:
Нажмите на кнопку "Применить" (Apply), чтобы сохранить изменения. -
Перезагрузка сессии:
После внесения изменений рекомендуется перезагрузить вашу сессию (выйти и вновь войти), чтобы убедиться, что изменения вступили в силу.
Дополнительные замечания:
Если перечисленные параметры отсутствуют или поведение мыши не изменилось, возможно, это связано с специфическими изменениями в последних версиях KWin под Wayland. К примеру, в 2024 году была внедрена функция "липких" краев, что может влиять на ваше текущее взаимодействие с мышью. Рассмотрите возможность обновления KDE Plasma до последней версии, если это возможно.
Если проблема не устраняется, вы можете обратиться за дополнительной помощью на форумах или в сообществах, специализированных на KDE/Plasma, так как могут присутствовать недоработки или новые функции, требующие дополнительных настроек.