@@ -27,9 +27,10 @@ Rectangle {
28 QtObject {
28 QtObject {
29 id: keyState
29 id: keyState
30− property bool volumeUp: false
30+ property bool volumeUpPressed: false
31− property bool volumeDown: false
31+ property bool volumeDownPressed: false
32 property bool ignoreKeyPresses: false
32 property bool ignoreKeyPresses: false
33+ property bool ignoreKeyRepeats: false
35 ScreenGrabber {
36 ScreenGrabber {
@@ -43,15 +44,17 @@ Rectangle {
45 function onKeyPressed(key) {
46 function onKeyPressed(key) {
46− if (keyState.ignoreKeyPresses)
47+ if (keyState.ignoreKeyPresses || keyState.ignoreKeyRepeats)
49 if (key == Qt.Key_VolumeUp)
50 if (key == Qt.Key_VolumeUp)
50− keyState.volumeUp = true;
51+ keyState.volumeUpPressed = true;
51 else if (key == Qt.Key_VolumeDown)
52 else if (key == Qt.Key_VolumeDown)
52− keyState.volumeDown = true;
53+ keyState.volumeDownPressed = true;
54− if (keyState.volumeDown && keyState.volumeUp) {
55+ if (keyState.volumeDownPressed && keyState.volumeUpPressed) {
56+ // Only take one screenshot if both keys are held
57+ keyState.ignoreKeyRepeats = true;
55 enabled = true;
58 enabled = true;
56 visible = true;
59 visible = true;
57 fadeIn.start();
60 fadeIn.start();
@@ -59,10 +62,14 @@ Rectangle {
61 function onKeyReleased(key) {
64 function onKeyReleased(key) {
62− if (key == Qt.Key_VolumeUp)
65+ if (key == Qt.Key_VolumeUp) {
63− keyState.volumeUp = false;
66+ keyState.volumeUpPressed = false;
67+ keyState.ignoreKeyRepeats = false;
64− else if (key == Qt.Key_VolumeDown)
69+ else if (key == Qt.Key_VolumeDown) {
65− keyState.volumeDown = false;
70+ keyState.volumeDownPressed = false;
71+ keyState.ignoreKeyRepeats = false;
68 NumberAnimation on opacity {
75 NumberAnimation on opacity {