diff --git a/include/xkbsrv.h b/include/xkbsrv.h index a80e11970..229de2194 100644 --- a/include/xkbsrv.h +++ b/include/xkbsrv.h @@ -824,6 +824,9 @@ extern _X_EXPORT void XkbSendNewKeyboardNotify(DeviceIntPtr /* kbd */ , extern Bool XkbCopyKeymap(XkbDescPtr /* dst */ , XkbDescPtr /* src */ ); +extern _X_EXPORT Bool XkbCopyDeviceKeymap(DeviceIntPtr /* dst */, + DeviceIntPtr /* src */); + extern _X_EXPORT Bool XkbDeviceApplyKeymap(DeviceIntPtr /* dst */ , XkbDescPtr /* src */ ); diff --git a/xkb/xkbUtils.c b/xkb/xkbUtils.c index 6cf6e79df..c14a790df 100644 --- a/xkb/xkbUtils.c +++ b/xkb/xkbUtils.c @@ -2027,6 +2027,12 @@ XkbDeviceApplyKeymap(DeviceIntPtr dst, XkbDescPtr desc) return ret; } +Bool +XkbCopyDeviceKeymap(DeviceIntPtr dst, DeviceIntPtr src) +{ + return XkbDeviceApplyKeymap(dst, src->key->xkbInfo->desc); +} + int XkbGetEffectiveGroup(XkbSrvInfoPtr xkbi, XkbStatePtr xkbState, CARD8 keycode) {