make touch input work with apps using SurfaceView

This commit is contained in:
Mis012
2022-11-09 15:03:13 +01:00
parent e5a8b4c7eb
commit 231ac88dbd
2 changed files with 9 additions and 3 deletions

View File

@@ -1682,13 +1682,15 @@ public final class MotionEvent extends InputEvent {
/** {@inheritDoc} */
@Override
public final int getDeviceId() {
return nativeGetDeviceId(mNativePtr);
return 1; // FIXME: implement this properly
// return nativeGetDeviceId(mNativePtr);
}
/** {@inheritDoc} */
@Override
public final int getSource() {
return nativeGetSource(mNativePtr);
return 4098/*SOURCE_TOUCHSCREEN*/; // TODO: reflect reality
// return nativeGetSource(mNativePtr);
}
/** {@inheritDoc} */
@@ -1926,7 +1928,7 @@ public final class MotionEvent extends InputEvent {
* >= 1.
*/
public final int getPointerCount() {
return 1;
return 1; // TODO: implement this properly
}
/**

View File

@@ -277,6 +277,10 @@ ANativeWindow * ANativeWindow_fromSurface(JNIEnv* env, jobject surface)
wl_subsurface_set_desync(subsurface);
wl_subsurface_set_position(subsurface, pos_x, pos_y);
struct wl_region *empty_region = wl_compositor_create_region(wl_compositor);
wl_surface_set_input_region(wayland_surface, empty_region);
wl_region_destroy(empty_region);
struct wl_egl_window *egl_window = wl_egl_window_create(wayland_surface, width, height);
native_window->egl_window = (EGLNativeWindowType)egl_window;
printf("EGL::: wayland_surface: %p\n", wayland_surface);