George Edward Bulmer
0645865d22
Add test case for is_special in keyutils
2018-03-21 16:38:58 +00:00
Florian Bruhin
84c7c37e8e
Swap Control/Meta back on macOS
...
Fixes #3697
(cherry picked from commit fd9e7bed7fd9842eac22ed304a094a92cc953577)
2018-03-14 19:40:56 +01:00
Florian Bruhin
b88ac51d25
Fall back to non-keypad keys without any keypad bindings
...
Fixes #3701
2018-03-13 14:40:54 +01:00
Florian Bruhin
ebb373ccad
Make sure keys with modifiers get handled as special
2018-03-09 09:04:28 +01:00
Florian Bruhin
0d94c17edc
Apply key_mappings to KeySequences correctly
...
Fixes #3678
2018-03-06 21:39:57 +01:00
Florian Bruhin
41dfa29648
Improve parsing of invalid keys
...
This should handle "<>" and "\x1f" correctly.
2018-03-06 06:29:38 +01:00
Florian Bruhin
7a9f8fda72
Get rid of unnecessary lambda
2018-03-05 23:07:03 +01:00
Florian Bruhin
2b84ea9dbe
Make sure we have plain keys/modifiers where needed
2018-03-05 23:01:24 +01:00
Florian Bruhin
0ee7fac727
Update test_init_unknown/test_init_invalid for KeyboardModifierMask
...
-1 & Qt.KeyboardModifierMask == Qt.Key_unknown
2018-03-05 22:56:58 +01:00
Florian Bruhin
29fdd1acc4
Make sure all keyboard modifiers are handled correctly
...
This handles Qt.KeypadModifier (Num+...) correctly, adds tests for converting
modifiers to strings, and strips Qt.GroupSwitchModifier as QKeySequence doesn't
know about it.
Fixes #3675
2018-03-05 22:11:26 +01:00
Florian Bruhin
d1854eddaf
Handle invalid keys coming from Qt
...
When pressing a key which doesn't exist as Qt.Key, we don't get Qt.Key_unknown
like we'd expect, but we get 0x0 instead...
Let's add that as a new "nil" key (to not conflict with None/unknown/zero/...)
and handle it appropriately.
This can be reproduced by doing:
setxkbmap -layout us,gr -option grp:alt_shift_toggle
and pressing Alt-Shift/Shift-Alt.
2018-03-05 15:42:52 +01:00
Florian Bruhin
0967b6abd2
Fix handling of </> keys
2018-03-04 20:40:16 +01:00
Florian Bruhin
d8bfe23c0d
Fix lint
2018-03-04 20:21:58 +01:00
Florian Bruhin
2be7db29ed
100% coverage for keyinput.keyutils
2018-03-04 20:21:58 +01:00
Florian Bruhin
8da878c77c
Make KeySequence.matchs() work correctly
2018-03-04 20:21:58 +01:00
Florian Bruhin
866c758660
Add more KeySequence tests
2018-03-04 20:21:58 +01:00
Florian Bruhin
fb7c75a090
Improve keyutils tests
2018-03-04 20:21:58 +01:00
Florian Bruhin
3c9e8ff9ab
Test and fix keyutils._parse_keystring
2018-03-04 20:21:58 +01:00
Florian Bruhin
7f8508a367
Change the way Space keybindings are handled
...
Using it as " " in a keystring won't work anymore, but instead <Space> and
<Shift-Space> does.
2018-03-04 20:21:58 +01:00
Florian Bruhin
da60d11b24
Refactor keyutils tests
2018-03-04 20:21:58 +01:00
Florian Bruhin
b3834835ed
Bring back keyutils.is_modifier() and modifier handling
...
Turns out when we press yY, we get three events:
Qt.Key_Y, Qt.NoModifier
Qt.Key_Shift, Qt.ShiftModifier
Qt.Key_Y, Qt.ShiftModifier
If we don't ignore the second one, our keychain will be interrupted by the Shift
keypress.
2018-03-04 20:21:58 +01:00
Florian Bruhin
e306e2dadb
Improve and fix test_is_printable
2018-03-04 20:21:58 +01:00
Fritz Reichwald
d9a88e139c
Test for modifiers and corner case 0xFF
2018-03-04 20:21:58 +01:00
Florian Bruhin
3a11a24be0
Fix modifier handling
...
We don't want to show <Shift-Shift>, but <Ctrl-Shift> should still work
correctly.
2018-03-04 20:21:58 +01:00
Florian Bruhin
7cb781cc92
Simplify handling of modifier-only keys
...
Now that we don't rely on str(KeyInfo) being empty anywhere, there's no reason
to return an empty string for only-modifier keypresses anymore.
While those keys can't be bound (QKeySequence('Shift') == Qt.Key_unknown)
there's also no reason to explicitly ignore them.
2018-03-04 20:21:57 +01:00
Florian Bruhin
693178c8ee
Refactor KeyInfo.__str__
...
This removes the special handling for macOS, but this is hopefully not needed
anymore as we don't compare strings.
2018-03-04 20:21:57 +01:00
Florian Bruhin
af6e5b1838
Fix lint
2018-03-04 20:21:57 +01:00
Florian Bruhin
a57fc5c746
Refactor keyutils tests involving all keys
2018-03-04 20:21:57 +01:00
Florian Bruhin
4223e2f85d
Check all keys against QTest::keyToAscii
2018-03-04 20:21:57 +01:00
Fritz Reichwald
d28c323074
Add printable and ismodifier test
2018-03-04 20:21:57 +01:00
Florian Bruhin
63e05e12ba
Fix lint and tests
2018-03-04 20:21:57 +01:00
Florian Bruhin
2ca15d7667
Add tests for lower-/uppercase text
2018-03-04 20:20:31 +01:00
Florian Bruhin
8c87040cb6
Improve IDs for qt_key fixture
2018-03-04 20:20:31 +01:00
Florian Bruhin
0b6d2c2b0a
Make all key names work
2018-03-04 20:20:30 +01:00
Florian Bruhin
601e56d2fa
Make test_keyutils work
2018-03-04 20:20:30 +01:00
Florian Bruhin
f714be0ff7
Initial tests on all Qt keys
2018-03-04 20:20:30 +01:00
Florian Bruhin
19512e988b
Expose less from keyutils publicly
2018-03-04 20:20:30 +01:00
Florian Bruhin
c3485821c7
Adjust copyright
2018-03-04 20:20:30 +01:00
Florian Bruhin
49d297f7bf
Fix tests for parsing KeySequences
2018-02-27 14:10:55 +01:00
Florian Bruhin
911b2daebf
Fix test_keyutils
2018-02-27 09:07:20 +01:00
Fritz Reichwald
9b4da25578
Fix another test by using the new KeySequence
2018-01-07 00:11:47 +01:00
Florian Bruhin
917f2a30de
Get tests to collect
2017-12-29 13:23:38 +01:00
Florian Bruhin
5cee39d315
Initial move of keyutils tests
2017-12-29 01:41:55 +01:00