import QtQuick 2.0 import com.jolla.keyboard 1.0 import Sailfish.Silica 1.0 FunctionKey { id: shiftKey property int _charactersWhenPressed property bool _quickPicking width: shiftKeyWidth icon.source: attributes.inSymView ? "" : (attributes.isShifted && !attributes.isShiftLocked ? "image://theme/icon-m-autocaps" : "image://theme/icon-m-capslock") + (pressed ? ("?" + Theme.highlightColor) : "") // dim normal shift mode icon.opacity: (!attributes.inSymView && !attributes.isShiftLocked && !attributes.isShifted) ? 0.2 : 1.0 caption: attributes.inSymView ? (attributes.inSymView2 ? "2/2" : "1/2") : "" key: Qt.Key_Shift keyType: KeyType.ShiftKey onPressedChanged: { if (!keyboard.inSymView) { if (pressed && !keyboard.isShifted && keyboard.lastInitialKey === shiftKey) { _quickPicking = true keyboard.shiftState = ShiftState.LatchedShift } else { _quickPicking = false } _charactersWhenPressed = keyboard.characterKeyCounter keyboard.shiftKeyPressed = pressed keyboard.updatePopper() } } onClicked: { if (keyboard.characterKeyCounter > _charactersWhenPressed) { keyboard.shiftState = ShiftState.NoShift } else if (!_quickPicking) { if (keyboard.inSymView) { keyboard.inSymView2 = !keyboard.inSymView2 } else { keyboard.cycleShift() } } } }