pull: evdev and android
Pekka Paalanen
ppaalanen at gmail.com
Fri Aug 3 04:36:51 PDT 2012
Hi Kristian,
here is the reworked series for android evdev input[1]. I will reply to
this email with the patch series, and it can be found in the git
mentioned below.
The main idea is to move udev code from evdev.c into compositor-drm.c.
For that, the generic code in evdev.c is cleaned up from udev and
launcher-util references, and struct evdev_seat is removed. Instead,
there are structs drm_seat and android_seat in the backends.
Evdev input devices are now mentioned in the log, when they are
detected or removed. Miscellaneous patches include bug fixes, more
logging, and fixes for Android build. And of course the evdev support
in the Android backend.
The following changes since commit 0fb797596a03132bca590b2a6847251d136b9e57:
compositor: Use uint32_t for the msecs value consistently (2012-08-02 11:06:44 -0400)
are available in the git repository at:
git://git.collabora.co.uk/git/user/pq/wayland-demos.git for-krh
Pekka Paalanen (20):
evdev: rename device_removed() to evdev_input_device_destroy()
evdev: move device opening out from evdev_input_device_create
evdev: merge evdev-private.h into evdev.h
evdev: change evdev_seat into weston_seat in struct evdev_input_device
evdev: make evdev_led_update independent from struct evdev_seat
evdev: make evdev_notify_keyboard_focus() independent of evdev_seat
evdev: pass weston_seat to evdev_input_device_create()
evdev: rename evdev_seat to drm_seat
evdev: expose the generic evdev API
evdev: move udev code into compositor-drm.c
evdev: log input devices
compositor-drm: fix leak in evdev_udev_handler()
compositor-drm: log input device hot-unplugs
compositor-drm: log enter/leave VT
compositor-drm, evdev: don't crash on missing keyboard
compositor: log program launches
android: add basic evdev input support
evdev: kill a warning in evdev_led_update()
desktop-shell: use the standard 'environ' variable
configure: make setbacklight optional
clients/desktop-shell.c | 6 +-
configure.ac | 4 +-
src/Makefile.am | 17 ++-
src/compositor-android.c | 105 ++++++++++++++++
src/compositor-drm.c | 245 +++++++++++++++++++++++++++++++++++++-
src/compositor.c | 2 +
src/evdev-private.h | 115 ------------------
src/evdev-touchpad.c | 4 +-
src/evdev.c | 300 +++++++++-------------------------------------
src/evdev.h | 106 ++++++++++++++--
tests/Makefile.am | 6 +-
11 files changed, 524 insertions(+), 386 deletions(-)
delete mode 100644 src/evdev-private.h
For the curious, this is how the Weston log looks on the Android
backend on Samsung Galaxy Nexus, when the buttons and the touchscreen
work:
Date: 2012-08-03 GMT
[10:55:12.916] weston 0.95.0
http://wayland.freedesktop.org/
Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=weston
Build: 0.95.0-73-g1798b05 crash HACK (2012-08-03 13:32:46 +0300)
[10:55:12.919] OS: Linux, 3.0.1-ga052f63, #1 SMP PREEMPT Mon Nov 21 16:05:10 PST 2011, armv7l
[10:55:12.919] warning: XDG_RUNTIME_DIR "/run/wayland" is not configured
correctly. Unix access mode must be 0700 but is 775,
and XDG_RUNTIME_DIR must be owned by the user, but is
owned by UID 1000.
Refer to your distribution on how to get it, or
http://www.freedesktop.org/wiki/Specifications/basedir-spec
on how to implement it.
couldn't open /data/.config/weston.ini
[10:55:12.919] Loading module '/system/lib/weston/android-backend.so'
[10:55:12.929] initializing android backend
couldn't open /data/.config/weston.ini
[10:55:13.098] EGL version: 1.4 Android META-EGL
[10:55:13.098] EGL vendor: Android
[10:55:13.098] EGL client APIs: OpenGL_ES
[10:55:13.098] EGL extensions: EGL_KHR_image EGL_KHR_image_base
EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image
EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image
EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer
EGL_ANDROID_swap_rectangle EGL_NV_system_time
EGL_WL_bind_wayland_display
[10:55:13.099] GL version: OpenGL ES 2.0 build 1.8 at 300406
[10:55:13.099] GLSL version: OpenGL ES GLSL ES 1.00 build 1.8 at 300406
[10:55:13.099] GL vendor: Imagination Technologies
[10:55:13.099] GL renderer: PowerVR SGX 540
[10:55:13.099] GL extensions: GL_OES_rgb8_rgba8 GL_OES_depth24
GL_OES_vertex_half_float GL_OES_texture_float
GL_OES_texture_half_float GL_OES_element_index_uint
GL_OES_mapbuffer GL_OES_fragment_precision_high
GL_OES_compressed_ETC1_RGB8_texture GL_OES_EGL_image
GL_OES_EGL_image_external GL_OES_required_internalformat
GL_OES_depth_texture GL_OES_get_program_binary
GL_OES_packed_depth_stencil GL_OES_standard_derivatives
GL_OES_vertex_array_object GL_OES_egl_sync
GL_EXT_multi_draw_arrays GL_EXT_texture_format_BGRA8888
GL_EXT_discard_framebuffer GL_EXT_shader_texture_lod
GL_IMG_shader_binary GL_IMG_texture_compression_pvrtc
GL_IMG_texture_npot GL_IMG_texture_format_BGRA8888
GL_IMG_read_format GL_IMG_program_binary
GL_IMG_multisampled_render_to_texture
[10:55:13.323] input device lightsensor-level, /dev/input/event4 ignored: unsupported device type
[10:55:13.362] input device proximity, /dev/input/event3 ignored: unsupported device type
[10:55:13.549] input device tuna-gpio-keypad, /dev/input/event2 is a keyboard
[10:55:13.549] input device unknown, /dev/input/mice is a keyboard
[10:55:13.549] input device barometer, /dev/input/event0 ignored: unsupported device type
[10:55:13.658] input device Melfas MMSxxx Touchscreen, /dev/input/event1 is a touch device
[10:55:13.660] failed to get keys for device /dev/input/mice
[10:55:13.661] Loading module '/system/lib/weston/desktop-shell.so'
couldn't open /data/.config/weston.ini
[10:55:13.669] launching '/system/bin/weston-desktop-shell'
[10:55:13.678] libwayland: using socket /run/wayland/wayland-0
couldn't open /data/.config/weston.ini
Thanks,
pq
[1]
http://lists.freedesktop.org/archives/wayland-devel/2012-July/004206.html
More information about the wayland-devel
mailing list