summaryrefslogtreecommitdiff
path: root/hw/vfb
diff options
context:
space:
mode:
authorDaniel Stone <daniel@fooishbar.org>2008-12-26 18:38:25 +1100
committerDaniel Stone <daniel@fooishbar.org>2009-01-22 15:08:51 +1100
commit08363c5830bdea34012dcd954b45ccfdc79a3a7e (patch)
tree67475a96ca4c23bcacb626b02eb4ab2f8602a742 /hw/vfb
parent40877c6680863bd6a8475f2bb0c54df55bcf0b0e (diff)
Input: Overhaul keyboard initialisation process
XkbInitKeyboardDeviceStruct is now the only valid keyboard initialisation: all the details are hidden behind here. This now makes it impossible to supply a core keymap at startup. If dev->key is valid, dev->key->xkbInfo->desc is also valid. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'hw/vfb')
-rw-r--r--hw/vfb/InitInput.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/hw/vfb/InitInput.c b/hw/vfb/InitInput.c
index d2abfc242..e53ac4b29 100644
--- a/hw/vfb/InitInput.c
+++ b/hw/vfb/InitInput.c
@@ -259,21 +259,19 @@ GetLK201Mappings(KeySymsPtr pKeySyms, CARD8 *pModMap)
static int
vfbKeybdProc(DeviceIntPtr pDevice, int onoff)
{
- KeySymsRec keySyms;
- CARD8 modMap[MAP_LENGTH];
DevicePtr pDev = (DevicePtr)pDevice;
+ XkbRMLVOSet rmlvo;
switch (onoff)
{
- case DEVICE_INIT:
- GetLK201Mappings(&keySyms, modMap);
- InitKeyboardDeviceStruct(pDev, &keySyms, modMap,
- (BellProcPtr)NoopDDA, (KbdCtrlProcPtr)NoopDDA);
- break;
- case DEVICE_ON:
+ case DEVICE_INIT:
+ XkbGetRulesDflts(&rmlvo);
+ InitKeyboardDeviceStruct(pDevice, &rmlvo, NULL, NULL);
+ break;
+ case DEVICE_ON:
pDev->on = TRUE;
break;
- case DEVICE_OFF:
+ case DEVICE_OFF:
pDev->on = FALSE;
break;
case DEVICE_CLOSE: