mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-12-04 15:39:34 +01:00
Auto-Type: Support multiple Xkb layouts
Completely rewritten XCB Auto-Type keymap system. - supports multiple simultaneous layouts - prefers current layout if it has all keysyms available - removed hardcoded KeySymMap - removed clunky custom KeySym emulation Biggest breaking change is removing KeySym emulation for keys that do not exist in any of the layouts currently in use. It would be possible to make it work but if you are trying to type syms that are not available in any of your layouts you are abusing it. It also adds unnecessary complexity and opens up timing issues when the keymap is modified on-the-fly. Now we are just reading it. This also workarounds a Qt related issue where QX11Info::display() returns a connection to X server that fails to receive updated keymap data when client settings change. We use our own connection now to get it working.
This commit is contained in:
committed by
Jonathan White
parent
2423bede60
commit
4d07507739
@@ -496,6 +496,7 @@ AutoType::parseSequence(const QString& entrySequence, const Entry* entry, QStrin
|
||||
const int maxRepetition = 100;
|
||||
|
||||
QList<QSharedPointer<AutoTypeAction>> actions;
|
||||
actions << QSharedPointer<AutoTypeBegin>::create();
|
||||
actions << QSharedPointer<AutoTypeDelay>::create(qMax(0, config()->get(Config::AutoTypeDelay).toInt()), true);
|
||||
|
||||
// Replace escaped braces with a template for easier regex
|
||||
|
||||
Reference in New Issue
Block a user