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