Added support for CTRL key modifier to Android builds.
Change-Id: Ib3eddb33348c54cec6cee62abdf69104059affb0 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>bb10
parent
1d61e3267d
commit
1b548faa77
|
|
@ -638,6 +638,25 @@ namespace QtAndroidInput
|
|||
}
|
||||
}
|
||||
|
||||
static Qt::KeyboardModifiers mapAndroidModifiers(jint modifiers)
|
||||
{
|
||||
Qt::KeyboardModifiers qmodifiers;
|
||||
|
||||
if (modifiers & 0x00000001) // META_SHIFT_ON
|
||||
qmodifiers |= Qt::ShiftModifier;
|
||||
|
||||
if (modifiers & 0x00000002) // META_ALT_ON
|
||||
qmodifiers |= Qt::AltModifier;
|
||||
|
||||
if (modifiers & 0x00000004) // META_SYM_ON
|
||||
qmodifiers |= Qt::MetaModifier;
|
||||
|
||||
if (modifiers & 0x00001000) // META_CTRL_ON
|
||||
qmodifiers |= Qt::ControlModifier;
|
||||
|
||||
return qmodifiers;
|
||||
}
|
||||
|
||||
// maps 0 to the empty string, and anything else to a single-character string
|
||||
static inline QString toString(jint unicode)
|
||||
{
|
||||
|
|
@ -646,40 +665,20 @@ namespace QtAndroidInput
|
|||
|
||||
static void keyDown(JNIEnv */*env*/, jobject /*thiz*/, jint key, jint unicode, jint modifier)
|
||||
{
|
||||
Qt::KeyboardModifiers modifiers;
|
||||
if (modifier & 1)
|
||||
modifiers |= Qt::ShiftModifier;
|
||||
|
||||
if (modifier & 2)
|
||||
modifiers |= Qt::AltModifier;
|
||||
|
||||
if (modifier & 4)
|
||||
modifiers |= Qt::MetaModifier;
|
||||
|
||||
QWindowSystemInterface::handleKeyEvent(0,
|
||||
QEvent::KeyPress,
|
||||
mapAndroidKey(key),
|
||||
modifiers,
|
||||
mapAndroidModifiers(modifier),
|
||||
toString(unicode),
|
||||
false);
|
||||
}
|
||||
|
||||
static void keyUp(JNIEnv */*env*/, jobject /*thiz*/, jint key, jint unicode, jint modifier)
|
||||
{
|
||||
Qt::KeyboardModifiers modifiers;
|
||||
if (modifier & 1)
|
||||
modifiers |= Qt::ShiftModifier;
|
||||
|
||||
if (modifier & 2)
|
||||
modifiers |= Qt::AltModifier;
|
||||
|
||||
if (modifier & 4)
|
||||
modifiers |= Qt::MetaModifier;
|
||||
|
||||
QWindowSystemInterface::handleKeyEvent(0,
|
||||
QEvent::KeyRelease,
|
||||
mapAndroidKey(key),
|
||||
modifiers,
|
||||
mapAndroidModifiers(modifier),
|
||||
toString(unicode),
|
||||
false);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue