aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.3.0.0/kdrive-evdev.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.3.0.0/kdrive-evdev.patch')
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.3.0.0/kdrive-evdev.patch515
1 files changed, 0 insertions, 515 deletions
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.3.0.0/kdrive-evdev.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.3.0.0/kdrive-evdev.patch
deleted file mode 100644
index 2dc22bf50e..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.3.0.0/kdrive-evdev.patch
+++ /dev/null
@@ -1,515 +0,0 @@
-# Kdrive evdev support patch, posted by Ander Conselvan de Oliveira at
-# http://lists.freedesktop.org/archives/xorg/2005-December/011635.html
-diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/linux/evdev.c xserver/hw/kdrive/linux/evdev.c
---- xserver.original/hw/kdrive/linux/evdev.c 2005-12-16 10:36:05.000000000 -0200
-+++ xserver/hw/kdrive/linux/evdev.c 2005-12-16 10:40:51.077410192 -0200
-@@ -31,9 +31,11 @@
- #include <X11/X.h>
- #include <X11/Xproto.h>
- #include <X11/Xpoll.h>
-+#include <X11/keysym.h>
- #include "inputstr.h"
- #include "scrnintstr.h"
- #include "kdrive.h"
-+#include "kkeymap.h"
-
- #define NUM_EVENTS 128
- #define ABS_UNSET -65535
-@@ -105,9 +107,10 @@
- {
- KdMouseInfo *mi = closure;
- Kevdev *ke = mi->driver;
-- int i;
-+ int i, j;
- struct input_event events[NUM_EVENTS];
- int n;
-+ int flags;
-
- n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event));
- if (n <= 0)
-@@ -115,22 +118,64 @@
- n /= sizeof (struct input_event);
- for (i = 0; i < n; i++)
- {
-+ flags = KD_MOUSE_DELTA | kdMouseInfo->buttonState;
- switch (events[i].type) {
- case EV_SYN:
- break;
- case EV_KEY:
-- EvdevMotion (mi);
-- ASSIGNBIT(ke->key,events[i].code, events[i].value);
-- if (events[i].code < 0x100)
-- ErrorF ("key %d %d\n", events[i].code, events[i].value);
-- else
-- ErrorF ("key 0x%x %d\n", events[i].code, events[i].value);
-+ if (events[i].code >= BTN_MOUSE && events[i].code < BTN_JOYSTICK) {
-+ switch (events[i].code) {
-+ case BTN_LEFT:
-+ if (events[i].value == 1)
-+ flags |= KD_BUTTON_1;
-+ else
-+ flags &= ~KD_BUTTON_1;
-+ break;
-+ case BTN_MIDDLE:
-+ if (events[i].value == 1)
-+ flags |= KD_BUTTON_2;
-+ else
-+ flags &= ~KD_BUTTON_2;
-+ break;
-+ case BTN_RIGHT:
-+ if (events[i].value == 1)
-+ flags |= KD_BUTTON_3;
-+ else
-+ flags &= ~KD_BUTTON_3;
-+ break;
-+ default:
-+ /* Unknow button */
-+ break;
-+ }
-+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
-+ }
- break;
- case EV_REL:
-- ke->rel[events[i].code] += events[i].value;
-+ if (events[i].code == REL_X) {
-+ KdEnqueueMouseEvent (kdMouseInfo, flags, events[i].value, 0);
-+ }
-+ else if (events[i].code == REL_Y) {
-+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, events[i].value);
-+ }
-+ else if (events[i].code == REL_WHEEL) {
-+ for (j = 0; j < abs (events[i].value); j++) {
-+ if (events[i].value > 0)
-+ flags |= KD_BUTTON_4;
-+ else
-+ flags |= KD_BUTTON_5;
-+
-+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
-+
-+ if (events[i].value > 0)
-+ flags &= ~KD_BUTTON_4;
-+ else
-+ flags &= ~KD_BUTTON_5;
-+
-+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
-+ } /* events[i].code == REL_WHEEL */
-+ }
- break;
- case EV_ABS:
-- ke->abs[events[i].code] = events[i].value;
- break;
- }
- }
-@@ -173,6 +218,12 @@
- fd = open (kdefaultEvdev[i], 2);
- if (fd >= 0)
- {
-+ if (ioctl (fd, EVIOCGRAB, 1) < 0)
-+ {
-+ close (fd);
-+ continue;
-+ }
-+
- mi->name = KdSaveString (kdefaultEvdev[i]);
- break;
- }
-@@ -287,7 +338,319 @@
- EvdevFini,
- };
-
--#if 0
-+/* Keyboard */
-+
-+int kbd_fd = -1;
-+int EvdevInputType = 0;
-+
-+KeySym evdevKeymap[(194 - 1 + 1) * 2] = {
-+/* These are directly mapped from DOS scanset 0 */
-+/* 1 8 */ XK_Escape, NoSymbol,
-+/* 2 9 */ XK_1, XK_exclam,
-+/* 3 10 */ XK_2, XK_at,
-+/* 4 11 */ XK_3, XK_numbersign,
-+/* 5 12 */ XK_4, XK_dollar,
-+/* 6 13 */ XK_5, XK_percent,
-+/* 7 14 */ XK_6, XK_asciicircum,
-+/* 8 15 */ XK_7, XK_ampersand,
-+/* 9 16 */ XK_8, XK_asterisk,
-+/* 10 17 */ XK_9, XK_parenleft,
-+/* 11 18 */ XK_0, XK_parenright,
-+/* 12 19 */ XK_minus, XK_underscore,
-+/* 13 20 */ XK_equal, XK_plus,
-+/* 14 21 */ XK_BackSpace, NoSymbol,
-+/* 15 22 */ XK_Tab, NoSymbol,
-+/* 16 23 */ XK_Q, NoSymbol,
-+/* 17 24 */ XK_W, NoSymbol,
-+/* 18 25 */ XK_E, NoSymbol,
-+/* 19 26 */ XK_R, NoSymbol,
-+/* 20 27 */ XK_T, NoSymbol,
-+/* 21 28 */ XK_Y, NoSymbol,
-+/* 22 29 */ XK_U, NoSymbol,
-+/* 23 30 */ XK_I, NoSymbol,
-+/* 24 31 */ XK_O, NoSymbol,
-+/* 25 32 */ XK_P, NoSymbol,
-+/* 26 33 */ XK_bracketleft, XK_braceleft,
-+/* 27 34 */ XK_bracketright, XK_braceright,
-+/* 28 35 */ XK_Return, NoSymbol,
-+/* 29 36 */ XK_Control_L, NoSymbol,
-+/* 30 37 */ XK_A, NoSymbol,
-+/* 31 38 */ XK_S, NoSymbol,
-+/* 32 39 */ XK_D, NoSymbol,
-+/* 33 40 */ XK_F, NoSymbol,
-+/* 34 41 */ XK_G, NoSymbol,
-+/* 35 42 */ XK_H, NoSymbol,
-+/* 36 43 */ XK_J, NoSymbol,
-+/* 37 44 */ XK_K, NoSymbol,
-+/* 38 45 */ XK_L, NoSymbol,
-+/* 39 46 */ XK_semicolon, XK_colon,
-+/* 40 47 */ XK_apostrophe, XK_quotedbl,
-+/* 41 48 */ XK_grave, XK_asciitilde,
-+/* 42 49 */ XK_Shift_L, NoSymbol,
-+/* 43 50 */ XK_backslash, XK_bar,
-+/* 44 51 */ XK_Z, NoSymbol,
-+/* 45 52 */ XK_X, NoSymbol,
-+/* 46 53 */ XK_C, NoSymbol,
-+/* 47 54 */ XK_V, NoSymbol,
-+/* 48 55 */ XK_B, NoSymbol,
-+/* 49 56 */ XK_N, NoSymbol,
-+/* 50 57 */ XK_M, NoSymbol,
-+/* 51 58 */ XK_comma, XK_less,
-+/* 52 59 */ XK_period, XK_greater,
-+/* 53 60 */ XK_slash, XK_question,
-+/* 54 61 */ XK_Shift_R, NoSymbol,
-+/* 55 62 */ XK_KP_Multiply, NoSymbol,
-+/* 56 63 */ XK_Alt_L, XK_Meta_L,
-+/* 57 64 */ XK_space, NoSymbol,
-+/* 58 65 */ XK_Caps_Lock, NoSymbol,
-+/* 59 66 */ XK_F1, NoSymbol,
-+/* 60 67 */ XK_F2, NoSymbol,
-+/* 61 68 */ XK_F3, NoSymbol,
-+/* 62 69 */ XK_F4, NoSymbol,
-+/* 63 70 */ XK_F5, NoSymbol,
-+/* 64 71 */ XK_F6, NoSymbol,
-+/* 65 72 */ XK_F7, NoSymbol,
-+/* 66 73 */ XK_F8, NoSymbol,
-+/* 67 74 */ XK_F9, NoSymbol,
-+/* 68 75 */ XK_F10, NoSymbol,
-+/* 69 76 */ XK_Break, XK_Pause,
-+/* 70 77 */ XK_Scroll_Lock, NoSymbol,
-+/* 71 78 */ XK_KP_Home, XK_KP_7,
-+/* 72 79 */ XK_KP_Up, XK_KP_8,
-+/* 73 80 */ XK_KP_Page_Up, XK_KP_9,
-+/* 74 81 */ XK_KP_Subtract, NoSymbol,
-+/* 75 82 */ XK_KP_Left, XK_KP_4,
-+/* 76 83 */ XK_KP_5, NoSymbol,
-+/* 77 84 */ XK_KP_Right, XK_KP_6,
-+/* 78 85 */ XK_KP_Add, NoSymbol,
-+/* 79 86 */ XK_KP_End, XK_KP_1,
-+/* 80 87 */ XK_KP_Down, XK_KP_2,
-+/* 81 88 */ XK_KP_Page_Down, XK_KP_3,
-+/* 82 89 */ XK_KP_Insert, XK_KP_0,
-+/* 83 90 */ XK_KP_Delete, XK_KP_Decimal,
-+/* 84 91 */ NoSymbol, NoSymbol,
-+/* 85 92 */ NoSymbol, NoSymbol,
-+/* 86 93 */ NoSymbol, NoSymbol,
-+/* 87 94 */ XK_F11, NoSymbol,
-+/* 88 95 */ XK_F12, NoSymbol,
-+
-+/* These are remapped from the extended set (using ExtendMap) */
-+
-+/* 89 96 */ XK_Control_R, NoSymbol,
-+/* 90 97 */ XK_KP_Enter, NoSymbol,
-+/* 91 98 */ XK_KP_Divide, NoSymbol,
-+/* 92 99 */ XK_Sys_Req, XK_Print,
-+/* 93 100 */ XK_Alt_R, XK_Meta_R,
-+/* 94 101 */ XK_Num_Lock, NoSymbol,
-+/* 95 102 */ XK_Home, NoSymbol,
-+/* 96 103 */ XK_Up, NoSymbol,
-+/* 97 104 */ XK_Page_Up, NoSymbol,
-+/* 98 105 */ XK_Left, NoSymbol,
-+/* 99 106 */ XK_Right, NoSymbol,
-+/* 100 107 */ XK_End, NoSymbol,
-+/* 101 108 */ XK_Down, NoSymbol,
-+/* 102 109 */ XK_Page_Down, NoSymbol,
-+/* 103 110 */ XK_Insert, NoSymbol,
-+/* 104 111 */ XK_Delete, NoSymbol,
-+/* 105 112 */ XK_Super_L, NoSymbol,
-+/* 106 113 */ XK_Super_R, NoSymbol,
-+/* 107 114 */ XK_Menu, NoSymbol,
-+/* 108 115 */ NoSymbol, NoSymbol,
-+/* 109 116 */ NoSymbol, NoSymbol,
-+/* 110 117 */ NoSymbol, NoSymbol,
-+/* 111 118 */ NoSymbol, NoSymbol,
-+/* 112 119 */ NoSymbol, NoSymbol,
-+
-+/* 113 120 */ NoSymbol, NoSymbol,
-+/* 114 121 */ NoSymbol, NoSymbol,
-+/* 115 122 */ NoSymbol, NoSymbol,
-+/* 116 123 */ NoSymbol, NoSymbol,
-+/* 117 124 */ NoSymbol, NoSymbol,
-+/* 118 125 */ NoSymbol, NoSymbol,
-+/* 119 126 */ NoSymbol, NoSymbol,
-+/* 120 127 */ NoSymbol, NoSymbol,
-+/* 121 128 */ NoSymbol, NoSymbol,
-+/* 122 129 */ NoSymbol, NoSymbol,
-+/* 123 130 */ NoSymbol, NoSymbol,
-+/* 124 131 */ NoSymbol, NoSymbol,
-+/* 125 132 */ NoSymbol, NoSymbol,
-+/* 126 133 */ NoSymbol, NoSymbol,
-+/* 127 134 */ NoSymbol, NoSymbol,
-+/* 128 135 */ NoSymbol, NoSymbol,
-+/* 129 136 */ NoSymbol, NoSymbol,
-+/* 130 137 */ NoSymbol, NoSymbol,
-+/* 131 138 */ NoSymbol, NoSymbol,
-+/* 132 139 */ NoSymbol, NoSymbol,
-+/* 133 140 */ NoSymbol, NoSymbol,
-+/* 134 141 */ NoSymbol, NoSymbol,
-+/* 135 142 */ NoSymbol, NoSymbol,
-+/* 136 143 */ NoSymbol, NoSymbol,
-+/* 137 144 */ NoSymbol, NoSymbol,
-+/* 138 145 */ NoSymbol, NoSymbol,
-+/* 139 146 */ NoSymbol, NoSymbol,
-+/* 140 147 */ NoSymbol, NoSymbol,
-+/* 141 148 */ NoSymbol, NoSymbol,
-+/* 142 149 */ NoSymbol, NoSymbol,
-+/* 143 150 */ NoSymbol, NoSymbol,
-+/* 144 151 */ NoSymbol, NoSymbol,
-+/* 145 152 */ NoSymbol, NoSymbol,
-+/* 146 153 */ NoSymbol, NoSymbol,
-+/* 147 154 */ NoSymbol, NoSymbol,
-+/* 148 155 */ NoSymbol, NoSymbol,
-+/* 149 156 */ NoSymbol, NoSymbol,
-+/* 150 157 */ NoSymbol, NoSymbol,
-+/* 151 158 */ NoSymbol, NoSymbol,
-+/* 152 159 */ NoSymbol, NoSymbol,
-+/* 153 160 */ NoSymbol, NoSymbol,
-+/* 154 161 */ NoSymbol, NoSymbol,
-+/* 155 162 */ NoSymbol, NoSymbol,
-+/* 156 163 */ NoSymbol, NoSymbol,
-+/* 157 164 */ NoSymbol, NoSymbol,
-+/* 158 165 */ NoSymbol, NoSymbol,
-+/* 159 166 */ NoSymbol, NoSymbol,
-+/* 160 167 */ NoSymbol, NoSymbol,
-+/* 161 168 */ NoSymbol, NoSymbol,
-+/* 162 169 */ NoSymbol, NoSymbol,
-+/* 163 170 */ NoSymbol, NoSymbol,
-+/* 164 171 */ NoSymbol, NoSymbol,
-+/* 165 172 */ NoSymbol, NoSymbol,
-+/* 166 173 */ NoSymbol, NoSymbol,
-+/* 167 174 */ NoSymbol, NoSymbol,
-+/* 168 175 */ NoSymbol, NoSymbol,
-+/* 169 176 */ NoSymbol, NoSymbol,
-+/* 170 177 */ NoSymbol, NoSymbol,
-+/* 171 178 */ NoSymbol, NoSymbol,
-+/* 172 179 */ NoSymbol, NoSymbol,
-+/* 173 180 */ NoSymbol, NoSymbol,
-+/* 174 181 */ NoSymbol, NoSymbol,
-+/* 175 182 */ NoSymbol, NoSymbol,
-+/* 176 183 */ NoSymbol, NoSymbol,
-+/* 177 184 */ NoSymbol, NoSymbol,
-+/* 178 185 */ NoSymbol, NoSymbol,
-+/* 179 186 */ NoSymbol, NoSymbol,
-+/* 180 187 */ NoSymbol, NoSymbol,
-+/* 181 188 */ NoSymbol, NoSymbol,
-+/* 182 189 */ NoSymbol, NoSymbol,
-+/* 183 190 */ NoSymbol, NoSymbol,
-+/* 184 191 */ NoSymbol, NoSymbol,
-+/* 185 192 */ NoSymbol, NoSymbol,
-+/* 186 193 */ NoSymbol, NoSymbol,
-+/* 187 194 */ NoSymbol, NoSymbol,
-+/* 188 195 */ NoSymbol, NoSymbol,
-+/* 189 196 */ NoSymbol, NoSymbol,
-+/* 190 197 */ NoSymbol, NoSymbol,
-+/* 191 198 */ NoSymbol, NoSymbol,
-+/* 192 199 */ NoSymbol, NoSymbol,
-+/* 193 200 */ NoSymbol, NoSymbol,
-+/* 194 201 */ NoSymbol, NoSymbol,
-+};
-+
-+static void
-+EvdevKbdRead (int fd, void *closure)
-+{
-+ int i, n;
-+ struct input_event events[NUM_EVENTS];
-+
-+ n = read (fd, &events, NUM_EVENTS * sizeof (struct input_event));
-+ if (n <= 0)
-+ return;
-+
-+ n /= sizeof (struct input_event);
-+
-+ for (i = 0; i < n; i++)
-+ {
-+ if (events[i].type == EV_KEY)
-+ KdEnqueueKeyboardEvent (events[i].code, !events[i].value);
-+ }
-+}
-+
-+static void
-+EvdevKbdLoad (void)
-+{
-+ kdMinScanCode = 0;
-+ kdMaxScanCode = 193;
-+ kdKeymapWidth = 2;
-+ memcpy (kdKeymap, evdevKeymap, sizeof (evdevKeymap));
-+}
-+
-+static int
-+EvdevKbdInit (void)
-+{
-+ int fd, i;
-+
-+ if (!EvdevInputType)
-+ EvdevInputType = KdAllocInputType ();
-+
-+ if (!kdKeyboard)
-+ {
-+ for (i = 0; i < NUM_DEFAULT_EVDEV; i++)
-+ {
-+ fd = open (kdefaultEvdev[i], 2);
-+ if (fd >= 0)
-+ {
-+ kdKeyboard = KdSaveString (kdefaultEvdev[i]);
-+ break;
-+ }
-+ }
-+ }
-+ else
-+ {
-+ fd = open (kdKeyboard, O_RDWR);
-+ if (fd < 0)
-+ return FALSE;
-+ }
-+
-+ if (ioctl (fd, EVIOCGRAB, 1) < 0)
-+ {
-+ close (fd);
-+ return FALSE;
-+ }
-+
-+ if (!KdRegisterFd (EvdevInputType, fd, EvdevKbdRead, NULL))
-+ return FALSE;
-+
-+ kbd_fd = fd;
-+ return TRUE;
-+}
-+
-+static void
-+EvdevKbdFini (void)
-+{
-+}
-+
-+static void
-+EvdevKbdLeds (int leds)
-+{
-+ struct input_event event;
-+
-+ memset(&event, 0, sizeof(event));
-+
-+ event.type = EV_LED;
-+ event.code = LED_CAPSL;
-+ event.value = leds & (1 << 0) ? 1 : 0;
-+ write(kbd_fd, (char *) &event, sizeof(event));
-+
-+ event.type = EV_LED;
-+ event.code = LED_NUML;
-+ event.value = leds & (1 << 1) ? 1 : 0;
-+ write(kbd_fd, (char *) &event, sizeof(event));
-+
-+ event.type = EV_LED;
-+ event.code = LED_SCROLLL;
-+ event.value = leds & (1 << 2) ? 1 : 0;
-+ write(kbd_fd, (char *) &event, sizeof(event));
-+
-+ event.type = EV_LED;
-+ event.code = LED_COMPOSE;
-+ event.value = leds & (1 << 3) ? 1 : 0;
-+ write(kbd_fd, (char *) &event, sizeof(event));
-+}
-+
-+static void
-+EvdevKbdBell (int volume, int frequency, int duration)
-+{
-+}
-+
- KdKeyboardFuncs LinuxEvdevKeyboardFuncs = {
- EvdevKbdLoad,
- EvdevKbdInit,
-@@ -296,4 +659,4 @@
- EvdevKbdFini,
- 0,
- };
--#endif
-+
-diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kdrive.c xserver/hw/kdrive/src/kdrive.c
---- xserver.original/hw/kdrive/src/kdrive.c 2005-12-16 10:36:07.000000000 -0200
-+++ xserver/hw/kdrive/src/kdrive.c 2005-12-16 10:37:09.000000000 -0200
-@@ -73,6 +73,7 @@
- Bool kdEnabled;
- int kdSubpixelOrder;
- int kdVirtualTerminal = -1;
-+char *kdKeyboard = 0;
- Bool kdSwitchPending;
- char *kdSwitchCmd;
- DDXPointRec kdOrigin;
-@@ -795,6 +796,14 @@
- UseMsg ();
- return 2;
- }
-+ if (!strcmp (argv[i], "-keyboard"))
-+ {
-+ if ((i+1) < argc)
-+ kdKeyboard = argv[i+1];
-+ else
-+ UseMsg ();
-+ return 2;
-+ }
- if (!strcmp (argv[i], "-rgba"))
- {
- if ((i+1) < argc)
-diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kdrive.h xserver/hw/kdrive/src/kdrive.h
---- xserver.original/hw/kdrive/src/kdrive.h 2005-12-16 10:36:07.000000000 -0200
-+++ xserver/hw/kdrive/src/kdrive.h 2005-12-16 10:37:09.000000000 -0200
-@@ -416,6 +416,7 @@
- extern Bool kdDisableZaphod;
- extern Bool kdDontZap;
- extern int kdVirtualTerminal;
-+extern char *kdKeyboard;
- extern char *kdSwitchCmd;
- extern KdOsFuncs *kdOsFuncs;
-
-@@ -769,7 +770,7 @@
- ProcessInputEvents (void);
-
- extern KdMouseFuncs LinuxMouseFuncs;
--extern KdMouseFuncs LinuxEvdevFuncs;
-+extern KdMouseFuncs LinuxEvdevMouseFuncs;
- extern KdMouseFuncs Ps2MouseFuncs;
- extern KdMouseFuncs BusMouseFuncs;
- extern KdMouseFuncs MsMouseFuncs;
-@@ -777,6 +778,7 @@
- extern KdMouseFuncs TsFuncs;
- #endif
- extern KdKeyboardFuncs LinuxKeyboardFuncs;
-+extern KdKeyboardFuncs LinuxEvdevKeyboardFuncs;
- extern KdOsFuncs LinuxFuncs;
-
- extern KdMouseFuncs VxWorksMouseFuncs;
-diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kinput.c xserver/hw/kdrive/src/kinput.c
---- xserver.original/hw/kdrive/src/kinput.c 2005-12-16 10:36:07.000000000 -0200
-+++ xserver/hw/kdrive/src/kinput.c 2005-12-16 10:37:09.000000000 -0200
-@@ -1300,6 +1300,7 @@
- xE.u.u.type = KeyPress;
- xE.u.u.detail = key_code;
-
-+#ifndef XKB
- switch (KEYCOL1(key_code))
- {
- case XK_Num_Lock:
-@@ -1313,6 +1314,7 @@
- else
- xE.u.u.type = KeyPress;
- }
-+#endif
-
- /*
- * Check pressed keys which are already down