Skip to content

Add support for WLCS keyboard#4716

Draft
tarek-y-ismail wants to merge 2 commits intomainfrom
wlcs-keyboard-support
Draft

Add support for WLCS keyboard#4716
tarek-y-ismail wants to merge 2 commits intomainfrom
wlcs-keyboard-support

Conversation

@tarek-y-ismail
Copy link
Contributor

What's new?

  • Adds support for WLCS's keyboard interface
  • Bumps WLCS support from 2 to 4 (3 was for an optional feature we didn't need)

How to test

  • Build mir from this branch: cmake -B build && cmake --build build
  • Check out the code for Keyboard support wlcs#407, or main if it was merged, and build it
  • Run WLCS's new keyboard tests, assuming it was built in build: ./build/wlcs <path to mir>/build/lib/miral_wlcs_integration.so --gtest_filter=KeyboardTest*

Checklist

  • Tests added and pass: in WLCS
  • Adequate documentation added
  • (optional) Added Screenshots or videos

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds keyboard support to Mir's WLCS (Wayland Conformance Test Suite) integration, enabling keyboard-related conformance tests. The implementation follows the established patterns used for pointer and touch device integration.

Changes:

  • Adds FakeKeyboard implementation following the same pattern as FakeTouch
  • Implements keyboard event synthesis (key down/up) using Mir's input synthesis APIs
  • Bumps WLCS protocol version from 2 to 4 to enable keyboard interface support

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
tests/mir_test_framework/test_wlcs_display_server.cpp Implements FakeKeyboard struct, keyboard event handlers (key_down/key_up/destroy), create_keyboard method with DeviceObserver synchronization, and updates WLCS version to 4
include/test/miral/test_wlcs_display_server.h Adds create_keyboard() method declaration to TestWlcsDisplayServer interface

@github-actions
Copy link

github-actions bot commented Mar 6, 2026

TICS Quality Gate

✔️ Passed

No changed files applicable for TICS analysis quality gating.

TICS / TICS / Run TICS analysis

@tarek-y-ismail
Copy link
Contributor Author

tarek-y-ismail commented Mar 6, 2026

Looks like the latest version of WLCS with keyboard support is not packaged outside of Ubuntu.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants