Introduce input panel to project.
This commit is contained in:
@@ -11,14 +11,14 @@ file(GLOB_RECURSE project_cc ./src/*.cc)
|
||||
file(GLOB_RECURSE project_c ./src/*.c)
|
||||
include_directories(./src/)
|
||||
|
||||
find_package(Qt5 COMPONENTS Core Widgets Gui OpenGL Sql REQUIRED)
|
||||
find_package(Qt5 COMPONENTS Core Widgets Gui OpenGL Sql VirtualKeyboard REQUIRED)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
file(GLOB project_uis ./src/*.ui)
|
||||
qt5_wrap_ui(ui_FILES ${project_uis})
|
||||
file(GLOB project_res ./src/*.qrc)
|
||||
add_executable(${PROJECT_NAME} ${project_headers} ${project_cpps} ${project_cxx} ${project_res} ${project_cc} ${project_c} ${ui_FILES})
|
||||
target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Widgets Qt5::Gui Qt5::OpenGL Qt5::Sql)
|
||||
target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Widgets Qt5::Gui Qt5::OpenGL Qt5::Sql Qt5::VirtualKeyboard)
|
||||
|
||||
if(MSVC)
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES VS_DEBUGGER_ENVIRONMENT "path=${Qt5_DIR}/../../../bin/")
|
||||
|
||||
171
src/InputObject.cpp
Normal file
171
src/InputObject.cpp
Normal file
@@ -0,0 +1,171 @@
|
||||
#include "InputObject.h"
|
||||
#include "ui_InputObject.h"
|
||||
#include "qdesktopwidget.h"
|
||||
#include <QDebug>
|
||||
#include <QKeyEvent>
|
||||
#include <QComboBox>
|
||||
#include <QDateEdit>
|
||||
#include <QtVirtualKeyboard>
|
||||
|
||||
|
||||
|
||||
InputObject::InputObject(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::InputObject)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
initUi();
|
||||
|
||||
this->setVisible(false);
|
||||
this->setWindowFlags(Qt::Tool | Qt::FramelessWindowHint);
|
||||
|
||||
|
||||
}
|
||||
|
||||
InputObject::~InputObject()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void InputObject::initUi()
|
||||
{
|
||||
|
||||
QString style = "*{background-color:#3c3c3c; font-family:Arial; color:white;margin:0;font-size:16px;}"
|
||||
"QLabel#title{font-Size:98px;color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,"
|
||||
"stop: 0.0 darkgray, stop: 0.5 lightgray, stop: 1.0 darkgray);}"
|
||||
"QLabel#warn{color:#930000;background:transparent;font-size:20px;}"
|
||||
"QFrame#login_frame_username{min-width:700px;max-width:700px;max-height:500px;min-height:500px;"
|
||||
"border:1px solid #0078d8;border-radius:20px;"
|
||||
"background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\n"
|
||||
" stop: 0.0 darkgray, stop: 0.5 gray, stop: 1.0 darkgray);"
|
||||
"}"
|
||||
|
||||
|
||||
"QLineEdit,QDateEdit{min-height:100px;max-height:100px; min-width:250px;max-width:250px;border: 3px solid pink; border-radius:10px;font-size:26px;}"
|
||||
"QLineEdit,QDateEdit:enabled{background-color: #515151}"
|
||||
"QDateEdit::up-button{image: url(:/up.png);height:15px;}"
|
||||
"QDateEdit::down-button{image:url(:/down.png);height:15px;}"
|
||||
;
|
||||
setStyleSheet(style);
|
||||
this->setWindowOpacity(0.8);
|
||||
|
||||
ui->dateEdit->setVisible(false);
|
||||
ui->dateEdit->setMaximumDate(QDate::currentDate());
|
||||
ui->dateEdit->setDisplayFormat("yyyy/MM/dd");
|
||||
ui->dateEdit->setStyleSheet(style);
|
||||
|
||||
//ui->lineEdit->setFont(QFont("Arial", 25));
|
||||
//ui->dateEdit->setFont(QFont("Arial", 25, QFont::Bold));
|
||||
}
|
||||
|
||||
|
||||
//QLineEdit* InputObject::lineEdit()
|
||||
//{
|
||||
// return ui->lineEdit;
|
||||
//}
|
||||
|
||||
bool InputObject::eventFilter(QObject *obj, QEvent *event)
|
||||
{
|
||||
static bool _visible = false;
|
||||
static bool excution = false;
|
||||
|
||||
if (obj->inherits("QQuickView"))
|
||||
{
|
||||
if (_visible != QGuiApplication::inputMethod()->isVisible())
|
||||
{
|
||||
|
||||
if (QGuiApplication::inputMethod()->isVisible())
|
||||
{
|
||||
if (excution == false) {
|
||||
excution = true;
|
||||
//make sure vkb hide and show again,without activating InputObject(both show/hide)
|
||||
this->ShowPanel();
|
||||
excution = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (excution == false) {
|
||||
excution = true;
|
||||
//make sure will not give rise to another vkb
|
||||
this->HidePanel();
|
||||
excution = false;
|
||||
}
|
||||
}
|
||||
_visible = QGuiApplication::inputMethod()->isVisible();
|
||||
}
|
||||
}
|
||||
return QObject::eventFilter(obj, event);
|
||||
}
|
||||
|
||||
void InputObject::ShowPanel() {
|
||||
if (qApp->focusWidget()->inherits("QLineEdit"))
|
||||
{
|
||||
curEdit = qobject_cast<QLineEdit*>(qApp->focusWidget());
|
||||
ui->dateEdit->setVisible(false);
|
||||
ui->lineEdit->setVisible(true);
|
||||
}
|
||||
else if (qApp->focusWidget()->inherits("QComboBox"))
|
||||
{
|
||||
curEdit = qobject_cast<QComboBox*>(qApp->focusWidget())->lineEdit();
|
||||
ui->dateEdit->setVisible(false);
|
||||
ui->lineEdit->setVisible(true);
|
||||
}
|
||||
else if(qApp->focusWidget()->inherits("QDateEdit"))
|
||||
{
|
||||
curDateEdit = qobject_cast<QDateEdit*>(qApp->focusWidget());
|
||||
ui->dateEdit->setVisible(true);
|
||||
ui->lineEdit->setVisible(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
QDesktopWidget w;
|
||||
int deskWidth = w.availableGeometry().width();
|
||||
int deskHeight = w.availableGeometry().height();
|
||||
int vkbHeight = QGuiApplication::inputMethod()->keyboardRectangle().height();
|
||||
this->setGeometry(0, 0, deskWidth, deskHeight - vkbHeight);
|
||||
this->setVisible(true);
|
||||
this->activateWindow(); //it is quite important!!!
|
||||
|
||||
if (curEdit) {
|
||||
ui->lineEdit->setText(curEdit->text());
|
||||
ui->lineEdit->setEchoMode(curEdit->echoMode());
|
||||
ui->lineEdit->setInputMethodHints(Qt::InputMethodHint::ImhNoAutoUppercase);
|
||||
ui->lineEdit->setFocus();
|
||||
|
||||
QEvent event(QEvent::RequestSoftwareInputPanel);
|
||||
QApplication::sendEvent(ui->lineEdit, &event);
|
||||
}
|
||||
if (curDateEdit)
|
||||
{
|
||||
ui->dateEdit->setDateTime(curDateEdit->dateTime());
|
||||
ui->dateEdit->setFocus();
|
||||
QEvent event(QEvent::RequestSoftwareInputPanel);
|
||||
QApplication::sendEvent(ui->dateEdit, &event);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void InputObject::HidePanel()
|
||||
{
|
||||
if (curEdit) {
|
||||
curEdit->setText(ui->lineEdit->text());
|
||||
ui->lineEdit->clearFocus();
|
||||
ui->lineEdit->clear();
|
||||
this->setVisible(false);
|
||||
curEdit = nullptr;
|
||||
}
|
||||
else if (curDateEdit)
|
||||
{
|
||||
curDateEdit->setDateTime(ui->dateEdit->dateTime());
|
||||
ui->dateEdit->clearFocus();
|
||||
ui->dateEdit->clear();
|
||||
this->setVisible(false);
|
||||
curDateEdit = nullptr;
|
||||
}
|
||||
}
|
||||
28
src/InputObject.h
Normal file
28
src/InputObject.h
Normal file
@@ -0,0 +1,28 @@
|
||||
#pragma once
|
||||
#include <QWidget>
|
||||
class QLineEdit;
|
||||
class QDateEdit;
|
||||
|
||||
namespace Ui {
|
||||
class InputObject;
|
||||
}
|
||||
|
||||
class InputObject : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit InputObject(QWidget *parent = 0);
|
||||
~InputObject();
|
||||
bool eventFilter(QObject *obj, QEvent *event);
|
||||
|
||||
private:
|
||||
void initUi();
|
||||
void ShowPanel();
|
||||
void HidePanel();
|
||||
|
||||
static InputObject *_instance;
|
||||
Ui::InputObject *ui;
|
||||
QDateEdit *curDateEdit = nullptr;
|
||||
QLineEdit* curEdit = nullptr;
|
||||
};
|
||||
140
src/inputobject.ui
Normal file
140
src/inputobject.ui
Normal file
@@ -0,0 +1,140 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>InputObject</class>
|
||||
<widget class="QWidget" name="InputObject">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>916</width>
|
||||
<height>305</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>mask</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>306</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="widget" native="true">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>63</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="lineEdit">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"> border: 3px solid pink;
|
||||
border-radius: 15px;
|
||||
selection-background-color: darkgray;
|
||||
</string>
|
||||
</property>
|
||||
<property name="locale">
|
||||
<locale language="English" country="AmericanSamoa"/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDateEdit" name="dateEdit">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"> border: 3px solid pink;
|
||||
border-radius: 15px;
|
||||
selection-background-color: darkgray;</string>
|
||||
</property>
|
||||
<property name="dateTime">
|
||||
<datetime>
|
||||
<hour>0</hour>
|
||||
<minute>0</minute>
|
||||
<second>0</second>
|
||||
<year>1994</year>
|
||||
<month>11</month>
|
||||
<day>29</day>
|
||||
</datetime>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>62</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>306</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="../../res/icons.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
0
src/layouts/en_US/dialpad.fallback
Normal file
0
src/layouts/en_US/dialpad.fallback
Normal file
0
src/layouts/en_US/digits.fallback
Normal file
0
src/layouts/en_US/digits.fallback
Normal file
0
src/layouts/en_US/handwriting.fallback
Normal file
0
src/layouts/en_US/handwriting.fallback
Normal file
0
src/layouts/en_US/main.fallback
Normal file
0
src/layouts/en_US/main.fallback
Normal file
0
src/layouts/en_US/numbers.fallback
Normal file
0
src/layouts/en_US/numbers.fallback
Normal file
0
src/layouts/en_US/symbols.fallback
Normal file
0
src/layouts/en_US/symbols.fallback
Normal file
113
src/layouts/fallback/dialpad.qml
Normal file
113
src/layouts/fallback/dialpad.qml
Normal file
@@ -0,0 +1,113 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 or (at your option) any later version
|
||||
** approved by the KDE Free Qt Foundation. The licenses are as published by
|
||||
** the Free Software Foundation and appearing in the file LICENSE.GPL3
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Layouts 1.0
|
||||
import QtQuick.VirtualKeyboard 2.1
|
||||
import QtQuick.VirtualKeyboard.Plugins 2.3
|
||||
|
||||
KeyboardLayout {
|
||||
inputMethod: PlainInputMethod {}
|
||||
inputMode: InputEngine.InputMode.Numeric
|
||||
|
||||
KeyboardColumn {
|
||||
Layout.fillWidth: false
|
||||
Layout.fillHeight: true
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
Layout.preferredWidth: height
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_1
|
||||
text: "1"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_2
|
||||
text: "2"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_3
|
||||
text: "3"
|
||||
}
|
||||
BackspaceKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_4
|
||||
text: "4"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_5
|
||||
text: "5"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_6
|
||||
text: "6"
|
||||
}
|
||||
Key {
|
||||
text: " "
|
||||
displayText: "\u2423"
|
||||
repeat: true
|
||||
showPreview: false
|
||||
key: Qt.Key_Space
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_7
|
||||
text: "7"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_8
|
||||
text: "8"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_9
|
||||
text: "9"
|
||||
}
|
||||
HideKeyboardKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_Asterisk
|
||||
displayText: "*+"
|
||||
text: "*"
|
||||
alternativeKeys: "*+"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_0
|
||||
text: "0"
|
||||
}
|
||||
Key {
|
||||
text: "#"
|
||||
key: Qt.Key_NumberSign
|
||||
}
|
||||
EnterKey {}
|
||||
}
|
||||
}
|
||||
}
|
||||
112
src/layouts/fallback/digits.qml
Normal file
112
src/layouts/fallback/digits.qml
Normal file
@@ -0,0 +1,112 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 or (at your option) any later version
|
||||
** approved by the KDE Free Qt Foundation. The licenses are as published by
|
||||
** the Free Software Foundation and appearing in the file LICENSE.GPL3
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Layouts 1.0
|
||||
import QtQuick.VirtualKeyboard 2.1
|
||||
import QtQuick.VirtualKeyboard.Plugins 2.3
|
||||
|
||||
KeyboardLayout {
|
||||
inputMethod: PlainInputMethod {}
|
||||
inputMode: InputEngine.InputMode.Numeric
|
||||
|
||||
KeyboardColumn {
|
||||
Layout.fillWidth: false
|
||||
Layout.fillHeight: true
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
Layout.preferredWidth: height
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_7
|
||||
text: "7"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_8
|
||||
text: "8"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_9
|
||||
text: "9"
|
||||
}
|
||||
BackspaceKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_4
|
||||
text: "4"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_5
|
||||
text: "5"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_6
|
||||
text: "6"
|
||||
}
|
||||
Key {
|
||||
text: " "
|
||||
displayText: "\u2423"
|
||||
repeat: true
|
||||
showPreview: false
|
||||
key: Qt.Key_Space
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_1
|
||||
text: "1"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_2
|
||||
text: "2"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_3
|
||||
text: "3"
|
||||
}
|
||||
HideKeyboardKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
ChangeLanguageKey {
|
||||
customLayoutsOnly: true
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_0
|
||||
text: "0"
|
||||
}
|
||||
Key {
|
||||
// The decimal key, if it is not "," then we fallback to
|
||||
// "." in case it is an unhandled different result
|
||||
key: Qt.locale().decimalPoint === "," ? Qt.Key_Comma : Qt.Key_Period
|
||||
text: Qt.locale().decimalPoint === "," ? "," : "."
|
||||
}
|
||||
EnterKey {}
|
||||
}
|
||||
}
|
||||
}
|
||||
96
src/layouts/fallback/handwriting.qml
Normal file
96
src/layouts/fallback/handwriting.qml
Normal file
@@ -0,0 +1,96 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2017 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 or (at your option) any later version
|
||||
** approved by the KDE Free Qt Foundation. The licenses are as published by
|
||||
** the Free Software Foundation and appearing in the file LICENSE.GPL3
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Layouts 1.0
|
||||
import QtQuick.VirtualKeyboard 2.3
|
||||
|
||||
KeyboardLayout {
|
||||
function createInputMethod() {
|
||||
return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
|
||||
}
|
||||
sharedLayouts: ['symbols']
|
||||
|
||||
KeyboardRow {
|
||||
Layout.preferredHeight: 3
|
||||
KeyboardColumn {
|
||||
Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
|
||||
KeyboardRow {
|
||||
TraceInputKey {
|
||||
objectName: "hwrInputArea"
|
||||
patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
|
||||
}
|
||||
}
|
||||
}
|
||||
KeyboardColumn {
|
||||
Layout.preferredWidth: hideKeyboardKey.width
|
||||
KeyboardRow {
|
||||
BackspaceKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
EnterKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
ShiftKey { }
|
||||
}
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
id: bottomRow
|
||||
Layout.preferredHeight: 1
|
||||
keyWeight: 154
|
||||
InputModeKey {
|
||||
weight: 217
|
||||
}
|
||||
ChangeLanguageKey {
|
||||
weight: 154
|
||||
customLayoutsOnly: true
|
||||
}
|
||||
HandwritingModeKey {
|
||||
weight: 154
|
||||
}
|
||||
SpaceKey {
|
||||
weight: 864
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Apostrophe
|
||||
text: "'"
|
||||
alternativeKeys: "<>()#%&*/\\\"'=+-_"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Period
|
||||
text: "."
|
||||
alternativeKeys: ":;,.?!"
|
||||
}
|
||||
HideKeyboardKey {
|
||||
id: hideKeyboardKey
|
||||
weight: 204
|
||||
}
|
||||
}
|
||||
}
|
||||
208
src/layouts/fallback/main.qml
Normal file
208
src/layouts/fallback/main.qml
Normal file
@@ -0,0 +1,208 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 or (at your option) any later version
|
||||
** approved by the KDE Free Qt Foundation. The licenses are as published by
|
||||
** the Free Software Foundation and appearing in the file LICENSE.GPL3
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.VirtualKeyboard 2.1
|
||||
|
||||
KeyboardLayout {
|
||||
inputMode: InputEngine.InputMode.Latin
|
||||
keyWeight: 160
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_Q
|
||||
text: "q"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_W
|
||||
text: "w"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_E
|
||||
text: "e"
|
||||
alternativeKeys: "êeëèé"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_R
|
||||
text: "r"
|
||||
alternativeKeys: "ŕrř"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_T
|
||||
text: "t"
|
||||
alternativeKeys: "ţtŧť"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Y
|
||||
text: "y"
|
||||
alternativeKeys: "ÿyýŷ"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_U
|
||||
text: "u"
|
||||
alternativeKeys: "űūũûüuùú"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_I
|
||||
text: "i"
|
||||
alternativeKeys: "îïīĩiìí"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_O
|
||||
text: "o"
|
||||
alternativeKeys: "œøõôöòóo"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_P
|
||||
text: "p"
|
||||
}
|
||||
BackspaceKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
FillerKey {
|
||||
weight: 56
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_A
|
||||
text: "a"
|
||||
alternativeKeys: "aäåãâàá"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_S
|
||||
text: "s"
|
||||
alternativeKeys: "šsşś"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_D
|
||||
text: "d"
|
||||
alternativeKeys: "dđď"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_F
|
||||
text: "f"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_G
|
||||
text: "g"
|
||||
alternativeKeys: "ġgģĝğ"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_H
|
||||
text: "h"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_J
|
||||
text: "j"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_K
|
||||
text: "k"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_L
|
||||
text: "l"
|
||||
alternativeKeys: "ĺŀłļľl"
|
||||
}
|
||||
EnterKey {
|
||||
weight: 283
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
keyWeight: 156
|
||||
ShiftKey {}
|
||||
Key {
|
||||
key: Qt.Key_Z
|
||||
text: "z"
|
||||
alternativeKeys: "zžż"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_X
|
||||
text: "x"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_C
|
||||
text: "c"
|
||||
alternativeKeys: "çcċčć"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_V
|
||||
text: "v"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_B
|
||||
text: "b"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_N
|
||||
text: "n"
|
||||
alternativeKeys: "ņńnň"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_M
|
||||
text: "m"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Comma
|
||||
text: ","
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Period
|
||||
text: "."
|
||||
}
|
||||
ShiftKey {
|
||||
weight: 204
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
keyWeight: 154
|
||||
SymbolModeKey {
|
||||
weight: 217
|
||||
}
|
||||
ChangeLanguageKey {
|
||||
weight: 154
|
||||
}
|
||||
HandwritingModeKey {
|
||||
weight: 154
|
||||
}
|
||||
SpaceKey {
|
||||
weight: 864
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Apostrophe
|
||||
text: "'"
|
||||
}
|
||||
Key {
|
||||
key: 0xE000
|
||||
text: ":-)"
|
||||
alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
|
||||
}
|
||||
HideKeyboardKey {
|
||||
weight: 204
|
||||
}
|
||||
}
|
||||
}
|
||||
184
src/layouts/fallback/numbers.qml
Normal file
184
src/layouts/fallback/numbers.qml
Normal file
@@ -0,0 +1,184 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 or (at your option) any later version
|
||||
** approved by the KDE Free Qt Foundation. The licenses are as published by
|
||||
** the Free Software Foundation and appearing in the file LICENSE.GPL3
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Layouts 1.0
|
||||
import QtQuick.VirtualKeyboard 2.1
|
||||
import QtQuick.VirtualKeyboard.Plugins 2.3
|
||||
|
||||
KeyboardLayout {
|
||||
inputMethod: PlainInputMethod {}
|
||||
inputMode: InputEngine.InputMode.Numeric
|
||||
|
||||
KeyboardRow {
|
||||
Layout.fillWidth: false
|
||||
Layout.fillHeight: true
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
KeyboardColumn {
|
||||
Layout.fillWidth: false
|
||||
Layout.fillHeight: true
|
||||
Layout.preferredWidth: parent.height / 4 * 3
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_ParenLeft
|
||||
text: "("
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_ParenRight
|
||||
text: ")"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Comma
|
||||
text: ","
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_division
|
||||
text: "\u00F7"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_multiply
|
||||
text: "\u00D7"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Plus
|
||||
text: "+"
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_AsciiCircum
|
||||
text: "^"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Slash
|
||||
text: "/"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Minus
|
||||
text: "-"
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: 0x221A
|
||||
text: "√"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Percent
|
||||
text: "%"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Asterisk
|
||||
text: "*"
|
||||
}
|
||||
}
|
||||
}
|
||||
KeyboardColumn {
|
||||
Layout.fillWidth: false
|
||||
Layout.fillHeight: true
|
||||
Layout.preferredWidth: parent.height / 8
|
||||
KeyboardRow {
|
||||
FillerKey {}
|
||||
}
|
||||
}
|
||||
KeyboardColumn {
|
||||
Layout.fillWidth: false
|
||||
Layout.fillHeight: true
|
||||
Layout.preferredWidth: parent.height
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_7
|
||||
text: "7"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_8
|
||||
text: "8"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_9
|
||||
text: "9"
|
||||
}
|
||||
BackspaceKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_4
|
||||
text: "4"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_5
|
||||
text: "5"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_6
|
||||
text: "6"
|
||||
}
|
||||
Key {
|
||||
text: " "
|
||||
displayText: "\u2423"
|
||||
repeat: true
|
||||
showPreview: false
|
||||
key: Qt.Key_Space
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_1
|
||||
text: "1"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_2
|
||||
text: "2"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_3
|
||||
text: "3"
|
||||
}
|
||||
HideKeyboardKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
ChangeLanguageKey {
|
||||
customLayoutsOnly: true
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_0
|
||||
text: "0"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Period
|
||||
text: "."
|
||||
alternativeKeys: ".,"
|
||||
}
|
||||
EnterKey {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
376
src/layouts/fallback/symbols.qml
Normal file
376
src/layouts/fallback/symbols.qml
Normal file
@@ -0,0 +1,376 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2018 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 or (at your option) any later version
|
||||
** approved by the KDE Free Qt Foundation. The licenses are as published by
|
||||
** the Free Software Foundation and appearing in the file LICENSE.GPL3
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Layouts 1.0
|
||||
import QtQuick.VirtualKeyboard 2.1
|
||||
|
||||
KeyboardLayoutLoader {
|
||||
property bool secondPage
|
||||
onVisibleChanged: if (!visible) secondPage = false
|
||||
sourceComponent: secondPage ? page2 : page1
|
||||
Component {
|
||||
id: page1
|
||||
KeyboardLayout {
|
||||
keyWeight: 160
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_1
|
||||
text: "1"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_2
|
||||
text: "2"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_3
|
||||
text: "3"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_4
|
||||
text: "4"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_5
|
||||
text: "5"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_6
|
||||
text: "6"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_7
|
||||
text: "7"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_8
|
||||
text: "8"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_9
|
||||
text: "9"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_0
|
||||
text: "0"
|
||||
}
|
||||
BackspaceKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
FillerKey {
|
||||
weight: 56
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_At
|
||||
text: "@"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_NumberSign
|
||||
text: "#"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Percent
|
||||
text: "%"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Ampersand
|
||||
text: "&"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Asterisk
|
||||
text: "*"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Minus
|
||||
text: "-"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Plus
|
||||
text: "+"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_ParenLeft
|
||||
text: "("
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_ParenRight
|
||||
text: ")"
|
||||
}
|
||||
EnterKey {
|
||||
weight: 283
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
keyWeight: 156
|
||||
Key {
|
||||
displayText: "1/2"
|
||||
functionKey: true
|
||||
onClicked: secondPage = !secondPage
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Exclam
|
||||
text: "!"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_QuoteDbl
|
||||
text: '"'
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Less
|
||||
text: "<"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Greater
|
||||
text: ">"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Apostrophe
|
||||
text: "'"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Colon
|
||||
text: ":"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Semicolon
|
||||
text: ";"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Slash
|
||||
text: "/"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Question
|
||||
text: "?"
|
||||
}
|
||||
Key {
|
||||
weight: 204
|
||||
displayText: "1/2"
|
||||
functionKey: true
|
||||
onClicked: secondPage = !secondPage
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
keyWeight: 154
|
||||
SymbolModeKey {
|
||||
weight: 217
|
||||
displayText: InputContext.inputEngine.inputMode === InputEngine.InputMode.Cyrillic ? "АБВ" : "ABC"
|
||||
}
|
||||
ChangeLanguageKey {
|
||||
weight: 154
|
||||
}
|
||||
SpaceKey {
|
||||
weight: 864
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Period
|
||||
text: "."
|
||||
alternativeKeys: ".,"
|
||||
}
|
||||
Key {
|
||||
key: 0xE000
|
||||
text: ":-)"
|
||||
alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
|
||||
}
|
||||
HideKeyboardKey {
|
||||
weight: 204
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Component {
|
||||
id: page2
|
||||
KeyboardLayout {
|
||||
keyWeight: 160
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_AsciiTilde
|
||||
text: "~"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Agrave
|
||||
text: "`"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Bar
|
||||
text: "|"
|
||||
}
|
||||
Key {
|
||||
key: 0x7B
|
||||
text: "·"
|
||||
}
|
||||
Key {
|
||||
key: 0x221A
|
||||
text: "√"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_division
|
||||
text: "÷"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_multiply
|
||||
text: "×"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_onehalf
|
||||
text: "½"
|
||||
alternativeKeys: "¼⅓½¾⅞"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_BraceLeft
|
||||
text: "{"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_BraceRight
|
||||
text: "}"
|
||||
}
|
||||
BackspaceKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
FillerKey {
|
||||
weight: 56
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Dollar
|
||||
text: "$"
|
||||
}
|
||||
Key {
|
||||
key: 0x20AC
|
||||
text: "€"
|
||||
}
|
||||
Key {
|
||||
key: 0xC2
|
||||
text: "£"
|
||||
}
|
||||
Key {
|
||||
key: 0xA2
|
||||
text: "¢"
|
||||
}
|
||||
Key {
|
||||
key: 0xA5
|
||||
text: "¥"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Equal
|
||||
text: "="
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_section
|
||||
text: "§"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_BracketLeft
|
||||
text: "["
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_BracketRight
|
||||
text: "]"
|
||||
}
|
||||
EnterKey {
|
||||
weight: 283
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
keyWeight: 156
|
||||
Key {
|
||||
displayText: "2/2"
|
||||
functionKey: true
|
||||
onClicked: secondPage = !secondPage
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Underscore
|
||||
text: "_"
|
||||
}
|
||||
Key {
|
||||
key: 0x2122
|
||||
text: '™'
|
||||
}
|
||||
Key {
|
||||
key: 0x00AE
|
||||
text: '®'
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_guillemotleft
|
||||
text: '«'
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_guillemotright
|
||||
text: '»'
|
||||
}
|
||||
Key {
|
||||
key: 0x201C
|
||||
text: '“'
|
||||
}
|
||||
Key {
|
||||
key: 0x201D
|
||||
text: '”'
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Backslash
|
||||
text: "\\"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_AsciiCircum
|
||||
text: "^"
|
||||
}
|
||||
Key {
|
||||
weight: 204
|
||||
displayText: "2/2"
|
||||
functionKey: true
|
||||
onClicked: secondPage = !secondPage
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
keyWeight: 154
|
||||
SymbolModeKey {
|
||||
weight: 217
|
||||
displayText: InputContext.inputEngine.inputMode === InputEngine.InputMode.Cyrillic ? "АБВ" : "ABC"
|
||||
}
|
||||
ChangeLanguageKey {
|
||||
weight: 154
|
||||
}
|
||||
SpaceKey {
|
||||
weight: 864
|
||||
}
|
||||
Key {
|
||||
key: 0x2026
|
||||
text: "\u2026"
|
||||
}
|
||||
Key {
|
||||
key: 0xE000
|
||||
text: ":-)"
|
||||
alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
|
||||
}
|
||||
HideKeyboardKey {
|
||||
weight: 204
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
0
src/layouts/zh_CN/dialpad.fallback
Normal file
0
src/layouts/zh_CN/dialpad.fallback
Normal file
0
src/layouts/zh_CN/digits.fallback
Normal file
0
src/layouts/zh_CN/digits.fallback
Normal file
116
src/layouts/zh_CN/handwriting.qml
Normal file
116
src/layouts/zh_CN/handwriting.qml
Normal file
@@ -0,0 +1,116 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2017 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 or (at your option) any later version
|
||||
** approved by the KDE Free Qt Foundation. The licenses are as published by
|
||||
** the Free Software Foundation and appearing in the file LICENSE.GPL3
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Layouts 1.0
|
||||
import QtQuick.VirtualKeyboard 2.3
|
||||
|
||||
KeyboardLayout {
|
||||
function createInputMethod() {
|
||||
return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
|
||||
}
|
||||
sharedLayouts: ['symbols']
|
||||
inputMode: preferredInputMode()
|
||||
|
||||
Connections {
|
||||
target: InputContext
|
||||
onInputMethodHintsChanged: {
|
||||
var newInputMode = preferredInputMode()
|
||||
if (InputContext.inputEngine.inputModes.indexOf(newInputMode) !== -1)
|
||||
InputContext.inputEngine.inputMode = newInputMode
|
||||
}
|
||||
}
|
||||
|
||||
function preferredInputMode() {
|
||||
return InputContext.inputMethodHints &
|
||||
(Qt.ImhPreferLatin | Qt.ImhEmailCharactersOnly | Qt.ImhUrlCharactersOnly |
|
||||
Qt.ImhLatinOnly) ? InputEngine.InputMode.Latin : InputEngine.InputMode.ChineseHandwriting
|
||||
}
|
||||
|
||||
KeyboardRow {
|
||||
Layout.preferredHeight: 3
|
||||
KeyboardColumn {
|
||||
Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
|
||||
KeyboardRow {
|
||||
TraceInputKey {
|
||||
objectName: "hwrInputArea"
|
||||
patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
|
||||
horizontalRulers:
|
||||
InputContext.inputEngine.inputMode !== InputEngine.InputMode.ChineseHandwriting ? [] :
|
||||
[Math.round(boundingBox.height / 4), Math.round(boundingBox.height / 4) * 2, Math.round(boundingBox.height / 4) * 3]
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
KeyboardColumn {
|
||||
Layout.preferredWidth: hideKeyboardKey.width
|
||||
KeyboardRow {
|
||||
BackspaceKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
EnterKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
ShiftKey { }
|
||||
}
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
id: bottomRow
|
||||
Layout.preferredHeight: 1
|
||||
keyWeight: 154
|
||||
InputModeKey {
|
||||
weight: 217
|
||||
}
|
||||
ChangeLanguageKey {
|
||||
weight: 154
|
||||
customLayoutsOnly: true
|
||||
}
|
||||
HandwritingModeKey {
|
||||
weight: 154
|
||||
}
|
||||
SpaceKey {
|
||||
weight: 864
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Apostrophe
|
||||
text: "‘"
|
||||
alternativeKeys: "《》〈〉•…々〆‘’“”「」¥"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Period
|
||||
text: "."
|
||||
alternativeKeys: ":;,.、。?!"
|
||||
}
|
||||
HideKeyboardKey {
|
||||
id: hideKeyboardKey
|
||||
weight: 204
|
||||
}
|
||||
}
|
||||
}
|
||||
204
src/layouts/zh_CN/main.qml
Normal file
204
src/layouts/zh_CN/main.qml
Normal file
@@ -0,0 +1,204 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 or (at your option) any later version
|
||||
** approved by the KDE Free Qt Foundation. The licenses are as published by
|
||||
** the Free Software Foundation and appearing in the file LICENSE.GPL3
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Layouts 1.0
|
||||
import QtQuick.VirtualKeyboard 2.1
|
||||
|
||||
KeyboardLayout {
|
||||
function createInputMethod() {
|
||||
return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.1; PinyinInputMethod {}', parent, "pinyinInputMethod")
|
||||
}
|
||||
sharedLayouts: ['symbols']
|
||||
keyWeight: 160
|
||||
KeyboardRow {
|
||||
Key {
|
||||
key: Qt.Key_Q
|
||||
text: "q"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_W
|
||||
text: "w"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_E
|
||||
text: "e"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_R
|
||||
text: "r"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_T
|
||||
text: "t"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Y
|
||||
text: "y"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_U
|
||||
text: "u"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_I
|
||||
text: "i"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_O
|
||||
text: "o"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_P
|
||||
text: "p"
|
||||
}
|
||||
BackspaceKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
FillerKey {
|
||||
weight: 56
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_A
|
||||
text: "a"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_S
|
||||
text: "s"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_D
|
||||
text: "d"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_F
|
||||
text: "f"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_G
|
||||
text: "g"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_H
|
||||
text: "h"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_J
|
||||
text: "j"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_K
|
||||
text: "k"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_L
|
||||
text: "l"
|
||||
}
|
||||
EnterKey {
|
||||
weight: 283
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
keyWeight: 156
|
||||
Key {
|
||||
enabled: InputContext.preeditText.length > 0
|
||||
key: Qt.Key_Apostrophe
|
||||
text: "'"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Z
|
||||
text: "z"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_X
|
||||
text: "x"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_C
|
||||
text: "c"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_V
|
||||
text: "v"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_B
|
||||
text: "b"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_N
|
||||
text: "n"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_M
|
||||
text: "m"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Comma
|
||||
text: "\uFF0C"
|
||||
alternativeKeys: "\uFF0C\uFF1B\u3001"
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Period
|
||||
text: "\uFF0E"
|
||||
alternativeKeys: "\uFF0E\uFF1A\u3002"
|
||||
}
|
||||
ShiftKey {
|
||||
weight: 204
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
keyWeight: 154
|
||||
SymbolModeKey {
|
||||
weight: 217
|
||||
}
|
||||
ChangeLanguageKey {
|
||||
weight: 154
|
||||
}
|
||||
HandwritingModeKey {
|
||||
weight: 154
|
||||
}
|
||||
SpaceKey {
|
||||
weight: 864
|
||||
}
|
||||
Key {
|
||||
key: Qt.Key_Question
|
||||
text: "?"
|
||||
alternativeKeys: "?!"
|
||||
}
|
||||
Key {
|
||||
key: 0xE000
|
||||
text: ":-)"
|
||||
alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
|
||||
}
|
||||
HideKeyboardKey {
|
||||
weight: 204
|
||||
}
|
||||
}
|
||||
}
|
||||
0
src/layouts/zh_CN/numbers.fallback
Normal file
0
src/layouts/zh_CN/numbers.fallback
Normal file
294
src/layouts/zh_CN/symbols.qml
Normal file
294
src/layouts/zh_CN/symbols.qml
Normal file
@@ -0,0 +1,294 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 or (at your option) any later version
|
||||
** approved by the KDE Free Qt Foundation. The licenses are as published by
|
||||
** the Free Software Foundation and appearing in the file LICENSE.GPL3
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Layouts 1.0
|
||||
import QtQuick.VirtualKeyboard 2.1
|
||||
|
||||
KeyboardLayoutLoader {
|
||||
function createInputMethod() {
|
||||
return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.1; PinyinInputMethod {}', parent, "pinyinInputMethod")
|
||||
}
|
||||
sharedLayouts: ['main']
|
||||
property int page
|
||||
readonly property int numPages: 3
|
||||
property var keysPage1: [
|
||||
"1234567890",
|
||||
"@#$%^&*()",
|
||||
"“”、=:;!?~"
|
||||
]
|
||||
property var keysPage2: [
|
||||
"-+/\\|[]{}·",
|
||||
"<>,.:;!?~",
|
||||
"/\"'_§¥€£¢"
|
||||
]
|
||||
property var keysPage3: [
|
||||
"()〔〕〈〉《》【】",
|
||||
"→←↑↓↔■□●○",
|
||||
"\『』「」★☆◆◇"
|
||||
]
|
||||
sourceComponent: {
|
||||
switch (page) {
|
||||
case 2: return page3
|
||||
case 1: return page2
|
||||
default: return page1
|
||||
}
|
||||
}
|
||||
Component {
|
||||
id: page1
|
||||
KeyboardLayout {
|
||||
keyWeight: 160
|
||||
KeyboardRow {
|
||||
Repeater {
|
||||
model: keysPage1[0].length
|
||||
Key {
|
||||
key: keysPage1[0][index].charCodeAt(0)
|
||||
text: keysPage1[0][index]
|
||||
}
|
||||
}
|
||||
BackspaceKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
FillerKey {
|
||||
weight: 56
|
||||
}
|
||||
Repeater {
|
||||
model: keysPage1[1].length
|
||||
Key {
|
||||
key: keysPage1[1][index].charCodeAt(0)
|
||||
text: keysPage1[1][index]
|
||||
}
|
||||
}
|
||||
EnterKey {
|
||||
weight: 283
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
keyWeight: 156
|
||||
Key {
|
||||
displayText: (page + 1) + "/" + numPages
|
||||
functionKey: true
|
||||
onClicked: page = (page + 1) % numPages
|
||||
}
|
||||
Repeater {
|
||||
model: keysPage1[2].length
|
||||
Key {
|
||||
key: keysPage1[2][index].charCodeAt(0)
|
||||
text: keysPage1[2][index]
|
||||
}
|
||||
}
|
||||
Key {
|
||||
weight: 204
|
||||
displayText: (page + 1) + "/" + numPages
|
||||
functionKey: true
|
||||
onClicked: page = (page + 1) % numPages
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
keyWeight: 154
|
||||
SymbolModeKey {
|
||||
weight: 217
|
||||
displayText: "ABC"
|
||||
}
|
||||
ChangeLanguageKey {
|
||||
weight: 154
|
||||
}
|
||||
SpaceKey {
|
||||
weight: 864
|
||||
}
|
||||
Key {
|
||||
key: 0x2014
|
||||
text: "—"
|
||||
}
|
||||
Key {
|
||||
key: 0xE000
|
||||
text: ":-)"
|
||||
alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
|
||||
}
|
||||
HideKeyboardKey {
|
||||
weight: 204
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Component {
|
||||
id: page2
|
||||
KeyboardLayout {
|
||||
keyWeight: 160
|
||||
KeyboardRow {
|
||||
Repeater {
|
||||
model: keysPage2[0].length
|
||||
Key {
|
||||
key: keysPage2[0][index].charCodeAt(0)
|
||||
text: keysPage2[0][index]
|
||||
}
|
||||
}
|
||||
BackspaceKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
FillerKey {
|
||||
weight: 56
|
||||
}
|
||||
Repeater {
|
||||
model: keysPage2[1].length
|
||||
Key {
|
||||
key: keysPage2[1][index].charCodeAt(0)
|
||||
text: keysPage2[1][index]
|
||||
}
|
||||
}
|
||||
EnterKey {
|
||||
weight: 283
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
keyWeight: 156
|
||||
Key {
|
||||
displayText: (page + 1) + "/" + numPages
|
||||
functionKey: true
|
||||
onClicked: page = (page + 1) % numPages
|
||||
}
|
||||
Repeater {
|
||||
model: keysPage2[2].length
|
||||
Key {
|
||||
key: keysPage2[2][index].charCodeAt(0)
|
||||
text: keysPage2[2][index]
|
||||
}
|
||||
}
|
||||
Key {
|
||||
weight: 204
|
||||
displayText: (page + 1) + "/" + numPages
|
||||
functionKey: true
|
||||
onClicked: page = (page + 1) % numPages
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
keyWeight: 154
|
||||
SymbolModeKey {
|
||||
weight: 217
|
||||
displayText: "ABC"
|
||||
}
|
||||
ChangeLanguageKey {
|
||||
weight: 154
|
||||
}
|
||||
SpaceKey {
|
||||
weight: 864
|
||||
}
|
||||
Key {
|
||||
key: 0x3002
|
||||
text: "。"
|
||||
}
|
||||
Key {
|
||||
key: 0xE000
|
||||
text: ":-)"
|
||||
alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
|
||||
}
|
||||
HideKeyboardKey {
|
||||
weight: 204
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Component {
|
||||
id: page3
|
||||
KeyboardLayout {
|
||||
keyWeight: 160
|
||||
KeyboardRow {
|
||||
Repeater {
|
||||
model: keysPage3[0].length
|
||||
Key {
|
||||
key: keysPage3[0][index].charCodeAt(0)
|
||||
text: keysPage3[0][index]
|
||||
}
|
||||
}
|
||||
BackspaceKey {}
|
||||
}
|
||||
KeyboardRow {
|
||||
FillerKey {
|
||||
weight: 56
|
||||
}
|
||||
Repeater {
|
||||
model: keysPage3[1].length
|
||||
Key {
|
||||
key: keysPage3[1][index].charCodeAt(0)
|
||||
text: keysPage3[1][index]
|
||||
}
|
||||
}
|
||||
EnterKey {
|
||||
weight: 283
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
keyWeight: 156
|
||||
Key {
|
||||
displayText: (page + 1) + "/" + numPages
|
||||
functionKey: true
|
||||
onClicked: page = (page + 1) % numPages
|
||||
}
|
||||
Repeater {
|
||||
model: keysPage3[2].length
|
||||
Key {
|
||||
key: keysPage3[2][index].charCodeAt(0)
|
||||
text: keysPage3[2][index]
|
||||
}
|
||||
}
|
||||
Key {
|
||||
weight: 204
|
||||
displayText: (page + 1) + "/" + numPages
|
||||
functionKey: true
|
||||
onClicked: page = (page + 1) % numPages
|
||||
}
|
||||
}
|
||||
KeyboardRow {
|
||||
keyWeight: 154
|
||||
SymbolModeKey {
|
||||
weight: 217
|
||||
displayText: "ABC"
|
||||
}
|
||||
ChangeLanguageKey {
|
||||
weight: 154
|
||||
}
|
||||
SpaceKey {
|
||||
weight: 864
|
||||
}
|
||||
Key {
|
||||
key: 0x2026
|
||||
text: "…"
|
||||
}
|
||||
Key {
|
||||
key: 0xE000
|
||||
text: ":-)"
|
||||
alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
|
||||
}
|
||||
HideKeyboardKey {
|
||||
weight: 204
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
16
src/main.cpp
16
src/main.cpp
@@ -1,13 +1,25 @@
|
||||
#include "mainwindow.h"
|
||||
#include <QApplication>
|
||||
#include "loginwindow.h"
|
||||
|
||||
#include "InputObject.h"
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
//QLocale::setDefault(QLocale::English);
|
||||
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
|
||||
qputenv("QT_VIRTUALKEYBOARD_STYLE", QByteArray("retro"));
|
||||
//qputenv("QT_LOGGING_RULES", QByteArray("qt.virtualkeyboard=true"));
|
||||
qputenv("QT_VIRTUALKEYBOARD_LAYOUT_PATH", "..\\src\\layouts");
|
||||
|
||||
QApplication a(argc, argv);
|
||||
InputObject *obj = new InputObject();
|
||||
//a.installEventFilter(obj);
|
||||
a.installEventFilter(obj);
|
||||
|
||||
needLogin:
|
||||
LoginWindow l;
|
||||
l.showFullScreen();
|
||||
|
||||
|
||||
MainWindow w;
|
||||
int rec = l.exec();
|
||||
if (rec !=QDialog::Accepted )
|
||||
|
||||
Reference in New Issue
Block a user