Bug 438126 - KDE Connect enabled via Android’s accessibility service overrides external keyboard layouts
Summary: KDE Connect enabled via Android’s accessibility service overrides external ke...
Alias: None
Product: kdeconnect
Classification: Unclassified
Component: android-application (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal with 20 votes (vote)
Target Milestone: ---
Assignee: Albert Vaca
Depends on:
Reported: 2021-06-05 16:19 UTC by Maximilian Böhm
Modified: 2022-02-24 21:00 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Note You need to log in before you can comment on or make changes to this bug.
Description Maximilian Böhm 2021-06-05 16:19:37 UTC
I have enabled KDE Connect in my Galaxy Tab S7+’s accessibility services to be able to use the remote keyboard feature PC → Android device. But enabling this seems to override the layout of my German external keyboard to an American one (no ÄÖÜß, but still normal German location of Z/Y). This happens on bluetooth keyboards as well as with my "Galaxy Book Cover Keyboard", which is using a physical connection.

Android 11, security patch level May 2021, KDE Connect 1.17.0 via F-Droid.
Comment 1 Zachariah Anderson 2021-11-24 17:44:11 UTC
Confirming this issue exists, and adding additional info. As far as I can tell this is a bug with Android 11's accessibility services. I discovered this issue also effects game controllers, causing all inputs from any hardware to declare there origin as a 'Virtual' device with vendor and device ids only showing 0000. This broke compatibility with any game that uses controller specific profiles, or has multiplayer.

I don't know if this bug is still present in Android 12, but if so it may need addressing in KDE Connect.

To recreate the issue, and confirm it, enable the KDE Connect accessibility service, and test a controller with a gamepad tester app. You should see device: Virtual instead of the controllers original identifier. 

The keyboard defaults to American as the input subsystem loads the Virtual device with Androids default keymap.