From c0c47c28e9e96ebc1505360aea0d99c335d89e2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Trung=20L=C3=AA?= <8@tle.id.au> Date: Thu, 29 Jan 2026 16:48:22 +1100 Subject: [PATCH] Replace deprecated XKeycodeToKeysym with XkbKeycodeToKeysym XKeycodeToKeysym() has been deprecated since X11R6.1 (1996). Use XkbKeycodeToKeysym() instead, which takes an additional group parameter (0 for default keyboard group). API change: XKeycodeToKeysym(display, keycode, index) -> XkbKeycodeToKeysym(display, keycode, 0, index) Files modified: - lib/DtWidget/Editor.c - programs/dtcalc/motif.c - programs/dtsession/SmSave.c - programs/dtwm/WmCPlace.c - programs/dtwm/WmResParse.c - programs/dtwm/WmWinConf.c --- cde/lib/DtWidget/Editor.c | 3 ++- cde/programs/dtcalc/motif.c | 5 +++-- cde/programs/dtsession/SmSave.c | 3 ++- cde/programs/dtwm/WmCPlace.c | 3 ++- cde/programs/dtwm/WmResParse.c | 3 ++- cde/programs/dtwm/WmWinConf.c | 7 ++++--- 6 files changed, 15 insertions(+), 9 deletions(-) diff --git a/cde/lib/DtWidget/Editor.c b/cde/lib/DtWidget/Editor.c index 9d6c750b4..b5a5cd7e3 100644 --- a/cde/lib/DtWidget/Editor.c +++ b/cde/lib/DtWidget/Editor.c @@ -82,6 +82,7 @@ #include "X11/Xutil.h" #include #include +#include #include #include #include @@ -3735,7 +3736,7 @@ GetModeSwitchModifier( for (mapIndex = 3*pMap->max_keypermod; mapIndex < mapSize; mapIndex++) { /* look only at the first 4 columns of key map */ for (keyCol = 0; keyCol < 4; keyCol++) { - keySym = XKeycodeToKeysym(dpy, pMap->modifiermap[mapIndex], keyCol); + keySym = XkbKeycodeToKeysym(dpy, pMap->modifiermap[mapIndex], 0, keyCol); if (keySym == XK_Mode_switch) modeSwitchModMask |= 1 << (mapIndex / pMap->max_keypermod); } diff --git a/cde/programs/dtcalc/motif.c b/cde/programs/dtcalc/motif.c index 0ea7fedee..c43bdb9d4 100644 --- a/cde/programs/dtcalc/motif.c +++ b/cde/programs/dtcalc/motif.c @@ -47,6 +47,7 @@ #include "calctool.h" #include #include +#include #include #include #include @@ -2105,7 +2106,7 @@ key_init(void) X->kparray[i - X->kcmin] = 0 ; for (j = 0; j < X->keysyms_per_key; ++j) { - ks = XKeycodeToKeysym(X->dpy, i, j) ; + ks = XkbKeycodeToKeysym(X->dpy, i, 0, j) ; if (IsKeypadKey(ks)) { X->kparray[i - X->kcmin] = 1 ; @@ -2125,7 +2126,7 @@ keypad_keysym(XEvent *xevent) for (i = 0; i < X->keysyms_per_key; ++i) { - ks = XKeycodeToKeysym(X->dpy, keycode, i) ; + ks = XkbKeycodeToKeysym(X->dpy, keycode, 0, i) ; if (IsKeypadKey(ks)) { #ifdef sun diff --git a/cde/programs/dtsession/SmSave.c b/cde/programs/dtsession/SmSave.c index cba64acd1..9e8e56a43 100644 --- a/cde/programs/dtsession/SmSave.c +++ b/cde/programs/dtsession/SmSave.c @@ -67,6 +67,7 @@ #endif /* _SUN_OS */ #include +#include #include #include #include @@ -1327,7 +1328,7 @@ QueryServerSettings( void ) return(-1); } } - tmpMod = XKeycodeToKeysym(smGD.display, modMap->modifiermap[i], 0); + tmpMod = XkbKeycodeToKeysym(smGD.display, modMap->modifiermap[i], 0, 0); sprintf(tmpChar,"%ld", tmpMod); strcat(resSpec, tmpChar); if(i != numLoops) diff --git a/cde/programs/dtwm/WmCPlace.c b/cde/programs/dtwm/WmCPlace.c index dfa42aee5..d592511da 100644 --- a/cde/programs/dtwm/WmCPlace.c +++ b/cde/programs/dtwm/WmCPlace.c @@ -37,6 +37,7 @@ #define XK_MISCELLANY #define XK_LATIN1 #include +#include /* absolute value macro */ #ifndef ABS @@ -302,7 +303,7 @@ void HandlePlacementKeyEvent (ClientData *pcd, XKeyEvent *pev) } /* convert event data to useful key data */ - keysym = XKeycodeToKeysym (DISPLAY, pev->keycode, 0); + keysym = XkbKeycodeToKeysym(DISPLAY, pev->keycode, 0, 0); control = (pev->state & ControlMask) != 0; big_inc = DisplayWidth(DISPLAY, ACTIVE_PSD->screen) / 20; diff --git a/cde/programs/dtwm/WmResParse.c b/cde/programs/dtwm/WmResParse.c index 86f8f9a55..d97adf0e8 100644 --- a/cde/programs/dtwm/WmResParse.c +++ b/cde/programs/dtwm/WmResParse.c @@ -61,6 +61,7 @@ #include #include +#include #include #include @@ -1583,7 +1584,7 @@ void SyncModifierStrings(void) { if (map->modifiermap[k]) { - KeySym ks = XKeycodeToKeysym(DISPLAY, map->modifiermap[k], 0); + KeySym ks = XkbKeycodeToKeysym(DISPLAY, map->modifiermap[k], 0, 0); char *nm = XKeysymToString(ks); /* Compare, ignoring the trailing '_L' or '_R' in keysym */ diff --git a/cde/programs/dtwm/WmWinConf.c b/cde/programs/dtwm/WmWinConf.c index c3dd6aa81..da21bdb21 100644 --- a/cde/programs/dtwm/WmWinConf.c +++ b/cde/programs/dtwm/WmWinConf.c @@ -38,6 +38,7 @@ #define XK_MISCELLANY #include +#include #define MOVE_OUTLINE_WIDTH 2 @@ -279,7 +280,7 @@ void HandleClientFrameMove (ClientData *pcd, XEvent *pev) keyMultiplier++; } - keysym = XKeycodeToKeysym (DISPLAY, pev->xkey.keycode, 0); + keysym = XkbKeycodeToKeysym(DISPLAY, pev->xkey.keycode, 0, 0); control = (pev->xkey.state & ControlMask) != 0; tmpX = tmpY = 0; @@ -692,7 +693,7 @@ Boolean HandleResizeKeyPress (ClientData *pcd, XEvent *pev) keyMult++; } - keysym = XKeycodeToKeysym (DISPLAY, pev->xkey.keycode, 0); + keysym = XkbKeycodeToKeysym(DISPLAY, pev->xkey.keycode, 0, 0); control = (pev->xkey.state & ControlMask) != 0; switch (keysym) { @@ -4328,7 +4329,7 @@ Boolean HandleMarqueeKeyPress (WmScreenData *pSD, XEvent *pev) keyMult++; } - keysym = XKeycodeToKeysym (DISPLAY, pev->xkey.keycode, 0); + keysym = XkbKeycodeToKeysym(DISPLAY, pev->xkey.keycode, 0, 0); control = (pev->xkey.state & ControlMask) != 0; switch (keysym) {