Niklas Wenzel has proposed merging lp:~nikwen/ubuntu-calculator-app/fix-desktop-shortcuts into lp:ubuntu-calculator-app.
Commit message: Fix typing special characters on hardware keyboards Requested reviews: Ubuntu Calculator Developers (ubuntu-calculator-dev) Related bugs: Bug #1449037 in Ubuntu Calculator App: ""Backspace" and "delete" keys don't work on Desktop" https://bugs.launchpad.net/ubuntu-calculator-app/+bug/1449037 For more details, see: https://code.launchpad.net/~nikwen/ubuntu-calculator-app/fix-desktop-shortcuts/+merge/261747 Fix typing special characters on hardware keyboards. Makes the app usable on the desktop. :) -- Your team Ubuntu Calculator Developers is requested to review the proposed merge of lp:~nikwen/ubuntu-calculator-app/fix-desktop-shortcuts into lp:ubuntu-calculator-app.
=== modified file 'app/ubuntu-calculator-app.qml' --- app/ubuntu-calculator-app.qml 2015-04-26 22:41:49 +0000 +++ app/ubuntu-calculator-app.qml 2015-06-11 15:45:00 +0000 @@ -287,7 +287,7 @@ id: calculationHistory } - Keys.onPressed: { + Keys.onPressed: { //Some special keys like backspace captured in TextField below as they are for some reason not sent to the application but to the text input keyboardLoader.item.pressedKey = event.key; keyboardLoader.item.pressedKeyText = event.text; } @@ -630,6 +630,16 @@ rightMargin: units.gu(1) } + Keys.onPressed: { //Need to capture special keys like backspace here as they are for some reason not sent to the application but to the text input + keyboardLoader.item.pressedKey = event.key; + keyboardLoader.item.pressedKeyText = event.text; + } + + Keys.onReleased: { + keyboardLoader.item.pressedKey = -1; + keyboardLoader.item.pressedKeyText = ""; + } + readOnly: true selectByMouse: true cursorVisible: true === modified file 'app/ui/LandscapeKeyboard.qml' --- app/ui/LandscapeKeyboard.qml 2015-03-12 21:21:47 +0000 +++ app/ui/LandscapeKeyboard.qml 2015-06-11 15:45:00 +0000 @@ -10,12 +10,12 @@ columns: 8 keyboardModel: new Array( - { text: "←", name: "delete", wFactor: 2, action: "delete", kbdKeys: [Qt.Key_Backspace], secondaryAction: "clearFormula" }, + { text: "←", name: "delete", wFactor: 2, action: "delete", kbdKeys: [Qt.Key_Backspace, Qt.Key_Delete], secondaryAction: "clearFormula" }, { text: "√", name: "sqrt", pushText: "sqrt(" }, { text: "÷", name: "divide", pushText: "/", kbdKeys: [Qt.Key_Slash] }, - { text: "xⁿ", name: "power", pushText: "^", kbdKeys: [Qt.Key_AsciiCircum] }, - { text: "x²", name: "square", pushText: "^2" }, - { text: "x³", name: "cube", pushText: "^3" }, + { text: "xⁿ", name: "power", pushText: "^", kbdKeys: [Qt.Key_AsciiCircum, 16781906] }, //Number needed to make key work with the German keyboard layout as that character is normally typed by pressing the circumflex key twice but that does not work here + { text: "x²", name: "square", pushText: "^2", kbdKeys: [Qt.Key_twosuperior] }, + { text: "x³", name: "cube", pushText: "^3", kbdKeys: [Qt.Key_threesuperior] }, { text: i18n.tr("log"), name: "logarithm", pushText: "log(", kbdKeys: [Qt.Key_L] }, { number: 7, name: "seven", textColor: "#DD4814" }, { number: 8, name: "eight", textColor: "#DD4814" }, @@ -43,9 +43,9 @@ { text: "tan", name: "tangens", pushText: "tan(", kbdKeys: [Qt.Key_T] }, { text: decimalPoint, name: "point", pushText: ".", textColor: "#DD4814" }, { number: 0, name: "zero", textColor: "#DD4814", forceNumber: true }, - { text: "( )", name: "universalBracket", pushText: "()", textColor: "#DD4814" }, + { text: "( )", name: "universalBracket", pushText: "()", textColor: "#DD4814", kbdKeys: [Qt.Key_ParenLeft, Qt.Key_ParenRight, Qt.Key_BracketLeft, Qt.Key_BracketRight] }, { text: "=", name: "equals", action: "calculate", kbdKeys: [Qt.Key_Enter, Qt.Key_Return] }, - { text: "|x|", name: "abs", pushText: "abs(", kbdKeys: [Qt.Key_A] }, + { text: "|x|", name: "abs", pushText: "abs(", kbdKeys: [Qt.Key_A, Qt.Key_Bar] }, { text: "sin⁻¹", name: "arcsinus", pushText: "asin(" }, { text: "cos⁻¹", name: "arccos", pushText: "acos(" }, { text: "tan⁻¹", name: "arctangens", pushText: "atan(" } === modified file 'app/ui/PortraitKeyboard.qml' --- app/ui/PortraitKeyboard.qml 2015-03-12 21:21:47 +0000 +++ app/ui/PortraitKeyboard.qml 2015-06-11 15:45:00 +0000 @@ -9,7 +9,7 @@ buttonMaxHeight: scrollableView.height / 10.0 keyboardModel: new Array( - { text: "←", name: "delete", wFactor: 2, action: "delete", kbdKeys: [Qt.Key_Backspace], secondaryAction: "clearFormula" }, + { text: "←", name: "delete", wFactor: 2, action: "delete", kbdKeys: [Qt.Key_Backspace, Qt.Key_Delete], secondaryAction: "clearFormula" }, { text: "√", name: "sqrt", pushText: "sqrt("}, { text: "÷", name: "divide", pushText: "/", kbdKeys: [Qt.Key_Slash] }, { number: 7, name: "seven", textColor: "#DD4814" }, @@ -26,7 +26,7 @@ { text: "+", name: "plus" }, { text: decimalPoint, name: "point", pushText: ".", textColor: "#DD4814" }, { number: 0, name: "zero", textColor: "#DD4814", forceNumber: true }, - { text: "( )", name: "universalBracket", pushText: "()", textColor: "#DD4814" }, + { text: "( )", name: "universalBracket", pushText: "()", textColor: "#DD4814", kbdKeys: [Qt.Key_ParenLeft, Qt.Key_ParenRight, Qt.Key_BracketLeft, Qt.Key_BracketRight] }, { text: "=", name: "equals", action: "calculate", kbdKeys: [Qt.Key_Enter, Qt.Key_Return] } ) } @@ -36,15 +36,15 @@ buttonMaxHeight: scrollableView.height / 10.0 keyboardModel: new Array( - { text: "xⁿ", name: "power", pushText: "^", kbdKeys: [Qt.Key_AsciiCircum] }, - { text: "x²", name: "square", pushText: "^2" }, - { text: "x³", name: "cube", pushText: "^3" }, + { text: "xⁿ", name: "power", pushText: "^", kbdKeys: [Qt.Key_AsciiCircum, 16781906] }, //Number needed to make key work with the German keyboard layout as that character is normally typed by pressing the circumflex key twice but that does not work here + { text: "x²", name: "square", pushText: "^2", kbdKeys: [Qt.Key_twosuperior] }, + { text: "x³", name: "cube", pushText: "^3", kbdKeys: [Qt.Key_threesuperior] }, { text: i18n.tr("log"), name: "logarithm", pushText: "log(", kbdKeys: [Qt.Key_L] }, { text: "ℯ", name: "eNumber", pushText: "E", kbdKeys: [Qt.Key_E] }, { text: "π", name: "piNumber", pushText: "pi", kbdKeys: [Qt.Key_P] }, { text: i18n.tr("mod"), name: "modulo", pushText: "%", kbdKeys: [Qt.Key_Percent] }, { text: "!", name: "factorialNumber", kbdKeys: [Qt.Key_Exclam] }, - { text: "ℯⁿ", name: "exp", pushText: "E^"}, + { text: "ℯⁿ", name: "exp", pushText: "E^" }, { text: "1/x", name: "multiplicativeInverse", pushText: "^-1" }, { text: "1/x²", name: "multiplicativeInverse2", pushText: "^-2" }, { text: "1/x³", name: "multiplicativeInverse3", pushText: "^-3" }, @@ -52,7 +52,7 @@ { text: "sin", name: "sinus", pushText: "sin(", kbdKeys: [Qt.Key_S] }, { text: "cos", name: "cos", pushText: "cos(", kbdKeys: [Qt.Key_C] }, { text: "tan", name: "tangens", pushText: "tan(", kbdKeys: [Qt.Key_T] }, - { text: "|x|", name: "abs", pushText: "abs(", kbdKeys: [Qt.Key_A] }, + { text: "|x|", name: "abs", pushText: "abs(", kbdKeys: [Qt.Key_A, Qt.Key_Bar] }, { text: "sin⁻¹", name: "arcsinus", pushText: "asin(" }, { text: "cos⁻¹", name: "arccos", pushText: "acos(" }, { text: "tan⁻¹", name: "arctangens", pushText: "atan(" }
-- Mailing list: https://launchpad.net/~ubuntu-touch-coreapps-reviewers Post to : ubuntu-touch-coreapps-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-touch-coreapps-reviewers More help : https://help.launchpad.net/ListHelp