on xenial help sign in
add left/right and backtab
535d849Michael Zanetti
qml/Components/PhysicalKeysMapper.qml+21−1
@@ -42,6 +42,7 @@ Item {
42 signal screenshotTriggered;
42 signal screenshotTriggered;
43
43
44 signal altTabNext();
44 signal altTabNext();
45+ signal altTabPrevious();
45 readonly property bool altTabPressed: d.altTabPressed
46 readonly property bool altTabPressed: d.altTabPressed
46
47
47 QtObject {
48 QtObject {
@@ -103,12 +104,28 @@ Item {
103 print("controll pressed");
104 print("controll pressed");
104 d.altPressed = true;
105 d.altPressed = true;
105 } else if (event.key == Qt.Key_Tab) {
106 } else if (event.key == Qt.Key_Tab) {
107+ print("tab pressed")
106 if (d.altPressed && !d.altTabPressed) {
108 if (d.altPressed && !d.altTabPressed) {
107 d.altTabPressed = true;
109 d.altTabPressed = true;
108 } else if (d.altTabPressed) {
110 } else if (d.altTabPressed) {
109 print("alttabnext")
111 print("alttabnext")
110 root.altTabNext();
112 root.altTabNext();
111 }
113 }
114+ } else if (event.key == Qt.Key_Backtab) {
115+ if (d.altTabPressed) {
116+ root.altTabPrevious();
117+ }
118+ } else if (event.key == Qt.Key_Left) {
119+ if (d.altTabPressed) {
120+ print("alttabprevious")
121+ root.altTabPrevious();
122+ event.accpeted = true;
123+ }
124+ } else if (event.key == Qt.Key_Right) {
125+ if (d.altTabPressed) {
126+ root.altTabNext();
127+ event.accepted = true;
128+ }
112 }
129 }
113 }
130 }
114
131
@@ -125,8 +142,11 @@ Item {
125 d.volumeUpKeyPressed = false;
142 d.volumeUpKeyPressed = false;
126 if (!d.volumeDownKeyPressed) d.ignoreVolumeEvents = false;
143 if (!d.volumeDownKeyPressed) d.ignoreVolumeEvents = false;
127 } else if (event.key == Qt.Key_Control) {
144 } else if (event.key == Qt.Key_Control) {
128− d.altTabPressed = false;
129 d.altPressed = false;
145 d.altPressed = false;
146+ if (d.altTabPressed) {
147+ d.altTabPressed = false;
148+ event.accepted = true;
149+ }
130 }
150 }
131 }
151 }
132}
152}
qml/Shell.qml+1
@@ -158,6 +158,7 @@ Item {
158 onScreenshotTriggered: screenGrabber.capture();
158 onScreenshotTriggered: screenGrabber.capture();
159
159
160 onAltTabNext: applicationsDisplayLoader.item.altTabNext()
160 onAltTabNext: applicationsDisplayLoader.item.altTabNext()
161+ onAltTabPrevious: applicationsDisplayLoader.item.altTabPrevious();
161 }
162 }
162
163
163 ScreenGrabber {
164 ScreenGrabber {
qml/Stages/DesktopStage.qml+9
@@ -48,6 +48,15 @@ Item {
48 }
48 }
49 }
49 }
50
50
51+ function altTabPrevious() {
52+ print("alttabprevious pressed")
53+ if (root.altTabPressed) {
54+ var newIndex = appRepeater.highlightedIndex - 1 >= 0 ? appRepeater.highlightedIndex - 1 : ApplicationManager.count - 1;
55+ appRepeater.highlightedIndex = newIndex;
56+ spreadFlickable.snapTo(spreadFlickable.width / 5 * Math.max(0, appRepeater.highlightedIndex - 3))
57+ }
58+ }
59+
51 CrossFadeImage {
60 CrossFadeImage {
52 id: wallpaper
61 id: wallpaper
53 anchors.fill: parent
62 anchors.fill: parent