Android: fix compiler warnings for Android input
QPointingDevice requires using the constructor to set its settings in Qt 6. Replace + with | operator and return QKeyCombination instead of int. Change-Id: Id3da469cc13b34ec7b55afa751dbc04601880df6 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 4493b90224f575e5570afeb1ec181be5c4e74b09)
This commit is contained in:
parent
065527825e
commit
0bde13f33e
@ -274,13 +274,15 @@ namespace QtAndroidInput
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
QPointingDevice *touchDevice = platformIntegration->touchDevice();
|
QPointingDevice *touchDevice = platformIntegration->touchDevice();
|
||||||
if (touchDevice == 0) {
|
if (!touchDevice) {
|
||||||
touchDevice = new QPointingDevice; // TODO fill out the constructor args
|
touchDevice = new QPointingDevice("Android touchscreen", 1,
|
||||||
touchDevice->setType(QInputDevice::DeviceType::TouchScreen);
|
QInputDevice::DeviceType::TouchScreen,
|
||||||
touchDevice->setCapabilities(QPointingDevice::Capability::Position
|
QPointingDevice::PointerType::Finger,
|
||||||
| QPointingDevice::Capability::Area
|
QPointingDevice::Capability::Position
|
||||||
| QPointingDevice::Capability::Pressure
|
| QPointingDevice::Capability::Area
|
||||||
| QPointingDevice::Capability::NormalizedPosition);
|
| QPointingDevice::Capability::Pressure
|
||||||
|
| QPointingDevice::Capability::NormalizedPosition,
|
||||||
|
10, 0);
|
||||||
QWindowSystemInterface::registerInputDevice(touchDevice);
|
QWindowSystemInterface::registerInputDevice(touchDevice);
|
||||||
platformIntegration->setTouchDevice(touchDevice);
|
platformIntegration->setTouchDevice(touchDevice);
|
||||||
}
|
}
|
||||||
@ -346,23 +348,23 @@ namespace QtAndroidInput
|
|||||||
#endif // QT_CONFIG(tabletevent)
|
#endif // QT_CONFIG(tabletevent)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int mapAndroidKey(int key)
|
static QKeyCombination mapAndroidKey(int key)
|
||||||
{
|
{
|
||||||
// 0--9 0x00000007 -- 0x00000010
|
// 0--9 0x00000007 -- 0x00000010
|
||||||
if (key >= 0x00000007 && key <= 0x00000010)
|
if (key >= 0x00000007 && key <= 0x00000010)
|
||||||
return Qt::Key_0 + key - 0x00000007;
|
return QKeyCombination::fromCombined(Qt::Key_0 + key - 0x00000007);
|
||||||
|
|
||||||
// A--Z 0x0000001d -- 0x00000036
|
// A--Z 0x0000001d -- 0x00000036
|
||||||
if (key >= 0x0000001d && key <= 0x00000036)
|
if (key >= 0x0000001d && key <= 0x00000036)
|
||||||
return Qt::Key_A + key - 0x0000001d;
|
return QKeyCombination::fromCombined(Qt::Key_A + key - 0x0000001d);
|
||||||
|
|
||||||
// F1--F12 0x00000083 -- 0x0000008e
|
// F1--F12 0x00000083 -- 0x0000008e
|
||||||
if (key >= 0x00000083 && key <= 0x0000008e)
|
if (key >= 0x00000083 && key <= 0x0000008e)
|
||||||
return Qt::Key_F1 + key - 0x00000083;
|
return QKeyCombination::fromCombined(Qt::Key_F1 + key - 0x00000083);
|
||||||
|
|
||||||
// NUMPAD_0--NUMPAD_9 0x00000090 -- 0x00000099
|
// NUMPAD_0--NUMPAD_9 0x00000090 -- 0x00000099
|
||||||
if (key >= 0x00000090 && key <= 0x00000099)
|
if (key >= 0x00000090 && key <= 0x00000099)
|
||||||
return Qt::KeypadModifier + Qt::Key_0 + key - 0x00000090;
|
return QKeyCombination::fromCombined(Qt::KeypadModifier | Qt::Key_0 + key - 0x00000090);
|
||||||
|
|
||||||
// BUTTON_1--KEYCODE_BUTTON_16 0x000000bc -- 0x000000cb
|
// BUTTON_1--KEYCODE_BUTTON_16 0x000000bc -- 0x000000cb
|
||||||
|
|
||||||
@ -496,7 +498,7 @@ namespace QtAndroidInput
|
|||||||
return Qt::Key_Alt;
|
return Qt::Key_Alt;
|
||||||
|
|
||||||
case 0x0000004f: // KEYCODE_HEADSETHOOK
|
case 0x0000004f: // KEYCODE_HEADSETHOOK
|
||||||
return 0;
|
return QKeyCombination::fromCombined(0);
|
||||||
|
|
||||||
case 0x00000050: // KEYCODE_FOCUS
|
case 0x00000050: // KEYCODE_FOCUS
|
||||||
return Qt::Key_CameraFocus;
|
return Qt::Key_CameraFocus;
|
||||||
@ -508,7 +510,7 @@ namespace QtAndroidInput
|
|||||||
return Qt::Key_Menu;
|
return Qt::Key_Menu;
|
||||||
|
|
||||||
case 0x00000053: // KEYCODE_NOTIFICATION
|
case 0x00000053: // KEYCODE_NOTIFICATION
|
||||||
return 0;
|
return QKeyCombination::fromCombined(0);
|
||||||
|
|
||||||
case 0x00000054: // KEYCODE_SEARCH
|
case 0x00000054: // KEYCODE_SEARCH
|
||||||
return Qt::Key_Search;
|
return Qt::Key_Search;
|
||||||
@ -541,7 +543,7 @@ namespace QtAndroidInput
|
|||||||
return Qt::Key_PageDown;
|
return Qt::Key_PageDown;
|
||||||
|
|
||||||
case 0x0000005e: // KEYCODE_PICTSYMBOLS
|
case 0x0000005e: // KEYCODE_PICTSYMBOLS
|
||||||
return 0;
|
return QKeyCombination::fromCombined(0);
|
||||||
|
|
||||||
case 0x00000060: // KEYCODE_BUTTON_A
|
case 0x00000060: // KEYCODE_BUTTON_A
|
||||||
case 0x00000061: // KEYCODE_BUTTON_B
|
case 0x00000061: // KEYCODE_BUTTON_B
|
||||||
@ -558,7 +560,7 @@ namespace QtAndroidInput
|
|||||||
case 0x0000006c: // KEYCODE_BUTTON_START
|
case 0x0000006c: // KEYCODE_BUTTON_START
|
||||||
case 0x0000006d: // KEYCODE_BUTTON_SELECT
|
case 0x0000006d: // KEYCODE_BUTTON_SELECT
|
||||||
case 0x0000006e: // KEYCODE_BUTTON_MODE
|
case 0x0000006e: // KEYCODE_BUTTON_MODE
|
||||||
return 0;
|
return QKeyCombination::fromCombined(0);
|
||||||
|
|
||||||
case 0x0000006f: // KEYCODE_ESCAPE
|
case 0x0000006f: // KEYCODE_ESCAPE
|
||||||
return Qt::Key_Escape;
|
return Qt::Key_Escape;
|
||||||
@ -581,7 +583,7 @@ namespace QtAndroidInput
|
|||||||
return Qt::Key_Meta;
|
return Qt::Key_Meta;
|
||||||
|
|
||||||
case 0x00000077: // KEYCODE_FUNCTION
|
case 0x00000077: // KEYCODE_FUNCTION
|
||||||
return 0;
|
return QKeyCombination::fromCombined(0);
|
||||||
|
|
||||||
case 0x00000078: // KEYCODE_SYSRQ
|
case 0x00000078: // KEYCODE_SYSRQ
|
||||||
return Qt::Key_Print;
|
return Qt::Key_Print;
|
||||||
@ -622,28 +624,28 @@ namespace QtAndroidInput
|
|||||||
// NUMPAD_0--NUMPAD_9 0x00000090 -- 0x00000099
|
// NUMPAD_0--NUMPAD_9 0x00000090 -- 0x00000099
|
||||||
|
|
||||||
case 0x0000009a: // KEYCODE_NUMPAD_DIVIDE
|
case 0x0000009a: // KEYCODE_NUMPAD_DIVIDE
|
||||||
return Qt::KeypadModifier + Qt::Key_Slash;
|
return Qt::KeypadModifier | Qt::Key_Slash;
|
||||||
|
|
||||||
case 0x0000009b: // KEYCODE_NUMPAD_MULTIPLY
|
case 0x0000009b: // KEYCODE_NUMPAD_MULTIPLY
|
||||||
return Qt::KeypadModifier + Qt::Key_Asterisk;
|
return Qt::KeypadModifier | Qt::Key_Asterisk;
|
||||||
|
|
||||||
case 0x0000009c: // KEYCODE_NUMPAD_SUBTRACT
|
case 0x0000009c: // KEYCODE_NUMPAD_SUBTRACT
|
||||||
return Qt::KeypadModifier + Qt::Key_Minus;
|
return Qt::KeypadModifier | Qt::Key_Minus;
|
||||||
|
|
||||||
case 0x0000009d: // KEYCODE_NUMPAD_ADD
|
case 0x0000009d: // KEYCODE_NUMPAD_ADD
|
||||||
return Qt::KeypadModifier + Qt::Key_Plus;
|
return Qt::KeypadModifier | Qt::Key_Plus;
|
||||||
|
|
||||||
case 0x0000009e: // KEYCODE_NUMPAD_DOT
|
case 0x0000009e: // KEYCODE_NUMPAD_DOT
|
||||||
return Qt::KeypadModifier + Qt::Key_Period;
|
return Qt::KeypadModifier | Qt::Key_Period;
|
||||||
|
|
||||||
case 0x0000009f: // KEYCODE_NUMPAD_COMMA
|
case 0x0000009f: // KEYCODE_NUMPAD_COMMA
|
||||||
return Qt::KeypadModifier + Qt::Key_Comma;
|
return Qt::KeypadModifier | Qt::Key_Comma;
|
||||||
|
|
||||||
case 0x000000a0: // KEYCODE_NUMPAD_ENTER
|
case 0x000000a0: // KEYCODE_NUMPAD_ENTER
|
||||||
return Qt::Key_Enter;
|
return Qt::Key_Enter;
|
||||||
|
|
||||||
case 0x000000a1: // KEYCODE_NUMPAD_EQUALS
|
case 0x000000a1: // KEYCODE_NUMPAD_EQUALS
|
||||||
return Qt::KeypadModifier + Qt::Key_Equal;
|
return Qt::KeypadModifier | Qt::Key_Equal;
|
||||||
|
|
||||||
case 0x000000a2: // KEYCODE_NUMPAD_LEFT_PAREN
|
case 0x000000a2: // KEYCODE_NUMPAD_LEFT_PAREN
|
||||||
return Qt::Key_ParenLeft;
|
return Qt::Key_ParenLeft;
|
||||||
@ -671,13 +673,13 @@ namespace QtAndroidInput
|
|||||||
|
|
||||||
case 0x000000aa: // KEYCODE_TV
|
case 0x000000aa: // KEYCODE_TV
|
||||||
case 0x000000ab: // KEYCODE_WINDOW
|
case 0x000000ab: // KEYCODE_WINDOW
|
||||||
return 0;
|
return QKeyCombination::fromCombined(0);
|
||||||
|
|
||||||
case 0x000000ac: // KEYCODE_GUIDE
|
case 0x000000ac: // KEYCODE_GUIDE
|
||||||
return Qt::Key_Guide;
|
return Qt::Key_Guide;
|
||||||
|
|
||||||
case 0x000000ad: // KEYCODE_DVR
|
case 0x000000ad: // KEYCODE_DVR
|
||||||
return 0;
|
return QKeyCombination::fromCombined(0);
|
||||||
|
|
||||||
case 0x000000ae: // KEYCODE_BOOKMARK
|
case 0x000000ae: // KEYCODE_BOOKMARK
|
||||||
return Qt::Key_AddFavorite;
|
return Qt::Key_AddFavorite;
|
||||||
@ -694,7 +696,7 @@ namespace QtAndroidInput
|
|||||||
case 0x000000b4: // KEYCODE_STB_INPUT
|
case 0x000000b4: // KEYCODE_STB_INPUT
|
||||||
case 0x000000b5: // KEYCODE_AVR_POWER
|
case 0x000000b5: // KEYCODE_AVR_POWER
|
||||||
case 0x000000b6: // KEYCODE_AVR_INPUT
|
case 0x000000b6: // KEYCODE_AVR_INPUT
|
||||||
return 0;
|
return QKeyCombination::fromCombined(0);
|
||||||
|
|
||||||
case 0x000000b7: // KEYCODE_PROG_RED
|
case 0x000000b7: // KEYCODE_PROG_RED
|
||||||
return Qt::Key_Red;
|
return Qt::Key_Red;
|
||||||
@ -716,7 +718,7 @@ namespace QtAndroidInput
|
|||||||
case 0x000000cd: // KEYCODE_MANNER_MODE do we need such a thing?
|
case 0x000000cd: // KEYCODE_MANNER_MODE do we need such a thing?
|
||||||
case 0x000000ce: // KEYCODE_3D_MODE
|
case 0x000000ce: // KEYCODE_3D_MODE
|
||||||
case 0x000000cf: // KEYCODE_CONTACTS
|
case 0x000000cf: // KEYCODE_CONTACTS
|
||||||
return 0;
|
return QKeyCombination::fromCombined(0);
|
||||||
|
|
||||||
case 0x000000d0: // KEYCODE_CALENDAR
|
case 0x000000d0: // KEYCODE_CALENDAR
|
||||||
return Qt::Key_Calendar;
|
return Qt::Key_Calendar;
|
||||||
@ -742,7 +744,7 @@ namespace QtAndroidInput
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
qWarning() << "Unhandled key code " << key << '!';
|
qWarning() << "Unhandled key code " << key << '!';
|
||||||
return 0;
|
return QKeyCombination::fromCombined(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -775,7 +777,7 @@ namespace QtAndroidInput
|
|||||||
{
|
{
|
||||||
QWindowSystemInterface::handleKeyEvent(0,
|
QWindowSystemInterface::handleKeyEvent(0,
|
||||||
QEvent::KeyPress,
|
QEvent::KeyPress,
|
||||||
mapAndroidKey(key),
|
mapAndroidKey(key).toCombined(),
|
||||||
mapAndroidModifiers(modifier),
|
mapAndroidModifiers(modifier),
|
||||||
toString(unicode),
|
toString(unicode),
|
||||||
autoRepeat);
|
autoRepeat);
|
||||||
@ -785,7 +787,7 @@ namespace QtAndroidInput
|
|||||||
{
|
{
|
||||||
QWindowSystemInterface::handleKeyEvent(0,
|
QWindowSystemInterface::handleKeyEvent(0,
|
||||||
QEvent::KeyRelease,
|
QEvent::KeyRelease,
|
||||||
mapAndroidKey(key),
|
mapAndroidKey(key).toCombined(),
|
||||||
mapAndroidModifiers(modifier),
|
mapAndroidModifiers(modifier),
|
||||||
toString(unicode),
|
toString(unicode),
|
||||||
autoRepeat);
|
autoRepeat);
|
||||||
|
@ -58,7 +58,8 @@ namespace QtAndroidInput
|
|||||||
// Software keyboard support
|
// Software keyboard support
|
||||||
|
|
||||||
// cursor/selection handles
|
// cursor/selection handles
|
||||||
void updateHandles(int handleCount, QPoint editMenuPos = QPoint(), uint32_t editButtons = 0, QPoint cursor = QPoint(), QPoint anchor = QPoint(), bool rtl = false);
|
void updateHandles(int handleCount, QPoint editMenuPos = QPoint(), uint32_t editButtons = 0,
|
||||||
|
QPoint cursor = QPoint(), QPoint anchor = QPoint(), bool rtl = false);
|
||||||
|
|
||||||
bool registerNatives(JNIEnv *env);
|
bool registerNatives(JNIEnv *env);
|
||||||
}
|
}
|
||||||
|
@ -1659,9 +1659,9 @@ jboolean QAndroidInputContext::paste()
|
|||||||
void QAndroidInputContext::sendShortcut(const QKeySequence &sequence)
|
void QAndroidInputContext::sendShortcut(const QKeySequence &sequence)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < sequence.count(); ++i) {
|
for (int i = 0; i < sequence.count(); ++i) {
|
||||||
const int keys = sequence[i];
|
const QKeyCombination keys = sequence[i];
|
||||||
Qt::Key key = Qt::Key(keys & ~Qt::KeyboardModifierMask);
|
Qt::Key key = Qt::Key(keys.toCombined() & ~Qt::KeyboardModifierMask);
|
||||||
Qt::KeyboardModifiers mod = Qt::KeyboardModifiers(keys & Qt::KeyboardModifierMask);
|
Qt::KeyboardModifiers mod = Qt::KeyboardModifiers(keys.toCombined() & Qt::KeyboardModifierMask);
|
||||||
|
|
||||||
QKeyEvent pressEvent(QEvent::KeyPress, key, mod);
|
QKeyEvent pressEvent(QEvent::KeyPress, key, mod);
|
||||||
QKeyEvent releaseEvent(QEvent::KeyRelease, key, mod);
|
QKeyEvent releaseEvent(QEvent::KeyRelease, key, mod);
|
||||||
|
@ -212,25 +212,35 @@ QAndroidPlatformIntegration::QAndroidPlatformIntegration(const QStringList ¶
|
|||||||
if (touchScreen == QJniObject::getStaticField<jint>("android/content/res/Configuration", "TOUCHSCREEN_FINGER")
|
if (touchScreen == QJniObject::getStaticField<jint>("android/content/res/Configuration", "TOUCHSCREEN_FINGER")
|
||||||
|| touchScreen == QJniObject::getStaticField<jint>("android/content/res/Configuration", "TOUCHSCREEN_STYLUS"))
|
|| touchScreen == QJniObject::getStaticField<jint>("android/content/res/Configuration", "TOUCHSCREEN_STYLUS"))
|
||||||
{
|
{
|
||||||
m_touchDevice = new QPointingDevice;
|
|
||||||
m_touchDevice->setType(QInputDevice::DeviceType::TouchScreen);
|
|
||||||
m_touchDevice->setCapabilities(QPointingDevice::Capability::Position
|
|
||||||
| QPointingDevice::Capability::Area
|
|
||||||
| QPointingDevice::Capability::Pressure
|
|
||||||
| QPointingDevice::Capability::NormalizedPosition);
|
|
||||||
|
|
||||||
QJniObject pm = javaActivity.callObjectMethod("getPackageManager", "()Landroid/content/pm/PackageManager;");
|
QJniObject pm = javaActivity.callObjectMethod("getPackageManager", "()Landroid/content/pm/PackageManager;");
|
||||||
Q_ASSERT(pm.isValid());
|
Q_ASSERT(pm.isValid());
|
||||||
|
int maxTouchPoints = 1;
|
||||||
if (pm.callMethod<jboolean>("hasSystemFeature","(Ljava/lang/String;)Z",
|
if (pm.callMethod<jboolean>("hasSystemFeature","(Ljava/lang/String;)Z",
|
||||||
QJniObject::getStaticObjectField("android/content/pm/PackageManager", "FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND", "Ljava/lang/String;").object())) {
|
QJniObject::getStaticObjectField("android/content/pm/PackageManager",
|
||||||
m_touchDevice->setMaximumTouchPoints(10);
|
"FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND",
|
||||||
|
"Ljava/lang/String;").object())) {
|
||||||
|
maxTouchPoints = 10;
|
||||||
} else if (pm.callMethod<jboolean>("hasSystemFeature","(Ljava/lang/String;)Z",
|
} else if (pm.callMethod<jboolean>("hasSystemFeature","(Ljava/lang/String;)Z",
|
||||||
QJniObject::getStaticObjectField("android/content/pm/PackageManager", "FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT", "Ljava/lang/String;").object())) {
|
QJniObject::getStaticObjectField("android/content/pm/PackageManager",
|
||||||
m_touchDevice->setMaximumTouchPoints(4);
|
"FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT",
|
||||||
|
"Ljava/lang/String;").object())) {
|
||||||
|
maxTouchPoints = 4;
|
||||||
} else if (pm.callMethod<jboolean>("hasSystemFeature","(Ljava/lang/String;)Z",
|
} else if (pm.callMethod<jboolean>("hasSystemFeature","(Ljava/lang/String;)Z",
|
||||||
QJniObject::getStaticObjectField("android/content/pm/PackageManager", "FEATURE_TOUCHSCREEN_MULTITOUCH", "Ljava/lang/String;").object())) {
|
QJniObject::getStaticObjectField("android/content/pm/PackageManager",
|
||||||
m_touchDevice->setMaximumTouchPoints(2);
|
"FEATURE_TOUCHSCREEN_MULTITOUCH",
|
||||||
|
"Ljava/lang/String;").object())) {
|
||||||
|
maxTouchPoints = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_touchDevice = new QPointingDevice("Android touchscreen", 1,
|
||||||
|
QInputDevice::DeviceType::TouchScreen,
|
||||||
|
QPointingDevice::PointerType::Finger,
|
||||||
|
QPointingDevice::Capability::Position
|
||||||
|
| QPointingDevice::Capability::Area
|
||||||
|
| QPointingDevice::Capability::Pressure
|
||||||
|
| QPointingDevice::Capability::NormalizedPosition,
|
||||||
|
maxTouchPoints,
|
||||||
|
0);
|
||||||
QWindowSystemInterface::registerInputDevice(m_touchDevice);
|
QWindowSystemInterface::registerInputDevice(m_touchDevice);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user