mirror of
https://github.com/X11Libre/xserver.git
synced 2026-04-14 17:18:09 +00:00
Input: Remove core keysyms from KeyClassRec
Instead of always keeping two copies of the keymap, only generate the core keymap from the XKB keymap when we really need to, and use the XKB keymap as the canonical keymap. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
@@ -137,7 +137,6 @@ typedef struct _GrabRec {
|
||||
typedef struct _KeyClassRec {
|
||||
CARD8 down[DOWN_LENGTH];
|
||||
CARD8 postdown[DOWN_LENGTH];
|
||||
KeySymsRec curKeySyms;
|
||||
int modifierKeyCount[8];
|
||||
struct _XkbSrvInfo *xkbInfo;
|
||||
} KeyClassRec, *KeyClassPtr;
|
||||
|
||||
@@ -322,11 +322,6 @@ extern _X_EXPORT int DeviceEnterNotify,DeviceLeaveNotify;
|
||||
#define _XkbIsPressEvent(t) (((t)==KeyPress)||((t)==DeviceKeyPress))
|
||||
#define _XkbIsReleaseEvent(t) (((t)==KeyRelease)||((t)==DeviceKeyRelease))
|
||||
|
||||
#define _XkbCoreKeycodeInRange(c,k) (((k)>=(c)->curKeySyms.minKeyCode)&&\
|
||||
((k)<=(c)->curKeySyms.maxKeyCode))
|
||||
#define _XkbCoreNumKeys(c) ((c)->curKeySyms.maxKeyCode-\
|
||||
(c)->curKeySyms.minKeyCode+1)
|
||||
|
||||
#define XConvertCase(s,l,u) XkbConvertCase(s,l,u)
|
||||
#undef IsKeypadKey
|
||||
#define IsKeypadKey(s) XkbKSIsKeypad(s)
|
||||
@@ -510,6 +505,7 @@ extern _X_EXPORT XkbAction *XkbResizeKeyActions(
|
||||
|
||||
extern _X_EXPORT void XkbUpdateKeyTypesFromCore(
|
||||
DeviceIntPtr /* pXDev */,
|
||||
KeySymsPtr /* syms */,
|
||||
KeyCode /* first */,
|
||||
CARD8 /* num */,
|
||||
XkbChangesPtr /* pChanges */
|
||||
@@ -531,9 +527,8 @@ extern _X_EXPORT void XkbUpdateActions(
|
||||
XkbEventCausePtr /* cause */
|
||||
);
|
||||
|
||||
extern _X_EXPORT void XkbUpdateCoreDescription(
|
||||
DeviceIntPtr /* keybd */,
|
||||
Bool /* resize */
|
||||
extern _X_EXPORT KeySymsPtr XkbGetCoreMap(
|
||||
DeviceIntPtr /* keybd */
|
||||
);
|
||||
|
||||
extern _X_EXPORT void XkbApplyMappingChange(
|
||||
|
||||
Reference in New Issue
Block a user