This is the mail archive of the
cygwin-xfree@sources.redhat.com
mailing list for the Cygwin project.
Japanese keyboard hack
- To: cygwin-xfree Mailing List <cygwin-xfree at sourceware dot cygnus dot com>
- Subject: Japanese keyboard hack
- From: Hajime Murao <murao at al dot cs dot kobe-u dot ac dot jp>
- Date: Wed, 27 Sep 2000 03:20:17 +0900
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)