xserver: Branch 'master' - 4 commits
Paulo Cesar Pereira de Andrade
pcpa at kemper.freedesktop.org
Sun Jan 25 13:30:16 PST 2009
.gitignore | 1
hw/vfb/InitInput.c | 195 -------------------------------------------------
hw/xfree86/Makefile.am | 2
hw/xnest/Keyboard.c | 38 ++++++---
4 files changed, 29 insertions(+), 207 deletions(-)
New commits:
commit c7d62d74bbd6e0067f511fd910b9e633576befb7
Author: Paulo Cesar Pereira de Andrade <pcpa at mandriva.com.br>
Date: Sun Jan 25 19:19:01 2009 -0200
Explicitly add libxorg_la_LIBADD to libxorg_la_DEPENDENCIES
Otherwise, for example, when hacking config/*.c, it is required to
run make clean on that directory, to ensure the proper libconfig.a
will be linked in the generated Xorg binary.
diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
index 56f83d9..b6a534b 100644
--- a/hw/xfree86/Makefile.am
+++ b/hw/xfree86/Makefile.am
@@ -48,6 +48,8 @@ libxorg_la_LIBADD = \
$(top_builddir)/os/libos.la \
@XORG_LIBS@
+libxorg_la_DEPENDENCIES = $(libxorg_la_LIBADD)
+
libxorg.c xorg.c:
touch $@
commit 0eec7348875035792097f606487a558422774e2c
Author: Magnus Kessler <Magnus.Kessler at gmx.net>
Date: Fri Jan 23 12:11:00 2009 -0200
.gitignore: ignore sdksyms.dep
Signed-off-by: Magnus Kessler <Magnus.Kessler at gmx.net>
diff --git a/.gitignore b/.gitignore
index bd38ddb..4d277d9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -150,3 +150,4 @@ include/xkb-config.h
include/xorg-config.h
include/xorg-server.h
include/xwin-config.h
+sdksyms.dep
commit 88efe9c76f85423d952ff38e0cfd8b690439902a
Author: Magnus Kessler <Magnus.Kessler at gmx.net>
Date: Fri Jan 23 11:25:00 2009 -0200
Xvfb: Remove unused function GetLK201Mappings in InitInput.c
Silence a gcc warning. After commit 08363c5830bdea34012dcd954b45ccfdc79a3a7e
GetLK201Mappings is no longer needed.
Signed-off-by: Magnus Kessler <Magnus.Kessler at gmx.net>
diff --git a/hw/vfb/InitInput.c b/hw/vfb/InitInput.c
index e53ac4b..578cc49 100644
--- a/hw/vfb/InitInput.c
+++ b/hw/vfb/InitInput.c
@@ -61,201 +61,6 @@ void DDXRingBell(int volume, int pitch, int duration)
#define VFB_MAX_KEY 255
KeySym map[MAP_LENGTH * LK201_GLYPHS_PER_KEY];
-/* The only reason for using the LK201 mappings here was that they were
- * easy to lift.
- */
-static Bool
-GetLK201Mappings(KeySymsPtr pKeySyms, CARD8 *pModMap)
-{
-#define INDEX(in) ((in - VFB_MIN_KEY) * LK201_GLYPHS_PER_KEY)
- int i;
-
- for (i = 0; i < MAP_LENGTH; i++)
- pModMap[i] = NoSymbol; /* make sure it is restored */
- pModMap[ KEY_LOCK ] = LockMask;
- pModMap[ KEY_SHIFT ] = ShiftMask;
- pModMap[ KEY_CTRL ] = ControlMask;
- pModMap[ KEY_COMPOSE ] = Mod1Mask;
-
- pKeySyms->minKeyCode = VFB_MIN_KEY;
- pKeySyms->maxKeyCode = VFB_MAX_KEY;
- pKeySyms->mapWidth = LK201_GLYPHS_PER_KEY;
- pKeySyms->map = map;
-
- for (i = 0; i < (MAP_LENGTH * LK201_GLYPHS_PER_KEY); i++)
- map[i] = NoSymbol; /* make sure it is restored */
-
- map[INDEX(KEY_F1)] = XK_F1;
- map[INDEX(KEY_F2)] = XK_F2;
- map[INDEX(KEY_F3)] = XK_F3;
- map[INDEX(KEY_F4)] = XK_F4;
- map[INDEX(KEY_F5)] = XK_F5;
- map[INDEX(KEY_F6)] = XK_F6;
- map[INDEX(KEY_F7)] = XK_F7;
- map[INDEX(KEY_F8)] = XK_F8;
- map[INDEX(KEY_F9)] = XK_F9;
- map[INDEX(KEY_F10)] = XK_F10;
- map[INDEX(KEY_F11)] = XK_F11;
- map[INDEX(KEY_F12)] = XK_F12;
- map[INDEX(KEY_F13)] = XK_F13;
- map[INDEX(KEY_F14)] = XK_F14;
-
- map[INDEX(KEY_HELP)] = XK_Help;
- map[INDEX(KEY_MENU)] = XK_Menu;
-
- map[INDEX(KEY_F17)] = XK_F17;
- map[INDEX(KEY_F18)] = XK_F18;
- map[INDEX(KEY_F19)] = XK_F19;
- map[INDEX(KEY_F20)] = XK_F20;
-
- map[INDEX(KEY_FIND)] = XK_Find;
- map[INDEX(KEY_INSERT_HERE)] = XK_Insert;
- map[INDEX(KEY_REMOVE)] = XK_Delete;
- map[INDEX(KEY_SELECT)] = XK_Select;
- map[INDEX(KEY_PREV_SCREEN)] = XK_Prior;
- map[INDEX(KEY_NEXT_SCREEN)] = XK_Next;
-
- map[INDEX(KEY_KP_0)] = XK_KP_0;
- map[INDEX(KEY_KP_PERIOD)] = XK_KP_Decimal;
- map[INDEX(KEY_KP_ENTER)] = XK_KP_Enter;
- map[INDEX(KEY_KP_1)] = XK_KP_1;
- map[INDEX(KEY_KP_2)] = XK_KP_2;
- map[INDEX(KEY_KP_3)] = XK_KP_3;
- map[INDEX(KEY_KP_4)] = XK_KP_4;
- map[INDEX(KEY_KP_5)] = XK_KP_5;
- map[INDEX(KEY_KP_6)] = XK_KP_6;
- map[INDEX(KEY_KP_COMMA)] = XK_KP_Separator;
- map[INDEX(KEY_KP_7)] = XK_KP_7;
- map[INDEX(KEY_KP_8)] = XK_KP_8;
- map[INDEX(KEY_KP_9)] = XK_KP_9;
- map[INDEX(KEY_KP_HYPHEN)] = XK_KP_Subtract;
- map[INDEX(KEY_KP_PF1)] = XK_KP_F1;
- map[INDEX(KEY_KP_PF2)] = XK_KP_F2;
- map[INDEX(KEY_KP_PF3)] = XK_KP_F3;
- map[INDEX(KEY_KP_PF4)] = XK_KP_F4;
-
- map[INDEX(KEY_LEFT)] = XK_Left;
- map[INDEX(KEY_RIGHT)] = XK_Right;
- map[INDEX(KEY_DOWN)] = XK_Down;
- map[INDEX(KEY_UP)] = XK_Up;
-
- map[INDEX(KEY_SHIFT)] = XK_Shift_L;
- map[INDEX(KEY_CTRL)] = XK_Control_L;
- map[INDEX(KEY_LOCK)] = XK_Caps_Lock;
- map[INDEX(KEY_COMPOSE)] = XK_Multi_key;
- map[INDEX(KEY_COMPOSE)+1] = XK_Meta_L;
- map[INDEX(KEY_DELETE)] = XK_Delete;
- map[INDEX(KEY_RETURN)] = XK_Return;
- map[INDEX(KEY_TAB)] = XK_Tab;
-
- map[INDEX(KEY_TILDE)] = XK_quoteleft;
- map[INDEX(KEY_TILDE)+1] = XK_asciitilde;
-
- map[INDEX(KEY_TR_1)] = XK_1;
- map[INDEX(KEY_TR_1)+1] = XK_exclam;
- map[INDEX(KEY_Q)] = XK_Q;
- map[INDEX(KEY_A)] = XK_A;
- map[INDEX(KEY_Z)] = XK_Z;
-
- map[INDEX(KEY_TR_2)] = XK_2;
- map[INDEX(KEY_TR_2)+1] = XK_at;
-
- map[INDEX(KEY_W)] = XK_W;
- map[INDEX(KEY_S)] = XK_S;
- map[INDEX(KEY_X)] = XK_X;
-
- map[INDEX(KEY_LANGLE_RANGLE)] = XK_less;
- map[INDEX(KEY_LANGLE_RANGLE)+1] = XK_greater;
-
- map[INDEX(KEY_TR_3)] = XK_3;
- map[INDEX(KEY_TR_3)+1] = XK_numbersign;
-
- map[INDEX(KEY_E)] = XK_E;
- map[INDEX(KEY_D)] = XK_D;
- map[INDEX(KEY_C)] = XK_C;
-
- map[INDEX(KEY_TR_4)] = XK_4;
- map[INDEX(KEY_TR_4)+1] = XK_dollar;
-
- map[INDEX(KEY_R)] = XK_R;
- map[INDEX(KEY_F)] = XK_F;
- map[INDEX(KEY_V)] = XK_V;
- map[INDEX(KEY_SPACE)] = XK_space;
-
- map[INDEX(KEY_TR_5)] = XK_5;
- map[INDEX(KEY_TR_5)+1] = XK_percent;
-
- map[INDEX(KEY_T)] = XK_T;
- map[INDEX(KEY_G)] = XK_G;
- map[INDEX(KEY_B)] = XK_B;
-
- map[INDEX(KEY_TR_6)] = XK_6;
- map[INDEX(KEY_TR_6)+1] = XK_asciicircum;
-
- map[INDEX(KEY_Y)] = XK_Y;
- map[INDEX(KEY_H)] = XK_H;
- map[INDEX(KEY_N)] = XK_N;
-
- map[INDEX(KEY_TR_7)] = XK_7;
- map[INDEX(KEY_TR_7)+1] = XK_ampersand;
-
- map[INDEX(KEY_U)] = XK_U;
- map[INDEX(KEY_J)] = XK_J;
- map[INDEX(KEY_M)] = XK_M;
-
- map[INDEX(KEY_TR_8)] = XK_8;
- map[INDEX(KEY_TR_8)+1] = XK_asterisk;
-
- map[INDEX(KEY_I)] = XK_I;
- map[INDEX(KEY_K)] = XK_K;
-
- map[INDEX(KEY_COMMA)] = XK_comma;
- map[INDEX(KEY_COMMA)+1] = XK_less;
-
- map[INDEX(KEY_TR_9)] = XK_9;
- map[INDEX(KEY_TR_9)+1] = XK_parenleft;
-
- map[INDEX(KEY_O)] = XK_O;
- map[INDEX(KEY_L)] = XK_L;
-
- map[INDEX(KEY_PERIOD)] = XK_period;
- map[INDEX(KEY_PERIOD)+1] = XK_greater;
-
- map[INDEX(KEY_TR_0)] = XK_0;
- map[INDEX(KEY_TR_0)+1] = XK_parenright;
-
- map[INDEX(KEY_P)] = XK_P;
-
- map[INDEX(KEY_SEMICOLON)] = XK_semicolon;
- map[INDEX(KEY_SEMICOLON)+1] = XK_colon;
-
- map[INDEX(KEY_QMARK)] = XK_slash;
- map[INDEX(KEY_QMARK)+1] = XK_question;
-
- map[INDEX(KEY_PLUS)] = XK_equal;
- map[INDEX(KEY_PLUS)+1] = XK_plus;
-
- map[INDEX(KEY_RBRACE)] = XK_bracketright;
- map[INDEX(KEY_RBRACE)+1] = XK_braceright;
-
- map[INDEX(KEY_VBAR)] = XK_backslash;
- map[INDEX(KEY_VBAR)+1] = XK_bar;
-
- map[INDEX(KEY_UBAR)] = XK_minus;
- map[INDEX(KEY_UBAR)+1] = XK_underscore;
-
- map[INDEX(KEY_LBRACE)] = XK_bracketleft;
- map[INDEX(KEY_LBRACE)+1] = XK_braceleft;
-
- map[INDEX(KEY_QUOTE)] = XK_quoteright;
- map[INDEX(KEY_QUOTE)+1] = XK_quotedbl;
-
- map[INDEX(KEY_F11)] = XK_Escape;
-
- return TRUE;
-#undef INDEX
-}
-
static int
vfbKeybdProc(DeviceIntPtr pDevice, int onoff)
{
commit 6ef46c40e62def4841a4cff4e0b443516a2ed782
Author: Paulo Cesar Pereira de Andrade <pcpa at mandriva.com.br>
Date: Sun Jan 25 19:01:10 2009 -0200
Update xnest keyboard code to match xephyr/kdrive.
Xnest was not updated in the last batch of xkb changes. This
patch is basically cut&paste from hw/kdrive/src/kinput.c and
hw/kdrive/ephyr/ephyr.c, and appears to generate a Xnest as
functional as before the xkb changes.
diff --git a/hw/xnest/Keyboard.c b/hw/xnest/Keyboard.c
index 022816d..c9b4a17 100644
--- a/hw/xnest/Keyboard.c
+++ b/hw/xnest/Keyboard.c
@@ -114,16 +114,15 @@ xnestChangeKeyboardControl(DeviceIntPtr pDev, KeybdCtrl *ctrl)
int
xnestKeyboardProc(DeviceIntPtr pDev, int onoff)
{
- XModifierKeymap *modifier_keymap;
KeySym *keymap;
int mapWidth;
int min_keycode, max_keycode;
KeySymsRec keySyms;
- int i, j;
+ int i;
XKeyboardState values;
XkbComponentNamesRec names;
XkbDescPtr xkb;
- char *rules, *model, *layout, *variants, *options;
+ XkbRMLVOSet rmlvo;
int op, event, error, major, minor;
switch (onoff)
@@ -168,15 +167,14 @@ xnestKeyboardProc(DeviceIntPtr pDev, int onoff)
XkbGetControls(xnestDisplay, XkbAllControlsMask, xkb);
memset(&names, 0, sizeof(XkbComponentNamesRec));
- rules = XKB_DFLT_RULES;
- model = XKB_DFLT_MODEL;
- layout = XKB_DFLT_LAYOUT;
- variants = XKB_DFLT_VARIANT;
- options = XKB_DFLT_OPTIONS;
-
- XkbSetRulesDflts(rules, model, layout, variants, options);
- XkbInitKeyboardDeviceStruct(pDev, &names, &keySyms,
- xnestBell, xnestChangeKeyboardControl);
+ 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,
+ xnestBell, xnestChangeKeyboardControl);
XkbDDXChangeControls(pDev, xkb->ctrls, xkb->ctrls);
XkbFreeKeyboard(xkb, 0, False);
xfree(keymap);
@@ -217,11 +215,26 @@ LegalModifier(unsigned int key, DeviceIntPtr pDev)
void
xnestUpdateModifierState(unsigned int state)
{
+#if 0
DeviceIntPtr pDev = xnestKeyboardDevice;
KeyClassPtr keyc = pDev->key;
int i;
CARD8 mask;
+ if (!pDev)
+ return;
+
+/* This is pretty broken.
+ *
+ * What should happen is that focus out should do as a VT switch does in
+ * traditional servers: fake releases for all keys (and buttons too, come
+ * to think of it) currently down. Then, on focus in, get the state from
+ * the host, and fake keypresses for everything currently down.
+ *
+ * So I'm leaving this broken for a little while. Sorry, folks.
+ *
+ * -daniels
+ */
state = state & 0xff;
if (keyc->state == state)
@@ -260,4 +273,5 @@ xnestUpdateModifierState(unsigned int state)
break;
}
}
+#endif
}
More information about the xorg-commit
mailing list