[PATCH 1/2] input: allow NULL as XkbRMVLOSet in InitKeyboardDeviceStruct.
Peter Hutterer
peter.hutterer at who-t.net
Tue Apr 14 22:40:24 PDT 2009
Virtually all callers use
XkbGetRulesDefault(&rmlvo);
InitKeyboardDeviceStruct(..., rmlvo);
Let's save them the trouble and accept NULL as a hint to take the
default RMLVO.
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
Xi/exevents.c | 13 +++----------
dix/devices.c | 4 +---
hw/vfb/InitInput.c | 4 +---
hw/xnest/Keyboard.c | 9 +--------
hw/xquartz/quartzKeyboard.c | 4 +---
xkb/xkbInit.c | 10 +++++++++-
6 files changed, 16 insertions(+), 28 deletions(-)
diff --git a/Xi/exevents.c b/Xi/exevents.c
index 4788665..cfae57d 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -226,11 +226,7 @@ DeepCopyFeedbackClasses(DeviceIntPtr from, DeviceIntPtr to)
to->kbdfeed = classes->kbdfeed;
if (!to->kbdfeed)
- {
- XkbRMLVOSet rmlvo;
- XkbGetRulesDflts(&rmlvo);
- InitKeyboardDeviceStruct(to, &rmlvo, NULL, NULL);
- }
+ InitKeyboardDeviceStruct(to, NULL, NULL, NULL);
}
k = &to->kbdfeed;
@@ -473,11 +469,8 @@ DeepCopyDeviceClasses(DeviceIntPtr from, DeviceIntPtr to)
UnusedClassesPrivateKey);
to->key = classes->key;
if (!to->key)
- {
- XkbRMLVOSet rmlvo;
- XkbGetRulesDflts(&rmlvo);
- InitKeyboardDeviceStruct(to, &rmlvo, NULL, NULL);
- } else
+ InitKeyboardDeviceStruct(to, NULL, NULL, NULL);
+ else
classes->key = NULL;
}
diff --git a/dix/devices.c b/dix/devices.c
index b9d1c85..d14eddd 100644
--- a/dix/devices.c
+++ b/dix/devices.c
@@ -471,12 +471,10 @@ CoreKeyboardCtl(DeviceIntPtr pDev, KeybdCtrl *ctrl)
static int
CoreKeyboardProc(DeviceIntPtr pDev, int what)
{
- XkbRMLVOSet rmlvo;
switch (what) {
case DEVICE_INIT:
- XkbGetRulesDflts(&rmlvo);
- if (!InitKeyboardDeviceStruct(pDev, &rmlvo, CoreKeyboardBell,
+ if (!InitKeyboardDeviceStruct(pDev, NULL, CoreKeyboardBell,
CoreKeyboardCtl))
{
ErrorF("Keyboard initialization failed. This could be a missing "
diff --git a/hw/vfb/InitInput.c b/hw/vfb/InitInput.c
index aa90252..4c8c996 100644
--- a/hw/vfb/InitInput.c
+++ b/hw/vfb/InitInput.c
@@ -66,13 +66,11 @@ static int
vfbKeybdProc(DeviceIntPtr pDevice, int onoff)
{
DevicePtr pDev = (DevicePtr)pDevice;
- XkbRMLVOSet rmlvo;
switch (onoff)
{
case DEVICE_INIT:
- XkbGetRulesDflts(&rmlvo);
- InitKeyboardDeviceStruct(pDevice, &rmlvo, NULL, NULL);
+ InitKeyboardDeviceStruct(pDevice, NULL, NULL, NULL);
break;
case DEVICE_ON:
pDev->on = TRUE;
diff --git a/hw/xnest/Keyboard.c b/hw/xnest/Keyboard.c
index 8404c8b..f94e260 100644
--- a/hw/xnest/Keyboard.c
+++ b/hw/xnest/Keyboard.c
@@ -121,7 +121,6 @@ xnestKeyboardProc(DeviceIntPtr pDev, int onoff)
int i;
XKeyboardState values;
XkbDescPtr xkb;
- XkbRMLVOSet rmlvo;
int op, event, error, major, minor;
switch (onoff)
@@ -165,13 +164,7 @@ xnestKeyboardProc(DeviceIntPtr pDev, int onoff)
}
XkbGetControls(xnestDisplay, XkbAllControlsMask, xkb);
- rmlvo.rules = XKB_DFLT_RULES;
- rmlvo.model = XKB_DFLT_MODEL;
- rmlvo.layout = XKB_DFLT_LAYOUT;
- rmlvo.variant = XKB_DFLT_VARIANT;
- rmlvo.options = XKB_DFLT_OPTIONS;
-
- InitKeyboardDeviceStruct(pDev, &rmlvo,
+ InitKeyboardDeviceStruct(pDev, NULL,
xnestBell, xnestChangeKeyboardControl);
XkbDDXChangeControls(pDev, xkb->ctrls, xkb->ctrls);
XkbFreeKeyboard(xkb, 0, False);
diff --git a/hw/xquartz/quartzKeyboard.c b/hw/xquartz/quartzKeyboard.c
index 823c2e6..2b8cb13 100644
--- a/hw/xquartz/quartzKeyboard.c
+++ b/hw/xquartz/quartzKeyboard.c
@@ -317,7 +317,6 @@ void DarwinKeyboardInit(DeviceIntPtr pDev) {
XkbComponentNamesRec names;
CFIndex value;
BOOL ok;
- XkbRMLVOSet rmlvo;
// Open a shared connection to the HID System.
// Note that the Event Status Driver is really just a wrapper
@@ -328,8 +327,7 @@ void DarwinKeyboardInit(DeviceIntPtr pDev) {
bzero(&names, sizeof(names));
- XkbGetRulesDflts(&rmlvo);
- InitKeyboardDeviceStruct(pDev, &rmlvo, QuartzBell,
+ InitKeyboardDeviceStruct(pDev, NULL, QuartzBell,
DarwinChangeKeyboardControl);
/* Get our key repeat settings from GlobalPreferences */
diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c
index 1f5f8dc..2e75612 100644
--- a/xkb/xkbInit.c
+++ b/xkb/xkbInit.c
@@ -474,10 +474,18 @@ InitKeyboardDeviceStruct(DeviceIntPtr dev, XkbRMLVOSet *rmlvo,
XkbSrvLedInfoPtr sli;
XkbChangesRec changes;
XkbEventCauseRec cause;
+ XkbRMLVOSet rmlvo_dflts = { NULL };
- if (dev->key || dev->kbdfeed || !rmlvo)
+ if (dev->key || dev->kbdfeed)
return False;
+ if (!rmlvo)
+ {
+ rmlvo = &rmlvo_dflts;
+ XkbGetRulesDflts(rmlvo);
+ }
+
+
memset(&changes, 0, sizeof(changes));
XkbSetCauseUnknown(&cause);
--
1.6.2.2.447.g4afa7
More information about the xorg-devel
mailing list