This is the mail archive of the
cygwin-xfree@sources.redhat.com
mailing list for the Cygwin project.
RE: Japanese keyboard hack
- To: "Hajime Murao" <murao at al dot cs dot kobe-u dot ac dot jp>, "cygwin-xfree Mailing List" <cygwin-xfree at sourceware dot cygnus dot com>
- Subject: RE: Japanese keyboard hack
- From: "Suhaib Siddiqi" <ssiddiqi at inspirepharm dot com>
- Date: Wed, 27 Sep 2000 10:28:12 -0400
Well unfortunately, we cannot support two different sources tree of XFree86
and supporting drivers.
If you can come up with a patch which maintain a single sources and binaries
then yes
I would be glad to incorporate into the main branch.
BTW: We are looking into the option of adding code to xf_dx.dll which would
get mouse,
keyboard and monitor resolution settings from Windows control panel. So
stay tune for
new versions whenever we accomplish it
Suhaib
> -----Original Message-----
> From: cygwin-xfree-owner@sources.redhat.com
> [mailto:cygwin-xfree-owner@sources.redhat.com]On Behalf Of Hajime Murao
> Sent: Tuesday, September 26, 2000 2:20 PM
> To: cygwin-xfree Mailing List
> Subject: Japanese keyboard hack
>
>
> Hi,
>
> I made small patches for the xc tree can be extracted from
> X401-x.tar.bz2 and the xf_dx tree from xf_dx_2.0.tar.bz2 to support
> Japanese keyboard on XWin.exe. It seems working well on my computer but
> you must not trust it completely since it is really a quick hack. One
> important feature missing is it does'n t work with English (and any
> other type of) keyboard. I know it is better to support both or more
> type of keyboard by just one executable but I don't implement the
> feature for now since I don't have any good idea of how to detect the
> keyboard type from inside of the X server. Maybe environmental variables
> are useful. Anyway, I am satisfied with a result of my small work.
>
> Regards,
> ----------
> Hajime MURAO, Kobe University
> A professional? No, I am not professional. I am an amateur. "Amateur"
> comes from the latin "amare":to love. If you do not love what you do,
> you do not deserve to do it. --- Orson Welles
>
> == (1) Patch for the xf_dx tree =======================================
>
> Common subdirectories: xf_dx.orig/Debug and xf_dx/Debug
> Common subdirectories: xf_dx.orig/Release and xf_dx/Release
> diff -x *.plg -x *.ncb -x *.opt -x *.dsp -x *.def -x *.dsw -c
> xf_dx.orig/d3dcalls.c xf_dx/d3dcalls.c
> *** xf_dx.orig/d3dcalls.c Wed Jul 14 13:07:28 1999
> --- xf_dx/d3dcalls.c Wed Sep 27 00:22:49 2000
> ***************
> *** 167,179 ****
> {
>
> d3dappi.TextureFormat[d3dappi.NumTextureFormats].bPalettized = FALSE;
> d3dappi.TextureFormat[d3dappi.NumTextureFormats].IndexBPP = 0;
> ! for (r = 0, m = lpDDSD->ddpfPixelFormat.u2.dwRBitMask; !(m & 1);
>
> r++, m >>= 1);
> for (r = 0; m & 1; r++, m >>= 1);
> ! for (g = 0, m = lpDDSD->ddpfPixelFormat.u3.dwGBitMask; !(m & 1);
>
> g++, m >>= 1);
> for (g = 0; m & 1; g++, m >>= 1);
> ! for (b = 0, m = lpDDSD->ddpfPixelFormat.u4.dwBBitMask; !(m & 1);
>
> b++, m >>= 1);
> for (b = 0; m & 1; b++, m >>= 1);
> d3dappi.TextureFormat[d3dappi.NumTextureFormats].RedBPP = r;
> --- 167,179 ----
> {
>
> d3dappi.TextureFormat[d3dappi.NumTextureFormats].bPalettized = FALSE;
> d3dappi.TextureFormat[d3dappi.NumTextureFormats].IndexBPP = 0;
> ! for (r = 0, m = lpDDSD->ddpfPixelFormat.dwRBitMask; !(m & 1);
>
> r++, m >>= 1);
> for (r = 0; m & 1; r++, m >>= 1);
> ! for (g = 0, m = lpDDSD->ddpfPixelFormat.dwGBitMask; !(m & 1);
>
> g++, m >>= 1);
> for (g = 0; m & 1; g++, m >>= 1);
> ! for (b = 0, m = lpDDSD->ddpfPixelFormat.dwBBitMask; !(m & 1);
>
> b++, m >>= 1);
> for (b = 0; m & 1; b++, m >>= 1);
> d3dappi.TextureFormat[d3dappi.NumTextureFormats].RedBPP = r;
> diff -x *.plg -x *.ncb -x *.opt -x *.dsp -x *.def -x *.dsw -c
> xf_dx.orig/misc.c xf_dx/misc.c
> *** xf_dx.orig/misc.c Tue Jul 15 06:00:00 1997
> --- xf_dx/misc.c Wed Sep 27 00:21:02 2000
> ***************
> *** 511,517 ****
> * is stacked, so do it unless we are returning from a fullscreen
> * mode.
> */
> ! SendMessage(hwnd, WM_SIZE, SIZE_RESTORED, w + h << 16);
> GetWindowRect(hwnd, &rc);
> SetWindowPos(hwnd, NULL, 0, 0, rc.right-rc.left,
> rc.bottom-rc.top,
> --- 511,517 ----
> * is stacked, so do it unless we are returning from a fullscreen
> * mode.
> */
> ! SendMessage(hwnd, WM_SIZE, SIZE_RESTORED, w + (h << 16));
> GetWindowRect(hwnd, &rc);
> SetWindowPos(hwnd, NULL, 0, 0, rc.right-rc.left,
> rc.bottom-rc.top,
> diff -x *.plg -x *.ncb -x *.opt -x *.dsp -x *.def -x *.dsw -c
> xf_dx.orig/texture.c xf_dx/texture.c
> *** xf_dx.orig/texture.c Wed Jul 14 13:07:28 1999
> --- xf_dx/texture.c Wed Sep 27 00:22:49 2000
> ***************
> *** 431,459 ****
> /*
> * Determine the red, green and blue masks' shift and scale.
> */
> ! for (s = 0, m = format.ddpfPixelFormat.u2.dwRBitMask; !(m & 1);
>
> s++, m >>= 1);
> red_shift = s;
> ! red_scale = 255 / (format.ddpfPixelFormat.u2.dwRBitMask >> s);
> ! for (s = 0, m = format.ddpfPixelFormat.u3.dwGBitMask; !(m & 1);
>
> s++, m >>= 1);
> green_shift = s;
> ! green_scale = 255 / (format.ddpfPixelFormat.u3.dwGBitMask >> s);
> ! for (s = 0, m = format.ddpfPixelFormat.u4.dwBBitMask; !(m & 1);
>
> s++, m >>= 1);
> blue_shift = s;
> ! blue_scale = 255 / (format.ddpfPixelFormat.u4.dwBBitMask >> s);
> /*
> * Each RGB bit count requires different pointers
> */
> ! switch (format.ddpfPixelFormat.u1.dwRGBBitCount) {
> case 32 :
> for (j = 0; j < (int)dwHeight; j++) {
> /*
> * Point to next row in texture surface
> */
> lpLP = (unsigned long*)(((char*)ddsd.lpSurface) +
> !
> ddsd.u1.lPitch * j);
> for (i = 0; i < (int)dwWidth; i++) {
> int r, g, b;
> /*
> --- 431,459 ----
> /*
> * Determine the red, green and blue masks' shift and scale.
> */
> ! for (s = 0, m = format.ddpfPixelFormat.dwRBitMask; !(m & 1);
>
> s++, m >>= 1);
> red_shift = s;
> ! red_scale = 255 / (format.ddpfPixelFormat.dwRBitMask >> s);
> ! for (s = 0, m = format.ddpfPixelFormat.dwGBitMask; !(m & 1);
>
> s++, m >>= 1);
> green_shift = s;
> ! green_scale = 255 / (format.ddpfPixelFormat.dwGBitMask >> s);
> ! for (s = 0, m = format.ddpfPixelFormat.dwBBitMask; !(m & 1);
>
> s++, m >>= 1);
> blue_shift = s;
> ! blue_scale = 255 / (format.ddpfPixelFormat.dwBBitMask >> s);
> /*
> * Each RGB bit count requires different pointers
> */
> ! switch (format.ddpfPixelFormat.dwRGBBitCount) {
> case 32 :
> for (j = 0; j < (int)dwHeight; j++) {
> /*
> * Point to next row in texture surface
> */
> lpLP = (unsigned long*)(((char*)ddsd.lpSurface) +
> !
> ddsd.lPitch * j);
> for (i = 0; i < (int)dwWidth; i++) {
> int r, g, b;
> /*
> ***************
> *** 471,477 ****
> case 16 :
> for (j = 0; j < (int)dwHeight; j++) {
> lpSP = (unsigned short*)(((char*)ddsd.lpSurface) +
> !
> ddsd.u1.lPitch * j);
> for (i = 0; i < (int)dwWidth; i++) {
> int r, g, b;
> r = getc(fp) / red_scale;
> --- 471,477 ----
> case 16 :
> for (j = 0; j < (int)dwHeight; j++) {
> lpSP = (unsigned short*)(((char*)ddsd.lpSurface) +
> !
> ddsd.lPitch * j);
> for (i = 0; i < (int)dwWidth; i++) {
> int r, g, b;
> r = getc(fp) / red_scale;
> ***************
> *** 486,492 ****
> case 8:
> for (j = 0; j < (int)dwHeight; j++) {
> lpCP = (unsigned char*)(((char*)ddsd.lpSurface) +
> !
> ddsd.u1.lPitch * j);
> for (i = 0; i < (int)dwWidth; i++) {
> int r, g, b;
> r = getc(fp) / red_scale;
> --- 486,492 ----
> case 8:
> for (j = 0; j < (int)dwHeight; j++) {
> lpCP = (unsigned char*)(((char*)ddsd.lpSurface) +
> !
> ddsd.lPitch * j);
> for (i = 0; i < (int)dwWidth; i++) {
> int r, g, b;
> r = getc(fp) / red_scale;
> ***************
> *** 524,530 ****
> /*
> * Point to next row in surface
> */
> ! lpC = ((char*)ddsd.lpSurface) + ddsd.u1.lPitch * j;
> for (i = 0; i < (int)dwWidth; i++) {
> int r, g, b, k;
> /*
> --- 524,530 ----
> /*
> * Point to next row in surface
> */
> ! lpC = ((char*)ddsd.lpSurface) + ddsd.lPitch * j;
> for (i = 0; i < (int)dwWidth; i++) {
> int r, g, b, k;
> /*
> diff -x *.plg -x *.ncb -x *.opt -x *.dsp -x *.def -x *.dsw -c
> xf_dx.orig/xf_dx.c xf_dx/xf_dx.c
> *** xf_dx.orig/xf_dx.c Thu Jun 8 09:36:15 2000
> --- xf_dx/xf_dx.c Tue Sep 26 23:38:59 2000
> ***************
> *** 821,830 ****
>
> for (i = 0; i < (int)dwElements; i++) {
> if (od[i].dwData & 0x80) { /* Key pressed */
> ! GenerateInputEvent
> (KeyPress, 0, 0, od[i].dwOfs & 0x7f) ;
> }
> else {
> ! GenerateInputEvent
> (KeyRelease, 0, 0, od[i].dwOfs & 0x7f) ;
> }
> }
> }
> --- 821,830 ----
>
> for (i = 0; i < (int)dwElements; i++) {
> if (od[i].dwData & 0x80) { /* Key pressed */
> ! GenerateInputEvent
> (KeyPress, 0, 0, od[i].dwOfs) ;
> }
> else {
> ! GenerateInputEvent
> (KeyRelease, 0, 0, od[i].dwOfs) ;
> }
> }
> }
> diff -x *.plg -x *.ncb -x *.opt -x *.dsp -x *.def -x *.dsw -c
> xf_dx.orig/xf_dx.h xf_dx/xf_dx.h
> *** xf_dx.orig/xf_dx.h Thu Jun 8 09:51:03 2000
> --- xf_dx/xf_dx.h Wed Sep 27 00:26:55 2000
> ***************
> *** 27,31 ****
> #include <ctype.h>
> #include <stdlib.h>
> #include <stdarg.h>
> ! #include "ddutil.h"
> #include "resource.h"
> --- 27,31 ----
> #include <ctype.h>
> #include <stdlib.h>
> #include <stdarg.h>
> ! /* #include "ddutil.h" */
> #include "resource.h"
>
> == (2) Patched for the xc tree =========================================
>
> *** programs/Xserver/hw/xwin/InitInput.c.orig Wed Sep 27 02:06:42 2000
> --- programs/Xserver/hw/xwin/InitInput.c Wed Sep 27 02:06:51 2000
> ***************
> *** 131,137 ****
> pKeySyms->map = pMap;
> pKeySyms->mapWidth = GLYPHS_PER_KEY;
> pKeySyms->minKeyCode = MIN_KEYCODE;
> ! pKeySyms->maxKeyCode = MAX_STD_KEYCODE;
> }
>
> static int
> --- 131,137 ----
> pKeySyms->map = pMap;
> pKeySyms->mapWidth = GLYPHS_PER_KEY;
> pKeySyms->minKeyCode = MIN_KEYCODE;
> ! pKeySyms->maxKeyCode = MAX_KEYCODE;
> }
>
> static int
> *** programs/Xserver/hw/xwin/winkeymap.h.orig Wed Sep 27 00:04:46 2000
> --- programs/Xserver/hw/xwin/winkeymap.h Wed Sep 27 02:16:33 2000
> ***************
> *** 6,26 ****
> */
> /* $TOG: xf86Keymap.h /main/15 1997/07/19 10:02:01 kaleb $ */
>
> static KeySym map[NUM_KEYCODES * GLYPHS_PER_KEY] = {
> /* 0x00 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x01 */ XK_Escape, NoSymbol, NoSymbol, NoSymbol,
> /* 0x02 */ XK_1, XK_exclam, NoSymbol, NoSymbol,
> ! /* 0x03 */ XK_2, XK_at, NoSymbol,
> NoSymbol,
> /* 0x04 */ XK_3, XK_numbersign, NoSymbol,
> NoSymbol,
> /* 0x05 */ XK_4, XK_dollar, NoSymbol, NoSymbol,
> /* 0x06 */ XK_5, XK_percent, NoSymbol, NoSymbol,
> ! /* 0x07 */ XK_6, XK_asciicircum, NoSymbol,
> NoSymbol,
> ! /* 0x08 */ XK_7, XK_ampersand, NoSymbol,
> NoSymbol,
> ! /* 0x09 */ XK_8, XK_asterisk, NoSymbol,
> NoSymbol,
> ! /* 0x0a */ XK_9, XK_parenleft, NoSymbol,
> NoSymbol,
> ! /* 0x0b */ XK_0, XK_parenright, NoSymbol,
> NoSymbol,
> ! /* 0x0c */ XK_minus, XK_underscore, NoSymbol,
> NoSymbol,
> ! /* 0x0d */ XK_equal, XK_plus, NoSymbol, NoSymbol,
> /* 0x0e */ XK_BackSpace, NoSymbol, NoSymbol, NoSymbol,
> /* 0x0f */ XK_Tab, NoSymbol, NoSymbol, NoSymbol,
> /* 0x10 */ XK_Q, NoSymbol, NoSymbol, NoSymbol,
> --- 6,28 ----
> */
> /* $TOG: xf86Keymap.h /main/15 1997/07/19 10:02:01 kaleb $ */
>
> + /* for Japanese Keyboard by Hajime Murao @ Kobe University */
> +
> static KeySym map[NUM_KEYCODES * GLYPHS_PER_KEY] = {
> /* 0x00 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x01 */ XK_Escape, NoSymbol, NoSymbol, NoSymbol,
> /* 0x02 */ XK_1, XK_exclam, NoSymbol, NoSymbol,
> ! /* 0x03 */ XK_2, XK_quotedbl,
> NoSymbol, NoSymbol,
> /* 0x04 */ XK_3, XK_numbersign, NoSymbol,
> NoSymbol,
> /* 0x05 */ XK_4, XK_dollar, NoSymbol, NoSymbol,
> /* 0x06 */ XK_5, XK_percent, NoSymbol, NoSymbol,
> ! /* 0x07 */ XK_6, XK_ampersand, NoSymbol,
> NoSymbol,
> ! /* 0x08 */ XK_7, XK_quoteright, NoSymbol,
> NoSymbol,
> ! /* 0x09 */ XK_8, XK_parenleft, NoSymbol,
> NoSymbol,
> ! /* 0x0a */ XK_9, XK_parenright, NoSymbol,
> NoSymbol,
> ! /* 0x0b */ XK_0, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x0c */ XK_minus, XK_equal, NoSymbol, NoSymbol,
> ! /* 0x0d */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x0e */ XK_BackSpace, NoSymbol, NoSymbol, NoSymbol,
> /* 0x0f */ XK_Tab, NoSymbol, NoSymbol, NoSymbol,
> /* 0x10 */ XK_Q, NoSymbol, NoSymbol, NoSymbol,
> ***************
> *** 46,54 ****
> /* 0x24 */ XK_J, NoSymbol, NoSymbol, NoSymbol,
> /* 0x25 */ XK_K, NoSymbol, NoSymbol, NoSymbol,
> /* 0x26 */ XK_L, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x27 */ XK_semicolon, XK_colon, NoSymbol, NoSymbol,
> ! /* 0x28 */ XK_quoteright, XK_quotedbl, NoSymbol,
> NoSymbol,
> ! /* 0x29 */ XK_quoteleft, XK_asciitilde, NoSymbol,
> NoSymbol,
> /* 0x2a */ XK_Shift_L, NoSymbol, NoSymbol, NoSymbol,
> /* 0x2b */ XK_backslash, XK_bar, NoSymbol,
> NoSymbol,
> /* 0x2c */ XK_Z, NoSymbol, NoSymbol, NoSymbol,
> --- 48,56 ----
> /* 0x24 */ XK_J, NoSymbol, NoSymbol, NoSymbol,
> /* 0x25 */ XK_K, NoSymbol, NoSymbol, NoSymbol,
> /* 0x26 */ XK_L, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x27 */ XK_semicolon, XK_plus, NoSymbol, NoSymbol,
> ! /* 0x28 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x29 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x2a */ XK_Shift_L, NoSymbol, NoSymbol, NoSymbol,
> /* 0x2b */ XK_backslash, XK_bar, NoSymbol,
> NoSymbol,
> /* 0x2c */ XK_Z, NoSymbol, NoSymbol, NoSymbol,
> ***************
> *** 120,126 ****
> /* 0x6d */ XK_Menu, NoSymbol, NoSymbol, NoSymbol,
> /* 0x6e */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x6f */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x70 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x71 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x72 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x73 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> --- 122,128 ----
> /* 0x6d */ XK_Menu, NoSymbol, NoSymbol, NoSymbol,
> /* 0x6e */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x6f */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x70 */ XK_Hiragana, XK_Katakana, XK_Romaji,
> NoSymbol,
> /* 0x71 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x72 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x73 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ***************
> *** 129,163 ****
> /* 0x76 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x77 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x78 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x79 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x7a */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x7b */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x7c */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x7d */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x7e */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x7f */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
>
> ! /* These are for ServerNumLock handling */
> ! /* 0x80 */ XK_KP_7, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x81 */ XK_KP_8, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x82 */ XK_KP_9, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x83 */ XK_KP_4, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x84 */ XK_KP_5, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x85 */ XK_KP_6, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x86 */ XK_KP_1, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x87 */ XK_KP_2, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x88 */ XK_KP_3, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x89 */ XK_KP_0, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x8a */ XK_KP_Decimal, NoSymbol, NoSymbol,
> NoSymbol,
> ! /* 0x8b */ XK_Home, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x8c */ XK_Up, NoSymbol, NoSymbol,
> NoSymbol,
> ! /* 0x8d */ XK_Prior, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x8e */ XK_Left, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x8f */ XK_Begin, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x90 */ XK_Right, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x91 */ XK_End, NoSymbol, NoSymbol,
> NoSymbol,
> ! /* 0x92 */ XK_Down, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x93 */ XK_Next, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x94 */ XK_Insert, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x95 */ XK_Delete, NoSymbol, NoSymbol, NoSymbol,
> };
> --- 131,254 ----
> /* 0x76 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x77 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x78 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x79 */ XK_Henkan, XK_Mae_Koho, XK_Zen_Koho, NoSymbol,
> /* 0x7a */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x7b */ XK_Muhenkan, NoSymbol, NoSymbol,
> NoSymbol,
> /* 0x7c */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x7d */ XK_backslash, XK_bar, NoSymbol, NoSymbol,
> /* 0x7e */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> /* 0x7f */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
>
> ! /* 0x80 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x81 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x82 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x83 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x84 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x85 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x86 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x87 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x88 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x89 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x8a */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x8b */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x8c */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x8d */ XK_KP_Equal, NoSymbol, NoSymbol,
> NoSymbol,
> ! /* 0x8e */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x8f */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x90 */ XK_asciicircum, XK_asciitilde, NoSymbol,
> NoSymbol,
> ! /* 0x91 */ XK_at, XK_quoteleft, NoSymbol, NoSymbol,
> ! /* 0x92 */ XK_colon, XK_asterisk, NoSymbol, NoSymbol,
> ! /* 0x93 */ XK_backslash, XK_underscore, NoSymbol,
> NoSymbol,
> ! /* 0x94 */ XK_Zenkaku_Hankaku, XK_Kanji, NoSymbol,
> NoSymbol,
> ! /* 0x95 */ XK_Break, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x96 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x97 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x98 */ XK_asciicircum, XK_asciitilde, NoSymbol,
> NoSymbol,
> ! /* 0x99 */ XK_at, XK_quoteleft, NoSymbol, NoSymbol,
> ! /* 0x9a */ XK_colon, XK_asterisk, NoSymbol, NoSymbol,
> ! /* 0x9b */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x9c */ XK_KP_Enter, NoSymbol, NoSymbol,
> NoSymbol,
> ! /* 0x9d */ XK_Control_R, NoSymbol, NoSymbol,
> NoSymbol,
> ! /* 0x9e */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0x9f */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xa0 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xa1 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xa2 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xa3 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xa4 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xa5 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xa6 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xa7 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xa8 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xa9 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xaa */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xab */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xac */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xad */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xae */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xaf */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xb0 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xb1 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xb2 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xb3 */ XK_comma, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xb4 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xb5 */ XK_KP_Divide, NoSymbol, NoSymbol,
> NoSymbol,
> ! /* 0xb6 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xb7 */ XK_Sys_Req, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xb8 */ XK_Alt_R, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xb9 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xba */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xbb */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xbc */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xbd */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xbe */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xbf */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xc0 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xc1 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xc2 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xc3 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xc4 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xc5 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xc6 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xc7 */ XK_Home, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xc8 */ XK_Up, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xc9 */ XK_Page_Up, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xca */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xcb */ XK_Left, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xcc */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xcd */ XK_Right, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xce */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xcf */ XK_End, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xd0 */ XK_Down, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xd1 */ XK_Page_Down, NoSymbol, NoSymbol,
> NoSymbol,
> ! /* 0xd2 */ XK_Insert, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xd3 */ XK_Delete, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xd4 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xd5 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xd6 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xd7 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xd8 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xd9 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xda */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xdb */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xdc */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xdd */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xde */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xdf */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xe0 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xe1 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xe2 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xe3 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xe4 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xe5 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xe6 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xe7 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xe8 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xe9 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xea */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xeb */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xec */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xed */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xee */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> ! /* 0xef */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
> };
> *** programs/Xserver/hw/xwin/winkeynames.h.orig Wed Sep 27
> 00:07:31 2000
> --- programs/Xserver/hw/xwin/winkeynames.h Wed Sep 27 01:34:57 2000
> ***************
> *** 31,37 ****
> #include "keysym.h"
>
> #define GLYPHS_PER_KEY 4
> ! #define NUM_KEYCODES 150
> #define NUM_STD_KEYCODES 127
> #define MIN_KEYCODE 8
> #define MAX_KEYCODE (NUM_KEYCODES + MIN_KEYCODE - 1)
> --- 31,37 ----
> #include "keysym.h"
>
> #define GLYPHS_PER_KEY 4
> ! #define NUM_KEYCODES 248
> #define NUM_STD_KEYCODES 127
> #define MIN_KEYCODE 8
> #define MAX_KEYCODE (NUM_KEYCODES + MIN_KEYCODE - 1)