Version in base suite: 2.56.2-1 Base version: at-spi2-core_2.56.2-1 Target version: at-spi2-core_2.56.2-1+deb13u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/a/at-spi2-core/at-spi2-core_2.56.2-1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/a/at-spi2-core/at-spi2-core_2.56.2-1+deb13u1.dsc changelog | 7 +++++++ patches/keyboard-group | 39 +++++++++++++++++++++++++++++++++++++++ patches/series | 1 + salsa-ci.yml | 2 ++ 4 files changed, 49 insertions(+) diff -Nru at-spi2-core-2.56.2/debian/changelog at-spi2-core-2.56.2/debian/changelog --- at-spi2-core-2.56.2/debian/changelog 2025-04-28 17:43:47.000000000 +0000 +++ at-spi2-core-2.56.2/debian/changelog 2025-11-20 00:55:38.000000000 +0000 @@ -1,3 +1,10 @@ +at-spi2-core (2.56.2-1+deb13u1) trixie; urgency=medium + + * patches/keyboard-group: Fix taking group into account for key events + (Closes: #1111485) + + -- Samuel Thibault Thu, 20 Nov 2025 01:55:38 +0100 + at-spi2-core (2.56.2-1) unstable; urgency=medium * New upstream release diff -Nru at-spi2-core-2.56.2/debian/patches/keyboard-group at-spi2-core-2.56.2/debian/patches/keyboard-group --- at-spi2-core-2.56.2/debian/patches/keyboard-group 1970-01-01 00:00:00.000000000 +0000 +++ at-spi2-core-2.56.2/debian/patches/keyboard-group 2025-11-20 00:55:30.000000000 +0000 @@ -0,0 +1,39 @@ +commit f615fc67b1a19c507b083dcbce046429653b8144 +Author: Mike Gorse +Date: Tue Sep 9 19:17:48 2025 -0500 + + AtspiDeviceX11: Encode group in the key event before passing to XLookupString + + We receive key events via XInput and convert the XInput events to + XKeyEvents before passing them to XLookupString. When doing this, we need to + check the active xkb group and pass it in the upper bits of the state. + Otherwise, we will always receive the keysym from the first group, regardless + of which group is active, causing the wrong keysym to be returned when a + non-default keyboard layout is active. + + Closes #201 + +diff --git a/atspi/atspi-device-x11.c b/atspi/atspi-device-x11.c +index be99a5d4..b70f61f7 100644 +--- a/atspi/atspi-device-x11.c ++++ b/atspi/atspi-device-x11.c +@@ -98,7 +98,10 @@ event_check (GSource *source) + static void + xi2keyevent (XIDeviceEvent *xievent, XEvent *xkeyevent) + { ++ XkbStateRec st= {}; ++ + memset (xkeyevent, 0, sizeof (*xkeyevent)); ++ XkbGetState (xievent->display, XkbUseCoreKbd, &st); + + switch (xievent->evtype) + { +@@ -122,7 +125,7 @@ xi2keyevent (XIDeviceEvent *xievent, XEvent *xkeyevent) + xkeyevent->xkey.y = xievent->event_y; + xkeyevent->xkey.x_root = xievent->root_x; + xkeyevent->xkey.y_root = xievent->root_y; +- xkeyevent->xkey.state = xievent->mods.effective; ++ xkeyevent->xkey.state = xievent->mods.effective | (st.group << 13); + xkeyevent->xkey.keycode = xievent->detail; + xkeyevent->xkey.same_screen = 1; + } diff -Nru at-spi2-core-2.56.2/debian/patches/series at-spi2-core-2.56.2/debian/patches/series --- at-spi2-core-2.56.2/debian/patches/series 2025-04-05 23:18:27.000000000 +0000 +++ at-spi2-core-2.56.2/debian/patches/series 2025-11-20 00:55:30.000000000 +0000 @@ -1,2 +1,3 @@ at-spi-by-default workaround_tests_issue.patch +keyboard-group diff -Nru at-spi2-core-2.56.2/debian/salsa-ci.yml at-spi2-core-2.56.2/debian/salsa-ci.yml --- at-spi2-core-2.56.2/debian/salsa-ci.yml 2025-04-05 23:18:27.000000000 +0000 +++ at-spi2-core-2.56.2/debian/salsa-ci.yml 2025-11-20 00:55:38.000000000 +0000 @@ -8,6 +8,8 @@ # allow_failure: false variables: + SALSA_CI_DISABLE_VERSION_BUMP: 1 + RELEASE: trixie SALSA_CI_REPROTEST_ENABLE_DIFFOSCOPE: 1 SALSA_CI_ENABLE_BUILD_PACKAGE_PROFILES: 1