Fix shared reqs for Xlibi18n, Xaw6 & Xmu for Solaris
Improved support for Compose and Kana Lock LED's on Sun keyboards Add event definitions for additional keys on Sun Japanese keyboards VUID mouse protocol support for Solaris Make default mouse message clearer on machines that use a default other than /dev/mouse.
This commit is contained in:
parent
d374dffb20
commit
736e511824
|
@ -49,6 +49,7 @@
|
|||
*/
|
||||
|
||||
/* $XConsortium: xf86Io.c /main/27 1996/10/19 17:58:55 kaleb $ */
|
||||
/* $XdotOrg:$ */
|
||||
|
||||
#define NEED_EVENTS
|
||||
#include "X.h"
|
||||
|
@ -147,6 +148,10 @@ xf86KbdLeds ()
|
|||
#else
|
||||
if (leds & XLED4) real_leds |= LED_SCR;
|
||||
#endif
|
||||
#endif
|
||||
#ifdef sun
|
||||
/* Pass through any additional LEDs, such as Kana LED on Sun Japanese kbd */
|
||||
real_leds |= (leds & 0xFFFFFFF0);
|
||||
#endif
|
||||
xf86SetKbdLeds(real_leds);
|
||||
(void)leds;
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
*/
|
||||
|
||||
/* [JCH-96/01/21] Extended std reverse map to four buttons. */
|
||||
/* $XdotOrg:$ */
|
||||
|
||||
#include "xf86.h"
|
||||
#include "xf86Priv.h"
|
||||
|
@ -41,8 +42,11 @@
|
|||
#endif
|
||||
|
||||
#include <sys/vuid_event.h>
|
||||
#include <sys/kbd.h>
|
||||
#include "atKeynames.h"
|
||||
|
||||
extern int sun_ktype;
|
||||
|
||||
#ifdef XKB
|
||||
extern Bool noXkbExtension;
|
||||
#endif
|
||||
|
@ -104,6 +108,11 @@ static OsTimerPtr sunTimer = NULL;
|
|||
* This doesn't seem right. It probably needs to be dependent on a keyboard
|
||||
* type.
|
||||
*/
|
||||
|
||||
/* Additional Sun Japanese Keyboard Keys not defined in common/atKeynames.h */
|
||||
#define KEY_Kanji 0x82
|
||||
#define KEY_Execute 0x83
|
||||
|
||||
static unsigned char map[256] = {
|
||||
#if defined(i386) || defined(__i386) || defined(__i386__)
|
||||
KEY_NOTUSED, /* 0 */
|
||||
|
@ -374,6 +383,248 @@ static unsigned char map[256] = {
|
|||
/* The rest default to KEY_UNKNOWN */
|
||||
};
|
||||
|
||||
#if defined(KB_USB)
|
||||
static unsigned char usbmap[256] = {
|
||||
/*
|
||||
* partially taken from ../bsd/bsd_KbdMap.c
|
||||
*
|
||||
* added keycodes for Sun special keys (left function keys, audio control)
|
||||
*/
|
||||
/* 0 */ KEY_NOTUSED,
|
||||
/* 1 */ KEY_NOTUSED,
|
||||
/* 2 */ KEY_NOTUSED,
|
||||
/* 3 */ KEY_NOTUSED,
|
||||
/* 4 */ KEY_A,
|
||||
/* 5 */ KEY_B,
|
||||
/* 6 */ KEY_C,
|
||||
/* 7 */ KEY_D,
|
||||
/* 8 */ KEY_E,
|
||||
/* 9 */ KEY_F,
|
||||
/* 10 */ KEY_G,
|
||||
/* 11 */ KEY_H,
|
||||
/* 12 */ KEY_I,
|
||||
/* 13 */ KEY_J,
|
||||
/* 14 */ KEY_K,
|
||||
/* 15 */ KEY_L,
|
||||
/* 16 */ KEY_M,
|
||||
/* 17 */ KEY_N,
|
||||
/* 18 */ KEY_O,
|
||||
/* 19 */ KEY_P,
|
||||
/* 20 */ KEY_Q,
|
||||
/* 21 */ KEY_R,
|
||||
/* 22 */ KEY_S,
|
||||
/* 23 */ KEY_T,
|
||||
/* 24 */ KEY_U,
|
||||
/* 25 */ KEY_V,
|
||||
/* 26 */ KEY_W,
|
||||
/* 27 */ KEY_X,
|
||||
/* 28 */ KEY_Y,
|
||||
/* 29 */ KEY_Z,
|
||||
/* 30 */ KEY_1, /* 1 !*/
|
||||
/* 31 */ KEY_2, /* 2 @ */
|
||||
/* 32 */ KEY_3, /* 3 # */
|
||||
/* 33 */ KEY_4, /* 4 $ */
|
||||
/* 34 */ KEY_5, /* 5 % */
|
||||
/* 35 */ KEY_6, /* 6 ^ */
|
||||
/* 36 */ KEY_7, /* 7 & */
|
||||
/* 37 */ KEY_8, /* 8 * */
|
||||
/* 38 */ KEY_9, /* 9 ( */
|
||||
/* 39 */ KEY_0, /* 0 ) */
|
||||
/* 40 */ KEY_Enter, /* Return */
|
||||
/* 41 */ KEY_Escape, /* Escape */
|
||||
/* 42 */ KEY_BackSpace, /* Backspace Delete */
|
||||
/* 43 */ KEY_Tab, /* Tab */
|
||||
/* 44 */ KEY_Space, /* Space */
|
||||
/* 45 */ KEY_Minus, /* - _ */
|
||||
/* 46 */ KEY_Equal, /* = + */
|
||||
/* 47 */ KEY_LBrace, /* [ { */
|
||||
/* 48 */ KEY_RBrace, /* ] } */
|
||||
/* 49 */ KEY_BSlash, /* \ | */
|
||||
/* 50 */ KEY_BSlash, /* \ _ # ~ on some keyboards */
|
||||
/* 51 */ KEY_SemiColon, /* ; : */
|
||||
/* 52 */ KEY_Quote, /* ' " */
|
||||
/* 53 */ KEY_Tilde, /* ` ~ */
|
||||
/* 54 */ KEY_Comma, /* , < */
|
||||
/* 55 */ KEY_Period, /* . > */
|
||||
/* 56 */ KEY_Slash, /* / ? */
|
||||
/* 57 */ KEY_CapsLock, /* Caps Lock */
|
||||
/* 58 */ KEY_F1, /* F1 */
|
||||
/* 59 */ KEY_F2, /* F2 */
|
||||
/* 60 */ KEY_F3, /* F3 */
|
||||
/* 61 */ KEY_F4, /* F4 */
|
||||
/* 62 */ KEY_F5, /* F5 */
|
||||
/* 63 */ KEY_F6, /* F6 */
|
||||
/* 64 */ KEY_F7, /* F7 */
|
||||
/* 65 */ KEY_F8, /* F8 */
|
||||
/* 66 */ KEY_F9, /* F9 */
|
||||
/* 67 */ KEY_F10, /* F10 */
|
||||
/* 68 */ KEY_F11, /* F11 */
|
||||
/* 69 */ KEY_F12, /* F12 */
|
||||
/* 70 */ KEY_Print, /* PrintScrn SysReq */
|
||||
/* 71 */ KEY_ScrollLock, /* Scroll Lock */
|
||||
/* 72 */ KEY_Pause, /* Pause Break */
|
||||
/* 73 */ KEY_Insert, /* Insert XXX Help on some Mac Keyboards */
|
||||
/* 74 */ KEY_Home, /* Home */
|
||||
/* 75 */ KEY_PgUp, /* Page Up */
|
||||
/* 76 */ KEY_Delete, /* Delete */
|
||||
/* 77 */ KEY_End, /* End */
|
||||
/* 78 */ KEY_PgDown, /* Page Down */
|
||||
/* 79 */ KEY_Right, /* Right Arrow */
|
||||
/* 80 */ KEY_Left, /* Left Arrow */
|
||||
/* 81 */ KEY_Down, /* Down Arrow */
|
||||
/* 82 */ KEY_Up, /* Up Arrow */
|
||||
/* 83 */ KEY_NumLock, /* Num Lock */
|
||||
/* 84 */ KEY_KP_Divide, /* Keypad / */
|
||||
/* 85 */ KEY_KP_Multiply, /* Keypad * */
|
||||
/* 86 */ KEY_KP_Minus, /* Keypad - */
|
||||
/* 87 */ KEY_KP_Plus, /* Keypad + */
|
||||
/* 88 */ KEY_KP_Enter, /* Keypad Enter */
|
||||
/* 89 */ KEY_KP_1, /* Keypad 1 End */
|
||||
/* 90 */ KEY_KP_2, /* Keypad 2 Down */
|
||||
/* 91 */ KEY_KP_3, /* Keypad 3 Pg Down */
|
||||
/* 92 */ KEY_KP_4, /* Keypad 4 Left */
|
||||
/* 93 */ KEY_KP_5, /* Keypad 5 */
|
||||
/* 94 */ KEY_KP_6, /* Keypad 6 */
|
||||
/* 95 */ KEY_KP_7, /* Keypad 7 Home */
|
||||
/* 96 */ KEY_KP_8, /* Keypad 8 Up */
|
||||
/* 97 */ KEY_KP_9, /* KEypad 9 Pg Up */
|
||||
/* 98 */ KEY_KP_0, /* Keypad 0 Ins */
|
||||
/* 99 */ KEY_KP_Decimal, /* Keypad . Del */
|
||||
/* 100 */ KEY_Less, /* < > on some keyboards */
|
||||
/* 101 */ KEY_Menu, /* Menu */
|
||||
/* 102 */ KEY_Power, /* Sun: Power */
|
||||
/* 103 */ KEY_KP_Equal, /* Keypad = on Mac keyboards */
|
||||
/* 104 */ KEY_NOTUSED,
|
||||
/* 105 */ KEY_NOTUSED,
|
||||
/* 106 */ KEY_NOTUSED,
|
||||
/* 107 */ KEY_NOTUSED,
|
||||
/* 108 */ KEY_NOTUSED,
|
||||
/* 109 */ KEY_NOTUSED,
|
||||
/* 110 */ KEY_NOTUSED,
|
||||
/* 111 */ KEY_NOTUSED,
|
||||
/* 112 */ KEY_NOTUSED,
|
||||
/* 113 */ KEY_NOTUSED,
|
||||
/* 114 */ KEY_NOTUSED,
|
||||
/* 115 */ KEY_NOTUSED,
|
||||
/* 116 */ KEY_L7, /* Sun: Open */
|
||||
/* 117 */ KEY_Help, /* Sun: Help */
|
||||
/* 118 */ KEY_L3, /* Sun: Props */
|
||||
/* 119 */ KEY_L5, /* Sun: Front */
|
||||
/* 120 */ KEY_L1, /* Sun: Stop */
|
||||
/* 121 */ KEY_L2, /* Sun: Again */
|
||||
/* 122 */ KEY_L4, /* Sun: Undo */
|
||||
/* 123 */ KEY_L10, /* Sun: Cut */
|
||||
/* 124 */ KEY_L6, /* Sun: Copy */
|
||||
/* 125 */ KEY_L8, /* Sun: Paste */
|
||||
/* 126 */ KEY_L9, /* Sun: Find */
|
||||
/* 127 */ KEY_Mute, /* Sun: AudioMute */
|
||||
/* 128 */ KEY_AudioRaise, /* Sun: AudioRaise */
|
||||
/* 129 */ KEY_AudioLower, /* Sun: AudioLower */
|
||||
/* 130 */ KEY_NOTUSED,
|
||||
/* 131 */ KEY_NOTUSED,
|
||||
/* 132 */ KEY_NOTUSED,
|
||||
/* 133 */ KEY_NOTUSED,
|
||||
/* 134 */ KEY_NOTUSED,
|
||||
/* 135 */ KEY_BSlash2, /* Sun Japanese Kbd: Backslash / Underscore */
|
||||
/* 136 */ KEY_XFER, /* Sun Japanese Kbd: Henkan Mode */
|
||||
/* 137 */ KEY_Yen, /* Sun Japanese Kbd: Yen / Brokenbar */
|
||||
/* 138 */ KEY_Kanji, /* Sun Japanese Kbd: Kanji */
|
||||
/* 139 */ KEY_Execute, /* Sun Japanese Kbd: Execute */
|
||||
/* 140 */ KEY_NOTUSED,
|
||||
/* 141 */ KEY_NOTUSED,
|
||||
/* 142 */ KEY_NOTUSED,
|
||||
/* 143 */ KEY_NOTUSED,
|
||||
/* 144 */ KEY_NOTUSED,
|
||||
/* 145 */ KEY_NOTUSED,
|
||||
/* 146 */ KEY_NOTUSED,
|
||||
/* 147 */ KEY_NOTUSED,
|
||||
/* 148 */ KEY_NOTUSED,
|
||||
/* 149 */ KEY_NOTUSED,
|
||||
/* 150 */ KEY_NOTUSED,
|
||||
/* 151 */ KEY_NOTUSED,
|
||||
/* 152 */ KEY_NOTUSED,
|
||||
/* 153 */ KEY_NOTUSED,
|
||||
/* 154 */ KEY_NOTUSED,
|
||||
/* 155 */ KEY_NOTUSED,
|
||||
/* 156 */ KEY_NOTUSED,
|
||||
/* 157 */ KEY_NOTUSED,
|
||||
/* 158 */ KEY_NOTUSED,
|
||||
/* 159 */ KEY_NOTUSED,
|
||||
/* 160 */ KEY_NOTUSED,
|
||||
/* 161 */ KEY_NOTUSED,
|
||||
/* 162 */ KEY_NOTUSED,
|
||||
/* 163 */ KEY_NOTUSED,
|
||||
/* 164 */ KEY_NOTUSED,
|
||||
/* 165 */ KEY_NOTUSED,
|
||||
/* 166 */ KEY_NOTUSED,
|
||||
/* 167 */ KEY_NOTUSED,
|
||||
/* 168 */ KEY_NOTUSED,
|
||||
/* 169 */ KEY_NOTUSED,
|
||||
/* 170 */ KEY_NOTUSED,
|
||||
/* 171 */ KEY_NOTUSED,
|
||||
/* 172 */ KEY_NOTUSED,
|
||||
/* 173 */ KEY_NOTUSED,
|
||||
/* 174 */ KEY_NOTUSED,
|
||||
/* 175 */ KEY_NOTUSED,
|
||||
/* 176 */ KEY_NOTUSED,
|
||||
/* 177 */ KEY_NOTUSED,
|
||||
/* 178 */ KEY_NOTUSED,
|
||||
/* 179 */ KEY_NOTUSED,
|
||||
/* 180 */ KEY_NOTUSED,
|
||||
/* 181 */ KEY_NOTUSED,
|
||||
/* 182 */ KEY_NOTUSED,
|
||||
/* 183 */ KEY_NOTUSED,
|
||||
/* 184 */ KEY_NOTUSED,
|
||||
/* 185 */ KEY_NOTUSED,
|
||||
/* 186 */ KEY_NOTUSED,
|
||||
/* 187 */ KEY_NOTUSED,
|
||||
/* 188 */ KEY_NOTUSED,
|
||||
/* 189 */ KEY_NOTUSED,
|
||||
/* 190 */ KEY_NOTUSED,
|
||||
/* 191 */ KEY_NOTUSED,
|
||||
/* 192 */ KEY_NOTUSED,
|
||||
/* 193 */ KEY_NOTUSED,
|
||||
/* 194 */ KEY_NOTUSED,
|
||||
/* 195 */ KEY_NOTUSED,
|
||||
/* 196 */ KEY_NOTUSED,
|
||||
/* 197 */ KEY_NOTUSED,
|
||||
/* 198 */ KEY_NOTUSED,
|
||||
/* 199 */ KEY_NOTUSED,
|
||||
/* 200 */ KEY_NOTUSED,
|
||||
/* 201 */ KEY_NOTUSED,
|
||||
/* 202 */ KEY_NOTUSED,
|
||||
/* 203 */ KEY_NOTUSED,
|
||||
/* 204 */ KEY_NOTUSED,
|
||||
/* 205 */ KEY_NOTUSED,
|
||||
/* 206 */ KEY_NOTUSED,
|
||||
/* 207 */ KEY_NOTUSED,
|
||||
/* 208 */ KEY_NOTUSED,
|
||||
/* 209 */ KEY_NOTUSED,
|
||||
/* 210 */ KEY_NOTUSED,
|
||||
/* 211 */ KEY_NOTUSED,
|
||||
/* 212 */ KEY_NOTUSED,
|
||||
/* 213 */ KEY_NOTUSED,
|
||||
/* 214 */ KEY_NOTUSED,
|
||||
/* 215 */ KEY_NOTUSED,
|
||||
/* 216 */ KEY_NOTUSED,
|
||||
/* 217 */ KEY_NOTUSED,
|
||||
/* 218 */ KEY_NOTUSED,
|
||||
/* 219 */ KEY_NOTUSED,
|
||||
/* 220 */ KEY_NOTUSED,
|
||||
/* 221 */ KEY_NOTUSED,
|
||||
/* 222 */ KEY_NOTUSED,
|
||||
/* 223 */ KEY_NOTUSED,
|
||||
/* 224 */ KEY_LCtrl, /* Left Control */
|
||||
/* 225 */ KEY_ShiftL, /* Left Shift */
|
||||
/* 226 */ KEY_Alt, /* Left Alt */
|
||||
/* 227 */ KEY_LMeta, /* Left Meta */
|
||||
/* 228 */ KEY_RCtrl, /* Right Control */
|
||||
/* 229 */ KEY_ShiftR, /* Right Shift */
|
||||
/* 230 */ KEY_AltLang, /* Right Alt, AKA AltGr */
|
||||
/* 231 */ KEY_RMeta, /* Right Meta */
|
||||
};
|
||||
|
||||
#endif /* KB_USB */
|
||||
/*
|
||||
* sunPostKbdEvent --
|
||||
* Translate the raw hardware Firm_event into an XEvent, and tell DIX
|
||||
|
@ -404,7 +655,12 @@ sunPostKbdEvent(Firm_event *event)
|
|||
* and now get some special keysequences
|
||||
*/
|
||||
|
||||
keycode = map[event->id];
|
||||
#if defined(KB_USB)
|
||||
if(sun_ktype == KB_USB)
|
||||
keycode = usbmap[event->id];
|
||||
else
|
||||
#endif
|
||||
keycode = map[event->id];
|
||||
|
||||
if ((ModifierDown(ControlMask | AltMask)) ||
|
||||
(ModifierDown(ControlMask | AltLangMask)))
|
||||
|
|
|
@ -67,6 +67,7 @@
|
|||
*/
|
||||
|
||||
/* $XConsortium: xf86_OSlib.h /main/22 1996/10/27 11:06:31 kaleb $ */
|
||||
/* $XdotOrg: $ */
|
||||
|
||||
/*
|
||||
* This is private, and should not be included by any drivers. Drivers
|
||||
|
@ -260,6 +261,7 @@ typedef signed long xf86ssize_t;
|
|||
# define LED_CAP LED_CAPS_LOCK
|
||||
# define LED_NUM LED_NUM_LOCK
|
||||
# define LED_SCR LED_SCROLL_LOCK
|
||||
# define LED_COMP LED_COMPOSE
|
||||
|
||||
# include <signal.h>
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@
|
|||
* Chisato Yamauchi(cyamauch@phyas.aichi-edu.ac.jp)
|
||||
*/
|
||||
/* $XConsortium: xf86config.c /main/21 1996/10/28 05:43:57 kaleb $ */
|
||||
/* $XdotOrg: $ */
|
||||
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/xf86config/xorgconfig.c,v 1.3 2004/05/16 00:03:54 alanc Exp $ */
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
@ -378,7 +378,7 @@ int M_OSMOUSE, M_WSMOUSE, M_AUTO,
|
|||
M_NETMOUSE_PS2, M_NETSCROLL_PS2, M_THINKINGMOUSE_PS2,
|
||||
M_ACECAD, M_GLIDEPOINT, M_INTELLIMOUSE,
|
||||
M_LOGITECH, M_MMHITTAB, M_MMSERIES,
|
||||
M_MOUSEMAN, M_THINKINGMOUSE;
|
||||
M_MOUSEMAN, M_THINKINGMOUSE, M_VUID;
|
||||
|
||||
struct {
|
||||
char *name;
|
||||
|
@ -404,6 +404,11 @@ struct {
|
|||
{"Auto", &M_AUTO,
|
||||
"Auto detect"
|
||||
},
|
||||
#ifdef sun
|
||||
{"VUID", &M_VUID,
|
||||
"Solaris VUID"
|
||||
},
|
||||
#endif
|
||||
{"SysMouse", &M_SYSMOUSE,
|
||||
"SysMouse"
|
||||
},
|
||||
|
@ -470,6 +475,14 @@ struct {
|
|||
},
|
||||
};
|
||||
|
||||
#ifdef WSCONS_SUPPORT
|
||||
# define DEF_MOUSEDEV "/dev/wsmouse";
|
||||
#elif defined(__FreeBSD__)
|
||||
# define DEF_MOUSEDEV "/dev/sysmouse";
|
||||
#else
|
||||
# define DEF_MOUSEDEV "/dev/mouse";
|
||||
#endif
|
||||
|
||||
#ifndef __UNIXOS2__
|
||||
static char *mouseintro_text =
|
||||
"First specify a mouse protocol type. Choose one from the following list:\n"
|
||||
|
@ -477,13 +490,7 @@ static char *mouseintro_text =
|
|||
|
||||
static char *mousedev_text =
|
||||
"Now give the full device name that the mouse is connected to, for example\n"
|
||||
"/dev/tty00. Just pressing enter will use the default, /dev/mouse.\n"
|
||||
#ifdef WSCONS_SUPPORT
|
||||
"On systems with wscons, the default is /dev/wsmouse.\n"
|
||||
#endif
|
||||
#ifdef __FreeBSD__
|
||||
"On FreeBSD, the default is /dev/sysmouse.\n"
|
||||
#endif
|
||||
"/dev/tty00. Just pressing enter will use the default, %s.\n"
|
||||
"\n";
|
||||
|
||||
static char *mousecomment_text =
|
||||
|
@ -535,6 +542,7 @@ mouse_configuration(void) {
|
|||
#if !defined(__UNIXOS2__) && !defined(QNX4)
|
||||
int i, j;
|
||||
char s[80];
|
||||
char *def_mousedev = DEF_MOUSEDEV;
|
||||
|
||||
#define MOUSETYPE_COUNT sizeof(mouse_info)/sizeof(mouse_info[0])
|
||||
for (i = 0; i < MOUSETYPE_COUNT; i++)
|
||||
|
@ -627,22 +635,24 @@ mouse_configuration(void) {
|
|||
config_emulate3buttons = 0;
|
||||
printf("\n");
|
||||
|
||||
printf("%s", mousedev_text);
|
||||
#if (defined(sun) && defined(__i386))
|
||||
/* SPARC & USB mice (VUID or AUTO protocols) default to /dev/mouse,
|
||||
but PS/2 mice default to /dev/kdmouse */
|
||||
if ((config_mousetype != M_AUTO) && (config_mousetype != M_VUID)) {
|
||||
def_mousedev = "/dev/kdmouse";
|
||||
}
|
||||
#endif
|
||||
|
||||
printf(mousedev_text, def_mousedev);
|
||||
printf("Mouse device: ");
|
||||
getstring(s);
|
||||
if (strlen(s) == 0)
|
||||
#ifdef WSCONS_SUPPORT
|
||||
config_pointerdevice = "/dev/wsmouse";
|
||||
#elif defined(__FreeBSD__)
|
||||
config_pointerdevice = "/dev/sysmouse";
|
||||
#else
|
||||
config_pointerdevice = "/dev/mouse";
|
||||
#endif
|
||||
else {
|
||||
if (strlen(s) == 0) {
|
||||
config_pointerdevice = def_mousedev;
|
||||
} else {
|
||||
config_pointerdevice = Malloc(strlen(s) + 1);
|
||||
strcpy(config_pointerdevice, s);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
printf("\n");
|
||||
|
||||
#else /* __UNIXOS2__ */
|
||||
/* set some reasonable defaults for OS/2 */
|
||||
|
|
Loading…
Reference in New Issue
Block a user