Некоторые сочетания клавиш не срабатывают в Dolphin, вызывая диалоговое окно "Конфликт действий". Например, в панели Терминал (F4) не срабатывает сочетание клавиш Ctrl+Shift+V. Не помогает и сброс сочетаний клавиш на по умолчанию. У некоторых людей возникала проблема и с сочетанием клавиш Ctrl+Shift+N (создание папки, но диалоговое окно говорило про конфликт Ctrl+N, что странно).
Попробуйте удалить ~/.config/kglobalshortcutsrc и ~/.config/khotkeysrc , сделав резервную копию и перезайти в систему.
(Ответ для Sergey V Turchin на комментарий #1) > Попробуйте удалить ~/.config/kglobalshortcutsrc и ~/.config/khotkeysrc , > сделав резервную копию и перезайти в систему. Удалил два файла и перезагрузился. К сожалению, не помогло. Заметил, что подобная проблема ещё и в Kate.
Created attachment 17520 [details] patch for 9003-qt6-base-6.7.2-qmenu_fix_shortcuts.patch in qt6-base Тоже столкнулся с такими ошибками. Причина оказалась в патче 9003-qt6-base-6.7.2-qmenu_fix_shortcuts.patch в пакете qt6-base, если пересобрать пакет без него, то все ок. В итоге удалось этот патч немного поправить и ошибки исчезли. Предлагаю к рассмотрению.
Created attachment 17524 [details] Исправленные патчи для Qt6 Сформировал исправленные патчи с правкой от Max Pozdeev
(Ответ для Max Pozdeev на комментарий #3) > Создано вложение 17520 [details] [подробности] > patch for 9003-qt6-base-6.7.2-qmenu_fix_shortcuts.patch in qt6-base > > Тоже столкнулся с такими ошибками. Причина оказалась в патче > 9003-qt6-base-6.7.2-qmenu_fix_shortcuts.patch в пакете qt6-base, если > пересобрать пакет без него, то все ок. > > В итоге удалось этот патч немного поправить и ошибки исчезли. Предлагаю к > рассмотрению. Да, это корректное исправление. В Qt >= 6.7.0 добавили новый класс с методом QKeyCombination::keyboardModifiers(), я понадеялся что там "все лишнее" убирается. Но судя по всему нет. Так что правка абсолютно корректная. > ++ if (!result.contains(qtKey + int(mods))) //NOTE: We should disallow duplicates in the result list (TODO: Is this check really needed?) Эта проверка нужна, т.к. result формируется при проверке всех раскладок, соответственно есть вероятность что на разных раскладках комбинации могут задублироваться.
Sergey V Turchin, я прикрепил архив с исправленными патчами для qt-6.7.2 и qt-6.8.0, их можно заменить в rpm-ках и пересобрать. Спасибо Max Pozdeev за найденную ошибку.
(Ответ для Сукиязов С.А. на комментарий #4) > Создано вложение 17524 [details] [подробности] > Исправленные патчи для Qt6 > > Сформировал исправленные патчи с правкой от Max Pozdeev В новом патче для 6.7.2 эта строка отличается от 6.8.0: if (shortcut.key() == qtKey && (shortcut.keyboardModifiers() & mods)) {
Created attachment 17525 [details] Исправленные патчи для Qt6 (исправлено)
(Ответ для Max Pozdeev на комментарий #7) > В новом патче для 6.7.2 эта строка отличается от 6.8.0: > if (shortcut.key() == qtKey && (shortcut.keyboardModifiers() & mods)) { Блин, пропустил. Перезалил.
(Ответ для Сукиязов С.А. на комментарий #5) > > ++ if (!result.contains(qtKey + int(mods))) //NOTE: We should disallow duplicates in the result list (TODO: Is this check really needed?) > Эта проверка нужна, т.к. result формируется при проверке всех раскладок, > соответственно есть вероятность что на разных раскладках комбинации могут > задублироваться. Если не трудно, поясните, пожалуйста. Разве не должны дубли отфильтроваться чуть ранее? Здесь: ``` for (QKeyCombination shortcut : std::as_const(result)) { if (shortcut.key() == qtKey && (shortcut.keyboardModifiers() & mods) == mods) { ambiguous = true; break; } } if (ambiguous) continue; ``` QKeyCombination есть суть пара key и keyboardModifiers, а в условие (shortcut.keyboardModifiers() & mods) == mods в том числе попадает выражение (shortcut.keyboardModifiers == mods) И если оба члена сравниваемых пар (комбинаций) равны, то и комбинации тоже.
(Ответ для Max Pozdeev на комментарий #10) > Если не трудно, поясните, пожалуйста. Разве не должны дубли отфильтроваться > чуть ранее? Здесь: Просмотрел код еще раз. Согласен, вторая проверка не нужна.
Created attachment 17531 [details] Исправленные патчи для Qt6 (исправлено 2) Убрал ненужное условие из патчей
Sergey V Turchin, последняя редакция патчей "Исправленные патчи для Qt6 (исправлено 2)", их можно заменить в rpm-ках и пересобрать.
(Ответ для Сукиязов С.А. на комментарий #11) > (Ответ для Max Pozdeev на комментарий #10) > > Если не трудно, поясните, пожалуйста. Разве не должны дубли отфильтроваться > > чуть ранее? Здесь: > Просмотрел код еще раз. Согласен, вторая проверка не нужна. Спасибо за комментарий.
qt6-base-6.7.2-alt8 -> sisyphus: Wed Jan 15 2025 Sergey V Turchin <zerg@altlinux> 6.7.2-alt8 - fix qmenu_fix_shortcuts.patch (thanks Corwin) (closes: 52611)