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
Florian Geyer
bd90ba9326
Move initial auto-type timeout to plugins.
2012-11-02 15:49:25 +01:00
Florian Geyer
8347fd36ba
More auto-type tests.
2012-11-02 15:09:54 +01:00
Florian Geyer
ac56ac98f7
Extend auto-type test.
2012-10-28 18:18:24 +01:00
Felix Geyer
606dbc6eb4
Add infrastructure for auto-type tests.
2012-10-28 15:33:44 +01:00
Felix Geyer
40ccd219f4
Allow only selecting one row in AutoTypeSelectView.
2012-09-25 17:51:49 +02:00
Felix Geyer
138ca8d3a3
Select the first entry when the model has been reset.
...
This avoids overriding setEntryList().
2012-08-05 18:51:19 +02:00
Felix Geyer
013a924e43
Activate the auto-type select dialog after showing it.
...
That way it is brought to the front even when the main window is minimized.
2012-08-04 22:06:41 +02:00
Felix Geyer
54433637eb
Disable dragging items from the AutoTypeSelectView.
2012-08-04 22:06:41 +02:00
Felix Geyer
9c378216f6
Coding style fixes.
2012-08-04 22:06:41 +02:00
Felix Geyer
a16f7e7cca
Use WildcardMatcher for simple Auto-Type window patterns.
2012-07-23 18:11:10 +02:00
Felix Geyer
92efb3d20b
Move autoTypeSequence() and windowMatches() to the AutoType class.
2012-07-23 18:06:04 +02:00