SUMMARY Alt + key keyboard shortcuts are extremely valuable for a fast workflow with low fingerstrain coefficients. Settign them in the settings is possible, however, many of them are overriden by, I suspect, Qt integrated shortcuts, and so ignored. There is no method to disable them without the code being changed, most likely, see https://forum.qt.io/topic/126482/disable-alt-menu-shortcuts-systemwide/6 . STEPS TO REPRODUCE 1. Settings -> Configure Krita -> Keyboard shortcuts 2. Set some action to work by pressing left alt + v (many other simple alt+char combinations work) 3. Press OK 4. Try to use the action - instead, OBSERVED RESULT The View top-bar menu will open (with LAlt + V) (or nothing will happen, or some other top-bar menu) The terminal prints out: QAction::event: Ambiguous shortcut overload: Alt+V EXPECTED RESULT The shortcut that was set in the "Keyboard Shortcuts" settings should execute. SOFTWARE/OS VERSIONS Void linux, kernel 6.12.28_1 Krita 5.0.0 , appimage I believe Krita 5.2.9 ^^ tried both of them, same issue.
This is actually a standard for gui programs that's been in place since the eighties, I don't think we should change that. We have to make do with what our platform provides, though we could provide an option since Qt makes it possible to disable the menu accelerators. It definitely shouldn't be the default.
Git commit c80164e76464a4fe00cce59ad57f4e65a4ca83e2 by Halla Rempt. Committed on 08/07/2025 at 09:45. Pushed by rempt into branch 'master'. Add a hidden option to hide alt- accelerators This is off by default and hidden because we shouldn't expose options that break user interface conventions in our user interface. People who do want to break menu's can edit the kritarc file. Add HideAccelerators=true To the kritarc file to hide this. M +5 -0 libs/ui/KisMainWindow.cpp https://invent.kde.org/graphics/krita/-/commit/c80164e76464a4fe00cce59ad57f4e65a4ca83e2
Sorry, that simply didn't work. Calling qt_set_sequence_auto_mnemonic didn't do anything
(In reply to Halla Rempt from comment #3) > Sorry, that simply didn't work. Calling qt_set_sequence_auto_mnemonic didn't > do anything Thanks for your attention. Just to clarify, the commit is ineffective? I agree it should not be a default, if it is a convention. I do, however, think that having the option in the default menu would reduce a lot of confusion - for a very long time (months), I just thought it's a bug in Krita and some actions are wrong. But as long as there is some potential way to do it, it'd be amazing. For anyone else with this problem, I have found a somewhat tedious temporary workaround. Based on this thread: https://github.com/lxqt/qterminal/issues/485 just disabling the menu-bar should be enough. Unfortunately, it seems disabling the menu-bar without canvas-only-mode can only be done by scripting, but at least there are some ways: https://krita-artists.org/t/hide-top-menu-bar/11720/2 It's worth mentioning that, in the qterminal thread mentioned above: " @agaida Very nice finding! I didn't know about it. qt_set_sequence_auto_mnemonic works (I tested it with FeatherPad). But it can't be toggled on the fly; the app should be restarted. " So it works for someone.
Full workaround for someone else like me: Tools > Scripts > Scripter from krita import * if Krita.instance().activeWindow().qwindow().menuBar().isVisible(): Krita.instance().activeWindow().qwindow().menuBar().setVisible(False) else: Krita.instance().activeWindow().qwindow().menuBar().setVisible(True) ^ Write this and save it somewhere. Then Tools > Scripts > Ten Scripts Assign the script to one of them, and ta-da. Easy way to toggle the top menu.
Yes, I restarted Krita, but no matter what I set the config to, it didn't work. It's possible I called the function in the wrong place, but even moving it to main.cc didn't work.