on xenial help sign in
add inputmethod on secondary screen
commitdb6f235c0b3de7add7df90325d89390a8543b41e authorMichael Zanetti <michael.zanetti@canonical.com> dateWed 2 Dec 2015, 00:15 (11 years ago) parent83fec63
3 files changed+22−7
qml/DisabledScreenNotice.qml+6 qml/OrientedShell.qml+15−7 qml/Shell.qml+1
qml/DisabledScreenNotice.qml+6
@@ -66,4 +66,10 @@ Image {
6666 wrapMode: Text.Wrap
6767 }
6868 }
69+
70+ InputMethod {
71+ id: inputMethod
72+ objectName: "inputMethod"
73+ anchors.fill: parent
74+ }
6975}
qml/OrientedShell.qml+15−7
@@ -18,6 +18,7 @@ import QtQuick 2.4
1818import QtQuick.Window 2.2
1919import Unity.InputInfo 0.1
2020import Unity.Session 0.1
21+import Unity.Screens 0.1
2122import GSettings 1.0
2223import "Components"
2324import "Rotation"
@@ -78,6 +79,15 @@ Rectangle {
7879 deviceFilter: InputInfo.Keyboard
7980 }
8081
82+ InputDeviceModel {
83+ id: touchScreensModel
84+ deviceFilter: InputInfo.TouchScreen
85+ }
86+
87+ Screens {
88+ id: screens
89+ }
90+
8191 property int orientation
8292 onPhysicalOrientationChanged: {
8393 if (!orientationLocked) {
@@ -106,13 +116,6 @@ Rectangle {
106116 (shell.orientation & supportedOrientations) === 0 ? true
107117 : shell.orientationChangesEnabled
108118
109−
110− Binding {
111− target: oskSettings
112− property: "stayHidden"
113− value: keyboardsModel.count > 0
114− }
115−
116119 Binding {
117120 target: oskSettings
118121 property: "disableHeight"
@@ -189,6 +192,11 @@ Rectangle {
189192 nativeHeight: root.height
190193 mode: applicationArguments.mode
191194 hasMouse: miceModel.count + touchPadModel.count > deviceConfiguration.ignoredMice
195+ // TODO: Factor in if the current screen is a touch screen and if the user wants to
196+ // have multiple keyboards around. For now we only enable one keyboard at a time
197+ // thus hiding it here if there is a physical one around or if we have a second
198+ // screen (the virtual touchpad & osk on the phone) attached.
199+ oskVisible: keyboardsModel.count === 0 && screens.count === 1
192200
193201 // TODO: Factor in the connected input devices (eg: physical keyboard, mouse, touchscreen),
194202 // what's the output device (eg: big TV, desktop monitor, phone display), etc.
qml/Shell.qml+1
@@ -57,6 +57,7 @@ Item {
5757 property string usageScenario: "phone" // supported values: "phone", "tablet" or "desktop"
5858 property string mode: "full-greeter"
5959 property bool cursorVisible: false
60+ property alias oskVisible: inputMethod.visible
6061 function updateFocusedAppOrientation() {
6162 applicationsDisplayLoader.item.updateFocusedAppOrientation();
6263 }