Felix Geyer
820941fd40
Auto-Type: Only require a substring match for regex.
...
This matches the behavior of KeePass.
Refs #357
2015-10-10 17:36:08 +02:00
Felix Geyer
840642394f
Cope with focusWidget/activeWindow returning windows that are minimized.
2015-10-10 12:07:28 +02:00
Felix Geyer
4f2d56a55f
Fix another small memory leak.
2015-09-26 12:41:53 +02:00
Felix Geyer
6b49f8f26b
Free input device list.
...
Fixes a memory leak.
2015-09-26 12:41:53 +02:00
Felix Geyer
fc8cb7cd14
Check if XListInputDevices returns an error.
...
Refs #351
2015-09-26 12:41:52 +02:00
Felix Geyer
727094abc6
Unload auto-type plugins if they run in an unsupported environment.
...
Refs #351
2015-09-26 12:41:47 +02:00
Felix Geyer
14aac09318
Avoid implicit casts from bool to int.
2015-09-25 21:34:56 +02:00
Felix Geyer
9d42db9849
Mark more methods as override.
2015-09-25 21:34:56 +02:00
Felix Geyer
6ab54bc95a
Check if libXi is installed and explicitly link against it.
2015-09-23 22:26:49 +02:00
Felix Geyer
673dff2268
Auto-Type: Raise target window after showing the select dialog.
...
kwin >= 5.4 (since commit cfa1d61) prefers to focus the main window
instead of following the focus chain.
We ask the window manager nicely to focus the window we want to
type into. kwin seems to follow that (in the default configuration).
2015-09-21 23:12:10 +02:00
Felix Geyer
5bd525a6dd
Use correct keycode when unregistering global shortcuts.
...
charToKeySym() is already correctly used in registerGlobalShortcut().
2015-07-22 20:38:03 +02:00
Felix Geyer
68373730bf
Fix compiler warnings where keysyms are printed.
...
%lX expectes unsigned long which KeySym is an alias for.
2015-05-12 23:57:36 +02:00
Felix Geyer
5d9039ea89
Silence compiler warning about an unused variable.
2015-05-12 23:40:02 +02:00
Felix Geyer
940a5026c1
Properly auto-type line breaks and tabs in text.
2015-03-13 22:24:29 +01:00
Felix Geyer
2631277184
Always sleep some time after the keymap has changed.
...
This works around a problem where sometimes chars are typed as if some
random modifiers are pressed.
2015-03-13 21:58:04 +01:00
Felix Geyer
b86b640860
Process events from the event loop before typing the first char.
2015-03-13 19:45:57 +01:00
Felix Geyer
2dfc740782
Rework handling of modifiers in auto-type.
...
Release all modifiers that are pressed and change the result.
2015-03-13 19:43:52 +01:00
Felix Geyer
e4985f4ff7
Get the xtest keyboard instead of the core keyboard.
...
If we don't find it fall back to the core keyboard.
2015-03-13 19:41:49 +01:00
Felix Geyer
22f579a59e
Restore keyboard mapping only if we actually changed it.
2015-03-13 19:40:52 +01:00
Felix Geyer
778f01bcf1
Increase sleep time after remapping a keycode.
2015-02-24 22:00:44 +01:00
Felix Geyer
ccb7a4c96d
Blacklist the KDE 5 root window.
2015-02-24 21:59:47 +01:00
Felix Geyer
315df0b8a8
Coding style fixes.
2014-11-02 11:46:51 +01:00
Felix Geyer
870d7355ca
Fix reading window title from _NET_WM_NAME.
...
XGetWindowProperty() returns 0 on success.
Closes #236
2014-11-02 11:44:03 +01:00
Felix Geyer
5a31e055cf
Show the window title when no entry matches for auto-type.
...
Closes #188
2014-05-18 12:09:46 +02:00
Felix Geyer
147cd4ed7b
Add option to use the entry title for auto-type window matching.
2014-05-15 18:30:57 +02:00
Felix Geyer
b194c29166
Show a dialog when no window matches for auto-type.
2014-04-14 22:57:25 +02:00
Felix Geyer
0b9167c78b
Add an option to always ask before performing auto-type.
...
Closes #120
2014-04-14 22:57:18 +02:00
Felix Geyer
b9370c6e79
More careful null checking and member initalization.
2014-03-22 12:10:49 +01:00
Felix Geyer
809be5f89e
Use the correct modifiers after remapping.
...
Sometimes the keysym is not mapped to the first column (no modifiers)
but to a diffferent column that needs modifiers.
Therefore we need re-read the table and search the whole row for the
correct keysym.
2014-01-19 23:32:00 +01:00
Felix Geyer
bf9a755bea
Check all modifiers before declaring the remap keycode invalid.
...
Sometimes XChangeKeyboardMapping() maps the keysym to a modifier.
2014-01-19 21:40:25 +01:00
Felix Geyer
34b82da9aa
Initialize cur_focus before it's used.
2014-01-19 20:09:19 +01:00
Albert Weichselbraun
0f91e0d141
Better naming & actually save m_currentRemapKeysym.
2013-12-16 09:41:43 +01:00
Albert Weichselbraun
6a50a76466
Track the last remapped keysym in m_currentRemapKeycode to enforce
...
a new computation of m_remapKeycode when the keyboard layout
changes.
(This fixes a potential problem with AddKeysym overwriting
used keysyms after applying a new keyboard layout).
2013-12-16 09:28:16 +01:00
Felix Geyer
2a416d1f1d
Make sure the remapping keycode is reset to NoSymbol.
...
Previously the dtor of AutoTypePlatformX11 wasn't called.
2013-12-01 23:32:53 +01:00
Felix Geyer
23f338b0c3
Add some error handling in case we can't remap a key.
2013-12-01 19:14:07 +01:00
Felix Geyer
cdcea91b50
Use nanosleep() instead of the deprecated usleep().
2013-12-01 19:09:20 +01:00
Albert Weichselbraun
62ea117f45
Significantly reduce the number of re-mappings required by
...
a) dynamically fetching the modifier masks for Mod1 to Mod5 (Alt, AltGr, Meta,
etc.)
b) integrating commit bfec222 from Felix Geyer <debfx@fobos.de> which creates a
unicode -> x11 keysym mapping table by parsing keysymdefs.h.
This avoids adding new keysyms because keyboard layouts seem to prefer the
lower keysyms over unicode | 0x01000000 mapping.
An example of this is the euro sign with a German keyboard layout.
2013-12-01 15:34:27 +01:00
Albert Weichselbraun
a26119ea20
Use a dedicated keycode for keys that require another modifier than shift.
2013-11-23 09:07:16 +01:00
Albert Weichselbraun
3fcfc348ed
Cleanup: use break rather than nested if/else constructs.
2013-11-18 06:17:56 +01:00
Albert Weichselbraun
6b33298a6e
Merge branch 'bug-116-autotype-new' into bug-116-autotype
2013-11-17 21:10:29 +01:00
Albert Weichselbraun
68e1fc0cd0
Use XKeysymToKeycode together with XkbTranslateKeyCode for translating KeySyms to the corresponding keycode and modifier sequences.
2013-11-17 21:08:55 +01:00
Albert Weichselbraun
d25e883983
Fixed bug #116 - certain characters not working with de keyboard layout
2013-11-17 07:48:25 +01:00
Felix Geyer
6504b6f2bd
Drop Qt module name from include statements.
...
This is a preparation to be able to build KeePassX against Qt 5.
2013-10-03 15:18:16 +02:00
Felix Geyer
e1c82a4453
Print a cmake feature log.
...
This let's users know when the dependnecies for auto-type are missing.
Available only in cmake >= 2.8.3.
Closes #71
2013-06-30 14:07:25 +02:00
Felix Geyer
5550d7af0d
Fix autotype test (build) failures on Mac OS and Windows.
...
We need to tell Windows what symbols the main program exports
and the autotype plugin imports.
On both systems the linker needs the path of the main program that
loads the plugin.
2013-03-29 16:27:02 +01:00
Felix Geyer
095bf158b6
Close AutoTypeSelectDialog when there are no entries left.
...
This happens when the entries were deleted or the database
has been closed.
2013-03-24 14:00:23 +01:00
Felix Geyer
23c787c4dd
Use effectiveWinId() instead of winId() in widgetsToX11Windows().
...
winId() creates native handles as a side effect.
This sometimes triggers a bug that causes DatabaseTabWidget to
not be updated anymore.
2012-11-20 23:52:46 +01:00
Felix Geyer
8b0409b228
Handle KeyRelease events of global shortcuts.
2012-11-20 23:52:46 +01:00
Felix Geyer
54641a2304
Initialize global auto-type key variables.
2012-11-20 23:52:46 +01:00
Florian Geyer
363396037d
Remove redundant resolvePlaceholders call.
2012-11-02 17:48:16 +01:00