Skip to content

[For dual-display devices] Pin virtual keyboard to the bottom screen - #194

Merged
JPyke3 merged 3 commits into
armada-os:mainfrom
tslmy:codex/keyboard-output-affinity
Aug 5, 2026
Merged

[For dual-display devices] Pin virtual keyboard to the bottom screen#194
JPyke3 merged 3 commits into
armada-os:mainfrom
tslmy:codex/keyboard-output-affinity

Conversation

@tslmy

@tslmy tslmy commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Summary

This configures Armada to consume a patched KWin package and use per-device configuration to pin Plasma's virtual keyboard to a specific display connector.

On dual-screen handhelds such as the AYN Thor, the intended behavior is for the on-screen keyboard to appear on the bottom display instead of following KWin's active-output heuristic. The Thor device config sets:

ARMADA_VIRTUAL_KEYBOARD_CONNECTOR=DSI-1

The Plasma session exports that device setting before starting KWin. Devices that leave the setting empty keep upstream KWin's current active-output behavior.

Tested with an AYN Thor:

Before After
Screenshot 2026-08-02 at 16 41 49 Screenshot 2026-08-02 at 16 41 57

Package Dependency

Per review feedback, the KWin patch has been moved to armada-packages: armada-os/armada-packages#22 . This PR now consumes the KWin package image instead of rebuilding KWin inside the Armada base image.

Warning

The current KWIN_PKG value uses :latest until the package PR publishes a digest that can be pinned here.

Testing

bash -n build_files/build.sh build_files/10-base-packages.sh system_files/usr/libexec/armada/device-env system_files/usr/libexec/armada/start-plasma tests/thor-virtual-keyboard-test.sh
tests/thor-virtual-keyboard-test.sh

@tslmy tslmy changed the title Pin virtual keyboard to configured display [For dual-display devices] Pin virtual keyboard to the bottom screen Aug 2, 2026
@pacoa-kdbg

Copy link
Copy Markdown
Contributor

Pocket DS follow-up: #195 configures ARMADA_VIRTUAL_KEYBOARD_CONNECTOR=DSI-2, using the verified lower-display connector from #160. It requires this PR’s patched-KWin build path.

@JPyke3 JPyke3 self-assigned this Aug 3, 2026

@JPyke3 JPyke3 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hey all,

I do like the changes here. But I believe we should package kwin just like we package the other components in armada-packages instead of in the base repo.

Also - I feel we shouldn't be using built-time flags to manage things like if the image should ship with components specific to the thor. Ideally we would ship one image that everyone can consume and use per-device configs to manage the differences.

The expected structure would therefore be:

  • an armada-packages PR that builds and publishes the patched KWin package;
  • this armada PR updated to consume that package;
  • the per-device ARMADA_VIRTUAL_KEYBOARD_CONNECTOR configuration retained here.

I’m requesting changes rather than closing this, since the feature itself looks useful and the existing PR can be reworked around that packaging model.

@tslmy
tslmy force-pushed the codex/keyboard-output-affinity branch from 7e8e847 to fe6b0ee Compare August 4, 2026 04:43
@tslmy
tslmy requested a review from JPyke3 August 4, 2026 04:48
@tslmy

tslmy commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

Great idea @JPyke3 ! I wasn't aware of the existence of https://github.com/armada-os/armada-packages, and I love the idea of it. It honestly also makes my life easier if and when I choose to upstream this feature to KWin itself.

PR updated. Tested on real device with an image built from fe6b0ee.

@JPyke3 JPyke3 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks all good now! Thanks for splitting it up! Unfortunately I won't have time to merge this one in the next few hours (waiting for kwin to compile) but when I wake up I'll get on it tomorrow :D

@JPyke3
JPyke3 merged commit c22855e into armada-os:main Aug 5, 2026
@tslmy
tslmy deleted the codex/keyboard-output-affinity branch August 5, 2026 22:38
@tslmy

tslmy commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

Thank you @JPyke3 ! This is my first merged PR to this repo. I'm elated.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add the ability for users to pin their virtual keyboard on the second screen for dual screen devices

3 participants