summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Shaw <andy.shaw@digia.com>2015-04-14 12:02:47 +0200
committerAndy Shaw <andy.shaw@digia.com>2015-04-15 21:04:45 +0000
commit4f8171998378f3e0f345b2b417afbfc9ad9738f0 (patch)
tree97a8e2f076d31b61484bbb5cab561ac7fe2070c3
parentf98d125b2928d0784d509c8025271fca661ea270 (diff)
Pass on the auto repeat information for key events
Task-number: QTBUG-45340 Change-Id: Iecc55987fa784e4bf14317d9d4a085a8f0b58451 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java9
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtNative.java4
-rw-r--r--src/plugins/platforms/android/androidjniinput.cpp12
3 files changed, 12 insertions, 13 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
index c7355c1530..73140839cc 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
@@ -983,7 +983,7 @@ public class QtActivityDelegate
if (!m_backKeyPressedSent)
return true;
}
- QtNative.keyDown(keyCode, c, event.getMetaState());
+ QtNative.keyDown(keyCode, c, event.getMetaState(), event.getRepeatCount() > 0);
return true;
}
@@ -1007,7 +1007,7 @@ public class QtActivityDelegate
}
m_metaState = MetaKeyKeyListener.handleKeyUp(m_metaState, keyCode, event);
- QtNative.keyUp(keyCode, event.getUnicodeChar(), event.getMetaState());
+ QtNative.keyUp(keyCode, event.getUnicodeChar(), event.getMetaState(), event.getRepeatCount() > 0);
return true;
}
@@ -1018,8 +1018,8 @@ public class QtActivityDelegate
&& event.getCharacters() != null
&& event.getCharacters().length() == 1
&& event.getKeyCode() == 0) {
- QtNative.keyDown(0, event.getCharacters().charAt(0), event.getMetaState());
- QtNative.keyUp(0, event.getCharacters().charAt(0), event.getMetaState());
+ QtNative.keyDown(0, event.getCharacters().charAt(0), event.getMetaState(), event.getRepeatCount() > 0);
+ QtNative.keyUp(0, event.getCharacters().charAt(0), event.getMetaState(), event.getRepeatCount() > 0);
}
try {
@@ -1195,7 +1195,6 @@ public class QtActivityDelegate
} else {
m_activity.getWindow().setBackgroundDrawable(m_activity.getResources().getDrawable(attr.resourceId));
}
-
if (m_dummyView != null) {
m_layout.removeView(m_dummyView);
m_dummyView = null;
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
index bed9d69782..b2480618f8 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
@@ -593,8 +593,8 @@ public class QtNative
// pointer methods
// keyboard methods
- public static native void keyDown(int key, int unicode, int modifier);
- public static native void keyUp(int key, int unicode, int modifier);
+ public static native void keyDown(int key, int unicode, int modifier, boolean autoRepeat);
+ public static native void keyUp(int key, int unicode, int modifier, boolean autoRepeat);
public static native void keyboardVisibilityChanged(boolean visibility);
// keyboard methods
diff --git a/src/plugins/platforms/android/androidjniinput.cpp b/src/plugins/platforms/android/androidjniinput.cpp
index 14b0c96cb5..8ee3ff88d1 100644
--- a/src/plugins/platforms/android/androidjniinput.cpp
+++ b/src/plugins/platforms/android/androidjniinput.cpp
@@ -663,24 +663,24 @@ namespace QtAndroidInput
return unicode ? QString(QChar(unicode)) : QString();
}
- static void keyDown(JNIEnv */*env*/, jobject /*thiz*/, jint key, jint unicode, jint modifier)
+ static void keyDown(JNIEnv */*env*/, jobject /*thiz*/, jint key, jint unicode, jint modifier, jboolean autoRepeat)
{
QWindowSystemInterface::handleKeyEvent(0,
QEvent::KeyPress,
mapAndroidKey(key),
mapAndroidModifiers(modifier),
toString(unicode),
- false);
+ autoRepeat);
}
- static void keyUp(JNIEnv */*env*/, jobject /*thiz*/, jint key, jint unicode, jint modifier)
+ static void keyUp(JNIEnv */*env*/, jobject /*thiz*/, jint key, jint unicode, jint modifier, jboolean autoRepeat)
{
QWindowSystemInterface::handleKeyEvent(0,
QEvent::KeyRelease,
mapAndroidKey(key),
mapAndroidModifiers(modifier),
toString(unicode),
- false);
+ autoRepeat);
}
static void keyboardVisibilityChanged(JNIEnv */*env*/, jobject /*thiz*/, jboolean visibility)
@@ -702,8 +702,8 @@ namespace QtAndroidInput
{"mouseUp", "(III)V", (void *)mouseUp},
{"mouseMove", "(III)V", (void *)mouseMove},
{"longPress", "(III)V", (void *)longPress},
- {"keyDown", "(III)V", (void *)keyDown},
- {"keyUp", "(III)V", (void *)keyUp},
+ {"keyDown", "(IIIZ)V", (void *)keyDown},
+ {"keyUp", "(IIIZ)V", (void *)keyUp},
{"keyboardVisibilityChanged", "(Z)V", (void *)keyboardVisibilityChanged}
};