qmir does not support input
Bug #1163393 reported by
Robert Carr
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Medium
|
Robert Carr | ||
platform-api |
Fix Released
|
Medium
|
Robert Carr |
Bug Description
The QtMir backend does not support receiving input. It probably should :)
Related branches
lp:~robertcarr/mir/receive-input-in-client
- PS Jenkins bot (community): Approve (continuous-integration)
- Alan Griffiths: Approve
- Chris Halse Rogers: Approve
-
Diff: 3169 lines (+1583/-233)69 files modified3rd_party/CMakeLists.txt (+2/-6)
3rd_party/android-deps/std/SortedVector.h (+1/-1)
3rd_party/android-input/android/frameworks/base/include/androidfw/InputTransport.h (+2/-0)
3rd_party/android-input/android/frameworks/base/services/input/InputTransport.cpp (+5/-0)
CMakeLists.txt (+0/-7)
cross-compile-chroot.sh (+0/-1)
debian/rules (+0/-1)
doc/building_source_for_android.md (+2/-2)
examples/demo_client.c (+1/-1)
examples/demo_client_accelerated.cpp (+1/-1)
examples/demo_client_unaccelerated.c (+1/-1)
examples/eglapp.c (+14/-1)
examples/render_surfaces.cpp (+2/-16)
include/client/mir_toolkit/mir_client_library.h (+3/-1)
include/server/mir/input/null_input_manager.h (+56/-0)
include/shared/mir/input/android/android_input_lexicon.h (+7/-0)
include/shared/mir_toolkit/c_types.h (+21/-0)
include/shared/mir_toolkit/input/event.h (+2/-2)
include/test/mir_test/wait_condition.h (+5/-3)
src/client/CMakeLists.txt (+10/-3)
src/client/input/CMakeLists.txt (+12/-0)
src/client/input/android_input_platform.cpp (+44/-0)
src/client/input/android_input_platform.h (+52/-0)
src/client/input/android_input_receiver.cpp (+91/-0)
src/client/input/android_input_receiver.h (+84/-0)
src/client/input/android_input_receiver_thread.cpp (+68/-0)
src/client/input/android_input_receiver_thread.h (+71/-0)
src/client/input/input_platform.h (+55/-0)
src/client/input/input_receiver_thread.h (+48/-0)
src/client/mir_client_library.cpp (+10/-6)
src/client/mir_client_surface.h (+1/-0)
src/client/mir_connection.cpp (+8/-2)
src/client/mir_connection.h (+7/-0)
src/client/mir_surface.cpp (+19/-1)
src/client/mir_surface.h (+13/-0)
src/server/CMakeLists.txt (+1/-0)
src/server/default_server_configuration.cpp (+7/-2)
src/server/frontend/protobuf_message_processor.cpp (+4/-2)
src/server/input/CMakeLists.txt (+0/-7)
src/server/input/android/CMakeLists.txt (+1/-1)
src/server/input/android/android_input_application_handle.cpp (+6/-1)
src/server/input/android/android_input_application_handle.h (+1/-1)
src/server/input/android/event_filter_dispatcher_policy.cpp (+3/-2)
src/server/input/android/transport/CMakeLists.txt (+31/-0)
src/server/input/android/transport/android_input_lexicon.cpp (+7/-7)
src/server/input/dummy_input_manager.cpp (+0/-42)
tests/acceptance-tests/CMakeLists.txt (+4/-0)
tests/acceptance-tests/test_client_input.cpp (+268/-0)
tests/acceptance-tests/test_client_library.cpp (+7/-7)
tests/acceptance-tests/test_focus_management_api.cpp (+1/-1)
tests/acceptance-tests/test_focus_selection.cpp (+1/-1)
tests/acceptance-tests/test_surfaceloop.cpp (+5/-5)
tests/integration-tests/CMakeLists.txt (+0/-2)
tests/integration-tests/client/test_client_render.cpp (+8/-8)
tests/integration-tests/input/android/test_android_cursor_listener.cpp (+2/-3)
tests/integration-tests/input/android/test_android_input_manager.cpp (+8/-9)
tests/integration-tests/input/android/test_fake_event_hub_to_event_filter.cpp (+2/-3)
tests/integration-tests/test_error_reporting.cpp (+1/-1)
tests/integration-tests/test_surfaceloop.cpp (+4/-4)
tests/mir_test_doubles/CMakeLists.txt (+0/-2)
tests/unit-tests/CMakeLists.txt (+0/-3)
tests/unit-tests/client/CMakeLists.txt (+4/-0)
tests/unit-tests/client/input/CMakeLists.txt (+9/-0)
tests/unit-tests/client/input/test_android_input_receiver.cpp (+198/-0)
tests/unit-tests/client/input/test_android_input_receiver_thread.cpp (+152/-0)
tests/unit-tests/client/test_client_mir_surface.cpp (+106/-51)
tests/unit-tests/input/android/test_android_input_application_handle.cpp (+18/-6)
tests/unit-tests/input/android/test_android_input_lexicon.cpp (+5/-5)
tests/unit-tests/input/android/test_android_input_window_handle.cpp (+1/-1)
Changed in mir: | |
milestone: | none → 0.0.3 |
Changed in mir: | |
status: | Fix Committed → Confirmed |
Changed in mir: | |
importance: | Undecided → Medium |
Changed in mir: | |
status: | Confirmed → In Progress |
Changed in platform-api: | |
status: | New → In Progress |
importance: | Undecided → Medium |
assignee: | nobody → Robert Carr (robertcarr) |
Changed in mir: | |
status: | In Progress → Fix Committed |
Changed in mir: | |
status: | Fix Committed → Fix Released |
Changed in platform-api: | |
status: | In Progress → Fix Released |
To post a comment you must log in.
In the related branch (mirclient- with-input) is a branch of QtUbuntu from the phablet work which will work against mirclient and receive input (with all related branches you can receive input all the way to QML!).
I've chosen to base this branch off of QtUbuntu as the codebase is much more mature than qmir. Lots of basic input machinery, etc...
QtUbuntu itself is nearly unmodified. Mirclient is abstracted through the platform-api (platform- api-mirclient) . I think there is a question (why this abstraction?), however consider that we would like to be able to run the same (or as much the same as possible) Qt backend in and out of process