aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nx-X11/programs/Xserver/include/xkbsrv.h86
-rw-r--r--nx-X11/programs/Xserver/xkb/XKBAlloc.c155
-rw-r--r--nx-X11/programs/Xserver/xkb/XKBMAlloc.c77
-rw-r--r--nx-X11/programs/Xserver/xkb/XKBMisc.c181
-rw-r--r--nx-X11/programs/Xserver/xkb/ddxLEDs.c2
-rw-r--r--nx-X11/programs/Xserver/xkb/ddxLoad.c6
-rw-r--r--nx-X11/programs/Xserver/xkb/xkb.c61
-rw-r--r--nx-X11/programs/Xserver/xkb/xkb.h39
-rw-r--r--nx-X11/programs/Xserver/xkb/xkbAccessX.c6
-rw-r--r--nx-X11/programs/Xserver/xkb/xkbActions.c6
-rw-r--r--nx-X11/programs/Xserver/xkb/xkbDflts.h37
-rw-r--r--nx-X11/programs/Xserver/xkb/xkbEvents.c44
-rw-r--r--nx-X11/programs/Xserver/xkb/xkbInit.c26
-rw-r--r--nx-X11/programs/Xserver/xkb/xkbLEDs.c446
-rw-r--r--nx-X11/programs/Xserver/xkb/xkbUtils.c53
-rw-r--r--nx-X11/programs/Xserver/xkb/xkberrs.c31
-rw-r--r--nx-X11/programs/Xserver/xkb/xkmread.c12
17 files changed, 189 insertions, 1079 deletions
diff --git a/nx-X11/programs/Xserver/include/xkbsrv.h b/nx-X11/programs/Xserver/include/xkbsrv.h
index 533a30930..9f9ccc5c3 100644
--- a/nx-X11/programs/Xserver/include/xkbsrv.h
+++ b/nx-X11/programs/Xserver/include/xkbsrv.h
@@ -30,15 +30,11 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#define XkbAllocClientMap SrvXkbAllocClientMap
#define XkbAllocServerMap SrvXkbAllocServerMap
#define XkbChangeTypesOfKey SrvXkbChangeTypesOfKey
-#define XkbAddKeyType SrvXkbAddKeyType
-#define XkbCopyKeyType SrvXkbCopyKeyType
#define XkbCopyKeyTypes SrvXkbCopyKeyTypes
#define XkbFreeClientMap SrvXkbFreeClientMap
#define XkbFreeServerMap SrvXkbFreeServerMap
-#define XkbInitCanonicalKeyTypes SrvXkbInitCanonicalKeyTypes
#define XkbKeyTypesForCoreSymbols SrvXkbKeyTypesForCoreSymbols
#define XkbApplyCompatMapToKey SrvXkbApplyCompatMapToKey
-#define XkbUpdateMapFromCore SrvXkbUpdateMapFromCore
#define XkbResizeKeyActions SrvXkbResizeKeyActions
#define XkbResizeKeySyms SrvXkbResizeKeySyms
#define XkbResizeKeyType SrvXkbResizeKeyType
@@ -48,21 +44,13 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#define XkbAllocKeyboard SrvXkbAllocKeyboard
#define XkbAllocNames SrvXkbAllocNames
#define XkbFreeCompatMap SrvXkbFreeCompatMap
-#define XkbFreeControls SrvXkbFreeControls
-#define XkbFreeIndicatorMaps SrvXkbFreeIndicatorMaps
#define XkbFreeKeyboard SrvXkbFreeKeyboard
#define XkbFreeNames SrvXkbFreeNames
-#define XkbAddDeviceLedInfo SrvXkbAddDeviceLedInfo
-#define XkbAllocDeviceInfo SrvXkbAllocDeviceInfo
-#define XkbFreeDeviceInfo SrvXkbFreeDeviceInfo
-#define XkbResizeDeviceButtonActions SrvXkbResizeDeviceButtonActions
#define XkbLatchModifiers SrvXkbLatchModifiers
#define XkbLatchGroup SrvXkbLatchGroup
#define XkbVirtualModsToReal SrvXkbVirtualModsToReal
#define XkbChangeKeycodeRange SrvXkbChangeKeycodeRange
#define XkbApplyVirtualModChanges SrvXkbApplyVirtualModChanges
-#define XkbUpdateActionVirtualMods SrvXkbUpdateActionVirtualMods
-#define XkbUpdateKeyTypeVirtualMods SrvXkbUpdateKeyTypeVirtualMods
#include <nx-X11/extensions/XKBproto.h>
#include "xkbstr.h"
@@ -276,23 +264,17 @@ typedef struct
extern int XkbReqCode;
extern int XkbEventBase;
-extern int XkbKeyboardErrorCode;
extern int XkbDisableLockActions;
extern char * XkbBaseDirectory;
extern char * XkbBinDirectory;
extern char * XkbInitialMap;
-extern int _XkbClientMajor;
-extern int _XkbClientMinor;
extern unsigned int XkbXIUnsupported;
-extern char * XkbModelUsed,*XkbLayoutUsed,*XkbVariantUsed,*XkbOptionsUsed;
extern Bool noXkbExtension;
-extern Bool XkbWantRulesProp;
extern void * XkbLastRepeatEvent;
extern CARD32 xkbDebugFlags;
-extern CARD32 xkbDebugCtrls;
#define _XkbAlloc(s) malloc((s))
@@ -450,11 +432,6 @@ extern Status XkbAllocControls(
unsigned int /* which*/
);
-extern Status XkbCopyKeyType(
- XkbKeyTypePtr /* from */,
- XkbKeyTypePtr /* into */
-);
-
extern Status XkbCopyKeyTypes(
XkbKeyTypePtr /* from */,
XkbKeyTypePtr /* into */,
@@ -622,15 +599,6 @@ extern void XkbApplyLedStateChanges(
XkbEventCausePtr /* cause */
);
-extern void XkbUpdateLedAutoState(
- DeviceIntPtr /* dev */,
- XkbSrvLedInfoPtr /* sli */,
- unsigned int /* maps_to_check */,
- xkbExtensionDeviceNotify * /* ed */,
- XkbChangesPtr /* changes */,
- XkbEventCausePtr /* cause */
-);
-
extern void XkbFlushLedEvents(
DeviceIntPtr /* dev */,
DeviceIntPtr /* kbd */,
@@ -640,11 +608,6 @@ extern void XkbFlushLedEvents(
XkbEventCausePtr /* cause */
);
-extern void XkbUpdateAllDeviceIndicators(
- XkbChangesPtr /* changes */,
- XkbEventCausePtr /* cause */
-);
-
extern unsigned int XkbIndicatorsToUpdate(
DeviceIntPtr /* dev */,
unsigned long /* state_changes */,
@@ -701,12 +664,6 @@ extern void XkbSendCompatMapNotify(
xkbCompatMapNotify * /* ev */
);
-extern void XkbSendIndicatorNotify(
- DeviceIntPtr /* kbd */,
- int /* xkbType */,
- xkbIndicatorNotify * /* ev */
-);
-
extern void XkbHandleBell(
BOOL /* force */,
BOOL /* eventOnly */,
@@ -879,11 +836,6 @@ extern void XkbDDXChangeControls(
XkbControlsPtr /* new */
);
-extern void XkbDDXUpdateIndicators(
- DeviceIntPtr /* keybd */,
- CARD32 /* newState */
-);
-
extern void XkbDDXUpdateDeviceIndicators(
DeviceIntPtr /* dev */,
XkbSrvLedInfoPtr /* sli */,
@@ -1057,35 +1009,12 @@ extern Bool XkbUpdateMapFromCore(
XkbChangesPtr /* changes */
);
-extern void XkbFreeControls(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- Bool /* freeMap */
-);
-
-extern void XkbFreeIndicatorMaps(
- XkbDescPtr /* xkb */
-);
-
extern Bool XkbApplyVirtualModChanges(
XkbDescPtr /* xkb */,
unsigned int /* changed */,
XkbChangesPtr /* changes */
);
-extern Bool XkbUpdateActionVirtualMods(
- XkbDescPtr /* xkb */,
- XkbAction * /* act */,
- unsigned int /* changed */
-);
-
-extern void XkbUpdateKeyTypeVirtualMods(
- XkbDescPtr /* xkb */,
- XkbKeyTypePtr /* type */,
- unsigned int /* changed */,
- XkbChangesPtr /* changes */
-);
-
extern void XkbSendNewKeyboardNotify(
DeviceIntPtr /* kbd */,
xkbNewKeyboardNotify * /* pNKN */
@@ -1116,16 +1045,6 @@ typedef struct _XkbSrvListInfo {
int nFound[_XkbListNumComponents];
} XkbSrvListInfoRec,*XkbSrvListInfoPtr;
-char *
-XkbGetRulesDflts(
- XkbRF_VarDefsPtr /* defs */
-);
-
-extern void XkbSetRulesUsed(
- XkbRF_VarDefsPtr /* defs */
-);
-
-
extern Status XkbDDXList(
DeviceIntPtr /* dev */,
XkbSrvListInfoPtr /* listing */,
@@ -1149,11 +1068,6 @@ extern Bool XkbDDXNamesFromRules(
XkbComponentNamesPtr /* names */
);
-extern FILE *XkbDDXOpenConfigFile(
- char * /* mapName */,
- char * /* fileNameRtrn */,
- int /* fileNameRtrnLen */
-);
extern Bool XkbDDXApplyConfig(
XPointer /* cfg_in */,
diff --git a/nx-X11/programs/Xserver/xkb/XKBAlloc.c b/nx-X11/programs/Xserver/xkb/XKBAlloc.c
index 4fe4960a3..b55918f88 100644
--- a/nx-X11/programs/Xserver/xkb/XKBAlloc.c
+++ b/nx-X11/programs/Xserver/xkb/XKBAlloc.c
@@ -257,7 +257,7 @@ XkbAllocControls(XkbDescPtr xkb,unsigned which)
}
/*ARGSUSED*/
-void
+static void
XkbFreeControls(XkbDescPtr xkb,unsigned which,Bool freeMap)
{
if (freeMap && (xkb!=NULL) && (xkb->ctrls!=NULL)) {
@@ -282,7 +282,7 @@ XkbAllocIndicatorMaps(XkbDescPtr xkb)
return Success;
}
-void
+static void
XkbFreeIndicatorMaps(XkbDescPtr xkb)
{
if ((xkb!=NULL)&&(xkb->indicators!=NULL)) {
@@ -330,154 +330,3 @@ XkbFreeKeyboard(XkbDescPtr xkb,unsigned which,Bool freeAll)
_XkbFree(xkb);
return;
}
-
-/***====================================================================***/
-
-XkbDeviceLedInfoPtr
-XkbAddDeviceLedInfo(XkbDeviceInfoPtr devi,unsigned ledClass,unsigned ledId)
-{
-XkbDeviceLedInfoPtr devli;
-register int i;
-
- if ((!devi)||(!XkbSingleXIClass(ledClass))||(!XkbSingleXIId(ledId)))
- return NULL;
- for (i=0,devli=devi->leds;i<devi->num_leds;i++,devli++) {
- if ((devli->led_class==ledClass)&&(devli->led_id==ledId))
- return devli;
- }
- if (devi->num_leds>=devi->sz_leds) {
- XkbDeviceLedInfoRec *prev_leds = devi->leds;
-
- if (devi->sz_leds>0) devi->sz_leds*= 2;
- else devi->sz_leds= 1;
- devi->leds= _XkbTypedRealloc(devi->leds,devi->sz_leds,
- XkbDeviceLedInfoRec);
- if (!devi->leds) {
- _XkbFree(prev_leds);
- devi->sz_leds= devi->num_leds= 0;
- return NULL;
- }
- i= devi->num_leds;
- for (devli=&devi->leds[i];i<devi->sz_leds;i++,devli++) {
- bzero(devli,sizeof(XkbDeviceLedInfoRec));
- devli->led_class= XkbXINone;
- devli->led_id= XkbXINone;
- }
- }
- devli= &devi->leds[devi->num_leds++];
- bzero(devli,sizeof(XkbDeviceLedInfoRec));
- devli->led_class= ledClass;
- devli->led_id= ledId;
- return devli;
-}
-
-Status
-XkbResizeDeviceButtonActions(XkbDeviceInfoPtr devi,unsigned newTotal)
-{
- XkbAction *prev_btn_acts;
-
- if ((!devi)||(newTotal>255))
- return BadValue;
- if ((devi->btn_acts!=NULL)&&(newTotal==devi->num_btns))
- return Success;
- if (newTotal==0) {
- if (devi->btn_acts!=NULL) {
- _XkbFree(devi->btn_acts);
- devi->btn_acts= NULL;
- }
- devi->num_btns= 0;
- return Success;
- }
- prev_btn_acts = devi->btn_acts;
- devi->btn_acts= _XkbTypedRealloc(devi->btn_acts,newTotal,XkbAction);
- if (devi->btn_acts==NULL) {
- _XkbFree(prev_btn_acts);
- devi->num_btns= 0;
- return BadAlloc;
- }
- if (newTotal>devi->num_btns) {
- XkbAction *act;
- act= &devi->btn_acts[devi->num_btns];
- bzero((char *)act,(newTotal-devi->num_btns)*sizeof(XkbAction));
- }
- devi->num_btns= newTotal;
- return Success;
-}
-
-/*ARGSUSED*/
-XkbDeviceInfoPtr
-XkbAllocDeviceInfo(unsigned deviceSpec,unsigned nButtons,unsigned szLeds)
-{
-XkbDeviceInfoPtr devi;
-
- devi= _XkbTypedCalloc(1,XkbDeviceInfoRec);
- if (devi!=NULL) {
- devi->device_spec= deviceSpec;
- devi->has_own_state= False;
- devi->num_btns= 0;
- devi->btn_acts= NULL;
- if (nButtons>0) {
- devi->num_btns= nButtons;
- devi->btn_acts= _XkbTypedCalloc(nButtons,XkbAction);
- if (!devi->btn_acts) {
- _XkbFree(devi);
- return NULL;
- }
- }
- devi->dflt_kbd_fb= XkbXINone;
- devi->dflt_led_fb= XkbXINone;
- devi->num_leds= 0;
- devi->sz_leds= 0;
- devi->leds= NULL;
- if (szLeds>0) {
- devi->sz_leds= szLeds;
- devi->leds= _XkbTypedCalloc(szLeds,XkbDeviceLedInfoRec);
- if (!devi->leds) {
- if (devi->btn_acts)
- _XkbFree(devi->btn_acts);
- _XkbFree(devi);
- return NULL;
- }
- }
- }
- return devi;
-}
-
-
-void
-XkbFreeDeviceInfo(XkbDeviceInfoPtr devi,unsigned which,Bool freeDevI)
-{
- if (devi) {
- if (freeDevI) {
- which= XkbXI_AllDeviceFeaturesMask;
- if (devi->name) {
- _XkbFree(devi->name);
- devi->name= NULL;
- }
- }
- if ((which&XkbXI_ButtonActionsMask)&&(devi->btn_acts)) {
- _XkbFree(devi->btn_acts);
- devi->num_btns= 0;
- devi->btn_acts= NULL;
- }
- if ((which&XkbXI_IndicatorsMask)&&(devi->leds)) {
- register int i;
- if ((which&XkbXI_IndicatorsMask)==XkbXI_IndicatorsMask) {
- _XkbFree(devi->leds);
- devi->sz_leds= devi->num_leds= 0;
- devi->leds= NULL;
- }
- else {
- XkbDeviceLedInfoPtr devli;
- for (i=0,devli=devi->leds;i<devi->num_leds;i++,devli++) {
- if (which&XkbXI_IndicatorMapsMask)
- bzero((char *)&devli->maps[0],sizeof(devli->maps));
- else bzero((char *)&devli->names[0],sizeof(devli->names));
- }
- }
- }
- if (freeDevI)
- _XkbFree(devi);
- }
- return;
-}
diff --git a/nx-X11/programs/Xserver/xkb/XKBMAlloc.c b/nx-X11/programs/Xserver/xkb/XKBMAlloc.c
index dbd9b25a0..100e827b9 100644
--- a/nx-X11/programs/Xserver/xkb/XKBMAlloc.c
+++ b/nx-X11/programs/Xserver/xkb/XKBMAlloc.c
@@ -217,7 +217,7 @@ XkbServerMapPtr map;
/***====================================================================***/
-Status
+static Status
XkbCopyKeyType(XkbKeyTypePtr from,XkbKeyTypePtr into)
{
if ((!from)||(!into))
@@ -272,81 +272,6 @@ register int i,rtrn;
return Success;
}
-XkbKeyTypePtr
-XkbAddKeyType( XkbDescPtr xkb,
- Atom name,
- int map_count,
- Bool want_preserve,
- int num_lvls)
-{
-register int i;
-unsigned tmp;
-XkbKeyTypePtr type;
-XkbClientMapPtr map;
-
- if ((!xkb)||(num_lvls<1))
- return NULL;
- map= xkb->map;
- if ((map)&&(map->types)) {
- for (i=0;i<map->num_types;i++) {
- if (map->types[i].name==name) {
- Status status;
- status=XkbResizeKeyType(xkb,i,map_count,want_preserve,num_lvls);
- return (status==Success?&map->types[i]:NULL);
- }
- }
- }
- if ((!map)||(!map->types)||(!(map->num_types<XkbNumRequiredTypes))) {
- tmp= XkbNumRequiredTypes+1;
- if (XkbAllocClientMap(xkb,XkbKeyTypesMask,tmp)!=Success)
- return NULL;
- tmp= 0;
- if (map->num_types<=XkbKeypadIndex)
- tmp|= XkbKeypadMask;
- if (map->num_types<=XkbAlphabeticIndex)
- tmp|= XkbAlphabeticMask;
- if (map->num_types<=XkbTwoLevelIndex)
- tmp|= XkbTwoLevelMask;
- if (map->num_types<=XkbOneLevelIndex)
- tmp|= XkbOneLevelMask;
- if (XkbInitCanonicalKeyTypes(xkb,tmp,XkbNoModifier)==Success) {
- for (i=0;i<map->num_types;i++) {
- Status status;
- if (map->types[i].name!=name)
- continue;
- status=XkbResizeKeyType(xkb,i,map_count,want_preserve,num_lvls);
- return (status==Success?&map->types[i]:NULL);
- }
- }
- }
- if ((map->num_types<=map->size_types)&&
- (XkbAllocClientMap(xkb,XkbKeyTypesMask,map->num_types+1)!=Success)) {
- return NULL;
- }
- type= &map->types[map->num_types];
- map->num_types++;
- bzero((char *)type,sizeof(XkbKeyTypeRec));
- type->num_levels= num_lvls;
- type->map_count= map_count;
- type->name= name;
- if (map_count>0) {
- type->map= _XkbTypedCalloc(map_count,XkbKTMapEntryRec);
- if (!type->map) {
- map->num_types--;
- return NULL;
- }
- if (want_preserve) {
- type->preserve= _XkbTypedCalloc(map_count,XkbModsRec);
- if (!type->preserve) {
- _XkbFree(type->map);
- map->num_types--;
- return NULL;
- }
- }
- }
- return type;
-}
-
Status
XkbResizeKeyType( XkbDescPtr xkb,
int type_ndx,
diff --git a/nx-X11/programs/Xserver/xkb/XKBMisc.c b/nx-X11/programs/Xserver/xkb/XKBMisc.c
index 8e184256e..98f11a2be 100644
--- a/nx-X11/programs/Xserver/xkb/XKBMisc.c
+++ b/nx-X11/programs/Xserver/xkb/XKBMisc.c
@@ -40,101 +40,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
/***====================================================================***/
-#define mapSize(m) (sizeof(m)/sizeof(XkbKTMapEntryRec))
-static XkbKTMapEntryRec map2Level[]= {
- { True, ShiftMask, {1, ShiftMask, 0} }
-};
-
-static XkbKTMapEntryRec mapAlpha[]= {
- { True, ShiftMask, { 1, ShiftMask, 0 } },
- { True, LockMask, { 0, LockMask, 0 } }
-};
-
-static XkbModsRec preAlpha[]= {
- { 0, 0, 0 },
- { LockMask, LockMask, 0 }
-};
-
-#define NL_VMOD_MASK 0
-static XkbKTMapEntryRec mapKeypad[]= {
- { True, ShiftMask, { 1, ShiftMask, 0 } },
- { False, 0, { 1, 0, NL_VMOD_MASK } }
-};
-
-static XkbKeyTypeRec canonicalTypes[XkbNumRequiredTypes] = {
- { { 0, 0, 0 },
- 1, /* num_levels */
- 0, /* map_count */
- NULL, NULL,
- None, NULL
- },
- { { ShiftMask, ShiftMask, 0 },
- 2, /* num_levels */
- mapSize(map2Level), /* map_count */
- map2Level, NULL,
- None, NULL
- },
- { { ShiftMask|LockMask, ShiftMask|LockMask, 0 },
- 2, /* num_levels */
- mapSize(mapAlpha), /* map_count */
- mapAlpha, preAlpha,
- None, NULL
- },
- { { ShiftMask, ShiftMask, NL_VMOD_MASK },
- 2, /* num_levels */
- mapSize(mapKeypad), /* map_count */
- mapKeypad, NULL,
- None, NULL
- }
-};
-
-Status
-XkbInitCanonicalKeyTypes(XkbDescPtr xkb,unsigned which,int keypadVMod)
-{
-XkbClientMapPtr map;
-XkbKeyTypePtr from,to;
-Status rtrn;
-
- if (!xkb)
- return BadMatch;
- rtrn= XkbAllocClientMap(xkb,XkbKeyTypesMask,XkbNumRequiredTypes);
- if (rtrn!=Success)
- return rtrn;
- map= xkb->map;
- if ((which&XkbAllRequiredTypes)==0)
- return Success;
- rtrn= Success;
- from= canonicalTypes;
- to= map->types;
- if (which&XkbOneLevelMask)
- rtrn= XkbCopyKeyType(&from[XkbOneLevelIndex],&to[XkbOneLevelIndex]);
- if ((which&XkbTwoLevelMask)&&(rtrn==Success))
- rtrn= XkbCopyKeyType(&from[XkbTwoLevelIndex],&to[XkbTwoLevelIndex]);
- if ((which&XkbAlphabeticMask)&&(rtrn==Success))
- rtrn= XkbCopyKeyType(&from[XkbAlphabeticIndex],&to[XkbAlphabeticIndex]);
- if ((which&XkbKeypadMask)&&(rtrn==Success)) {
- XkbKeyTypePtr type;
- rtrn= XkbCopyKeyType(&from[XkbKeypadIndex],&to[XkbKeypadIndex]);
- type= &to[XkbKeypadIndex];
- if ((keypadVMod>=0)&&(keypadVMod<XkbNumVirtualMods)&&(rtrn==Success)) {
- type->mods.vmods= (1<<keypadVMod);
- type->map[0].active= True;
- type->map[0].mods.mask= ShiftMask;
- type->map[0].mods.real_mods= ShiftMask;
- type->map[0].mods.vmods= 0;
- type->map[0].level= 1;
- type->map[1].active= False;
- type->map[1].mods.mask= 0;
- type->map[1].mods.real_mods= 0;
- type->map[1].mods.vmods= (1<<keypadVMod);
- type->map[1].level= 1;
- }
- }
- return Success;
-}
-
-/***====================================================================***/
-
#define CORE_SYM(i) (i<map_width?core_syms[i]:NoSymbol)
#define XKB_OFFSET(g,l) (((g)*groupsWidth)+(l))
@@ -552,88 +457,6 @@ unsigned changed,tmp;
return True;
}
-Bool
-XkbUpdateMapFromCore( XkbDescPtr xkb,
- KeyCode first_key,
- int num_keys,
- int map_width,
- KeySym * core_keysyms,
- XkbChangesPtr changes)
-{
-register int key,last_key;
-KeySym * syms;
-
- syms= &core_keysyms[(first_key-xkb->min_key_code)*map_width];
- if (changes) {
- if (changes->map.changed&XkbKeySymsMask) {
- _XkbAddKeyChange(&changes->map.first_key_sym,
- &changes->map.num_key_syms,first_key);
- if (num_keys>1) {
- _XkbAddKeyChange(&changes->map.first_key_sym,
- &changes->map.num_key_syms,
- first_key+num_keys-1);
- }
- }
- else {
- changes->map.changed|= XkbKeySymsMask;
- changes->map.first_key_sym= first_key;
- changes->map.num_key_syms= num_keys;
- }
- }
- last_key= first_key+num_keys-1;
- for (key=first_key;key<=last_key;key++,syms+= map_width) {
- XkbMapChangesPtr mc;
- unsigned explicit;
- KeySym tsyms[XkbMaxSymsPerKey];
- int types[XkbNumKbdGroups];
- int nG;
-
- explicit= xkb->server->explicit[key]&XkbExplicitKeyTypesMask;
- types[XkbGroup1Index]= XkbKeyKeyTypeIndex(xkb,key,XkbGroup1Index);
- types[XkbGroup2Index]= XkbKeyKeyTypeIndex(xkb,key,XkbGroup2Index);
- types[XkbGroup3Index]= XkbKeyKeyTypeIndex(xkb,key,XkbGroup3Index);
- types[XkbGroup4Index]= XkbKeyKeyTypeIndex(xkb,key,XkbGroup4Index);
- nG= XkbKeyTypesForCoreSymbols(xkb,map_width,syms,explicit,types,tsyms);
- if (changes)
- mc= &changes->map;
- else mc= NULL;
- XkbChangeTypesOfKey(xkb,key,nG,XkbAllGroupsMask,types,mc);
- memcpy((char *)XkbKeySymsPtr(xkb,key),(char *)tsyms,
- XkbKeyNumSyms(xkb,key)*sizeof(KeySym));
- XkbApplyCompatMapToKey(xkb,key,changes);
- }
-
- if ((xkb->server->vmods!=NULL)&&(xkb->map->modmap!=NULL)&&(changes)&&
- (changes->map.changed&(XkbVirtualModMapMask|XkbModifierMapMask))) {
- unsigned char newVMods[XkbNumVirtualMods];
- register unsigned bit,i;
- unsigned present;
-
- bzero(newVMods,XkbNumVirtualMods);
- present= 0;
- for (key=xkb->min_key_code;key<=xkb->max_key_code;key++) {
- if (xkb->server->vmodmap[key]==0)
- continue;
- for (i=0,bit=1;i<XkbNumVirtualMods;i++,bit<<=1) {
- if (bit&xkb->server->vmodmap[key]) {
- present|= bit;
- newVMods[i]|= xkb->map->modmap[key];
- }
- }
- }
- for (i=0,bit=1;i<XkbNumVirtualMods;i++,bit<<=1) {
- if ((bit&present)&&(newVMods[i]!=xkb->server->vmods[i])) {
- changes->map.changed|= XkbVirtualModsMask;
- changes->map.vmods|= bit;
- xkb->server->vmods[i]= newVMods[i];
- }
- }
- }
- if (changes && (changes->map.changed&XkbVirtualModsMask))
- XkbApplyVirtualModChanges(xkb,changes->map.vmods,changes);
- return True;
-}
-
Status
XkbChangeTypesOfKey( XkbDescPtr xkb,
int key,
@@ -782,7 +605,7 @@ register unsigned mask;
/***====================================================================***/
-Bool
+static Bool
XkbUpdateActionVirtualMods(XkbDescPtr xkb,XkbAction *act,unsigned changed)
{
unsigned int tmp;
@@ -808,7 +631,7 @@ unsigned int tmp;
return False;
}
-void
+static void
XkbUpdateKeyTypeVirtualMods( XkbDescPtr xkb,
XkbKeyTypePtr type,
unsigned int changed,
diff --git a/nx-X11/programs/Xserver/xkb/ddxLEDs.c b/nx-X11/programs/Xserver/xkb/ddxLEDs.c
index 4fe74bbd6..dca2fd16d 100644
--- a/nx-X11/programs/Xserver/xkb/ddxLEDs.c
+++ b/nx-X11/programs/Xserver/xkb/ddxLEDs.c
@@ -38,7 +38,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <xkbsrv.h>
#include <nx-X11/extensions/XI.h>
-void
+static void
XkbDDXUpdateIndicators(DeviceIntPtr dev,CARD32 new)
{
dev->kbdfeed->ctrl.leds= new;
diff --git a/nx-X11/programs/Xserver/xkb/ddxLoad.c b/nx-X11/programs/Xserver/xkb/ddxLoad.c
index 5f24e9ccc..83db4350c 100644
--- a/nx-X11/programs/Xserver/xkb/ddxLoad.c
+++ b/nx-X11/programs/Xserver/xkb/ddxLoad.c
@@ -520,7 +520,7 @@ OutputDirectory(
}
}
-Bool
+static Bool
XkbDDXCompileNamedKeymap( XkbDescPtr xkb,
XkbComponentNamesPtr names,
char * nameRtrn,
@@ -610,7 +610,7 @@ char *cmd = NULL,file[PATH_MAX],xkm_output_dir[PATH_MAX],*map,*outFile;
return False;
}
-Bool
+static Bool
XkbDDXCompileKeymapByNames( XkbDescPtr xkb,
XkbComponentNamesPtr names,
unsigned want,
@@ -762,7 +762,7 @@ char tmpname[PATH_MAX];
return False;
}
-FILE *
+static FILE *
XkbDDXOpenConfigFile(char *mapName,char *fileNameRtrn,int fileNameRtrnLen)
{
char buf[PATH_MAX],xkm_output_dir[PATH_MAX];
diff --git a/nx-X11/programs/Xserver/xkb/xkb.c b/nx-X11/programs/Xserver/xkb/xkb.c
index 987ebcd7b..2138497b7 100644
--- a/nx-X11/programs/Xserver/xkb/xkb.c
+++ b/nx-X11/programs/Xserver/xkb/xkb.c
@@ -41,14 +41,12 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <nx-X11/extensions/XI.h>
int XkbEventBase;
- int XkbErrorBase;
+static int XkbErrorBase;
int XkbReqCode;
- int XkbKeyboardErrorCode;
-Atom xkbONE_LEVEL;
-Atom xkbTWO_LEVEL;
-Atom xkbKEYPAD;
+static int XkbKeyboardErrorCode;
CARD32 xkbDebugFlags = 0;
-CARD32 xkbDebugCtrls = 0;
+static CARD32 xkbDebugCtrls = 0;
+
#ifndef XKB_SRV_UNSUPPORTED_XI_FEATURES
#define XKB_SRV_UNSUPPORTED_XI_FEATURES XkbXI_KeyboardsMask
@@ -56,7 +54,7 @@ CARD32 xkbDebugCtrls = 0;
unsigned XkbXIUnsupported= XKB_SRV_UNSUPPORTED_XI_FEATURES;
-RESTYPE RT_XKBCLIENT;
+static RESTYPE RT_XKBCLIENT;
/***====================================================================***/
@@ -837,51 +835,6 @@ ProcXkbSetControls(ClientPtr client)
return client->noClientException;
}
-int
-XkbSetRepeatRate(DeviceIntPtr dev,int timeout,int interval,int major,int minor)
-{
-int changed= 0;
-XkbControlsRec old,*xkb;
-
- if ((!dev)||(!dev->key)||(!dev->key->xkbInfo))
- return 0;
- xkb= dev->key->xkbInfo->desc->ctrls;
- old= *xkb;
- if ((timeout!=0) && (xkb->repeat_delay!=timeout)) {
- xkb->repeat_delay= timeout;
- changed++;
- }
- if ((interval!=0) && (xkb->repeat_interval!=interval)) {
- xkb->repeat_interval= interval;
- changed++;
- }
- if (changed) {
- xkbControlsNotify cn;
- XkbDDXChangeControls(dev,&old,xkb);
- if (XkbComputeControlsNotify(dev,&old,xkb,&cn,False)) {
- cn.keycode= 0;
- cn.eventType = 0;
- cn.requestMajor = major;
- cn.requestMinor = minor;
- XkbSendControlsNotify(dev,&cn);
- }
- }
- return 1;
-}
-
-int
-XkbGetRepeatRate(DeviceIntPtr dev,int *timeout,int *interval)
-{
-XkbControlsPtr xkb;
-
- if ((!dev)||(!dev->key)||(!dev->key->xkbInfo))
- return 0;
- xkb= dev->key->xkbInfo->desc->ctrls;
- if (timeout) *timeout= xkb->repeat_delay;
- if (interval) *interval= xkb->repeat_interval;
- return 1;
-}
-
/***====================================================================***/
static int
@@ -2748,7 +2701,7 @@ ProcXkbGetIndicatorState(ClientPtr client)
/***====================================================================***/
-Status
+static Status
XkbComputeGetIndicatorMapReplySize(
XkbIndicatorPtr indicators,
xkbGetIndicatorMapReply *rep)
@@ -2765,7 +2718,7 @@ int nIndicators;
return Success;
}
-int
+static int
XkbSendIndicatorMap( ClientPtr client,
XkbIndicatorPtr indicators,
xkbGetIndicatorMapReply * rep)
diff --git a/nx-X11/programs/Xserver/xkb/xkb.h b/nx-X11/programs/Xserver/xkb/xkb.h
index 7bf3a9c61..19a93b20e 100644
--- a/nx-X11/programs/Xserver/xkb/xkb.h
+++ b/nx-X11/programs/Xserver/xkb/xkb.h
@@ -25,46 +25,7 @@ extern int ProcXkbGetDeviceInfo(ClientPtr client);
extern int ProcXkbSetDeviceInfo(ClientPtr client);
extern int ProcXkbSetDebuggingFlags(ClientPtr client);
-extern int XkbSetRepeatRate(DeviceIntPtr dev, int timeout, int interval, int major, int minor);
-extern int XkbGetRepeatRate(DeviceIntPtr dev, int *timeout, int *interval);
extern void XkbExtensionInit(void);
-extern Status XkbComputeGetIndicatorMapReplySize(
- XkbIndicatorPtr indicators,
- xkbGetIndicatorMapReply *rep);
-extern int XkbSendIndicatorMap(
- ClientPtr client,
- XkbIndicatorPtr indicators,
- xkbGetIndicatorMapReply *rep);
-
-extern void XkbComputeCompatState(XkbSrvInfoPtr xkbi);
-extern void XkbSetPhysicalLockingKey(DeviceIntPtr dev, unsigned key);
-
extern Bool XkbFilterEvents(ClientPtr pClient, int nEvents, xEvent *xE);
-
-extern Bool XkbApplyLEDChangeToKeyboard(
- XkbSrvInfoPtr xkbi,
- XkbIndicatorMapPtr map,
- Bool on,
- XkbChangesPtr change);
-
-extern Bool XkbWriteRulesProp(ClientPtr client, void * closure);
-
-extern XkbAction XkbGetButtonAction(DeviceIntPtr kbd, DeviceIntPtr dev, int button);
-
-/* extern Status XkbMergeFile(XkbDescPtr xkb, XkbFileInfo finfo); */
-
-extern Bool XkbDDXCompileNamedKeymap(
- XkbDescPtr xkb,
- XkbComponentNamesPtr names,
- char * nameRtrn,
- int nameRtrnLen);
-
-extern Bool XkbDDXCompileKeymapByNames(
- XkbDescPtr xkb,
- XkbComponentNamesPtr names,
- unsigned want,
- unsigned need,
- char * nameRtrn,
- int nameRtrnLen);
diff --git a/nx-X11/programs/Xserver/xkb/xkbAccessX.c b/nx-X11/programs/Xserver/xkb/xkbAccessX.c
index 4069ac209..cfd42334c 100644
--- a/nx-X11/programs/Xserver/xkb/xkbAccessX.c
+++ b/nx-X11/programs/Xserver/xkb/xkbAccessX.c
@@ -48,9 +48,9 @@ void * XkbLastRepeatEvent= NULL;
unsigned short XkbDfltAccessXTimeout= 120;
unsigned int XkbDfltAccessXTimeoutMask= DFLT_TIMEOUT_CTRLS;
-unsigned int XkbDfltAccessXTimeoutValues= 0;
-unsigned int XkbDfltAccessXTimeoutOptionsMask= DFLT_TIMEOUT_OPTS;
-unsigned int XkbDfltAccessXTimeoutOptionsValues= 0;
+static unsigned int XkbDfltAccessXTimeoutValues= 0;
+static unsigned int XkbDfltAccessXTimeoutOptionsMask= DFLT_TIMEOUT_OPTS;
+static unsigned int XkbDfltAccessXTimeoutOptionsValues= 0;
unsigned int XkbDfltAccessXFeedback= XkbAccessXFeedbackMask;
unsigned short XkbDfltAccessXOptions= XkbAX_AllOptionsMask & ~(XkbAX_IndicatorFBMask|XkbAX_SKReleaseFBMask|XkbAX_SKRejectFBMask);
diff --git a/nx-X11/programs/Xserver/xkb/xkbActions.c b/nx-X11/programs/Xserver/xkb/xkbActions.c
index 3dd09e08d..2bb41b928 100644
--- a/nx-X11/programs/Xserver/xkb/xkbActions.c
+++ b/nx-X11/programs/Xserver/xkb/xkbActions.c
@@ -40,9 +40,9 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <ctype.h>
static unsigned int _xkbServerGeneration;
-int xkbDevicePrivateIndex = -1;
+static int xkbDevicePrivateIndex = -1;
-void
+static void
xkbUnwrapProc(DeviceIntPtr device, DeviceHandleProc proc,
void * data)
{
@@ -215,7 +215,7 @@ static XkbAction fake;
return fake;
}
-XkbAction
+static XkbAction
XkbGetButtonAction(DeviceIntPtr kbd,DeviceIntPtr dev,int button)
{
XkbAction fake;
diff --git a/nx-X11/programs/Xserver/xkb/xkbDflts.h b/nx-X11/programs/Xserver/xkb/xkbDflts.h
index c3c28524b..575814baa 100644
--- a/nx-X11/programs/Xserver/xkb/xkbDflts.h
+++ b/nx-X11/programs/Xserver/xkb/xkbDflts.h
@@ -467,43 +467,6 @@ static XkbCompatMapRec compatMap= {
num_dfltSI, num_dfltSI
};
-static XkbIndicatorRec indicators= {
- 0x0,
- {
- { 0x80, 0, 0x00, XkbIM_UseEffective, { LockMask, LockMask, 0 }, 0 },
- { 0x80, 0, 0x00, XkbIM_UseEffective, { 0, 0, vmod_NumLockMask }, 0 },
- { 0x80, 0, 0x00, XkbIM_UseLocked, { ShiftMask, ShiftMask, 0 }, 0 },
- { 0x80, 0, 0x00, 0, { 0, 0, 0 }, XkbMouseKeysMask },
- { 0x80, 0, 0x00, XkbIM_UseLocked, { 0, 0, vmod_ScrollLockMask }, 0 },
- { 0x80, XkbIM_UseEffective, 0xfe, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 },
- { 0x00, 0, 0x00, 0, { 0, 0, 0 }, 0 }
- }
-};
static void
initIndicatorNames(DPYTYPE dpy,XkbDescPtr xkb)
{
diff --git a/nx-X11/programs/Xserver/xkb/xkbEvents.c b/nx-X11/programs/Xserver/xkb/xkbEvents.c
index 60c26ff1f..d6408a699 100644
--- a/nx-X11/programs/Xserver/xkb/xkbEvents.c
+++ b/nx-X11/programs/Xserver/xkb/xkbEvents.c
@@ -321,7 +321,7 @@ Time time = 0;
return;
}
-void
+static void
XkbSendIndicatorNotify(DeviceIntPtr kbd,int xkbType,xkbIndicatorNotify *pEv)
{
int initialized;
@@ -961,48 +961,6 @@ XkbInterestPtr interest;
}
int
-XkbRemoveClient(DevicePtr inDev,ClientPtr client)
-{
-XkbSrvInfoPtr xkbi;
-DeviceIntPtr dev = (DeviceIntPtr)inDev;
-XkbInterestPtr interest;
-unsigned long autoCtrls,autoValues;
-Bool found;
-
- found= False;
- autoCtrls= autoValues= 0;
- if ( dev->xkb_interest ) {
- interest = dev->xkb_interest;
- if (interest && (interest->client==client)){
- dev->xkb_interest = interest->next;
- autoCtrls= interest->autoCtrls;
- autoValues= interest->autoCtrlValues;
- _XkbFree(interest);
- found= True;
- }
- while ((!found)&&(interest->next)) {
- if (interest->next->client==client) {
- XkbInterestPtr victim = interest->next;
- interest->next = victim->next;
- autoCtrls= victim->autoCtrls;
- autoValues= victim->autoCtrlValues;
- _XkbFree(victim);
- found= True;
- }
- interest = interest->next;
- }
- }
- if (found && autoCtrls && dev->key && dev->key->xkbInfo ) {
- XkbEventCauseRec cause;
-
- xkbi= dev->key->xkbInfo;
- XkbSetCauseXkbReq(&cause,X_kbPerClientFlags,client);
- XkbEnableDisableControls(xkbi,autoCtrls,autoValues,NULL,&cause);
- }
- return found;
-}
-
-int
XkbRemoveResourceClient(DevicePtr inDev,XID id)
{
XkbSrvInfoPtr xkbi;
diff --git a/nx-X11/programs/Xserver/xkb/xkbInit.c b/nx-X11/programs/Xserver/xkb/xkbInit.c
index 53d8f4d7e..f39e47a87 100644
--- a/nx-X11/programs/Xserver/xkb/xkbInit.c
+++ b/nx-X11/programs/Xserver/xkb/xkbInit.c
@@ -115,7 +115,7 @@ typedef struct _SrvXkmInfo {
char * XkbBaseDirectory= XKB_BASE_DIRECTORY;
char * XkbBinDirectory= XKB_BIN_DIRECTORY;
-int XkbWantAccessX= 0;
+static int XkbWantAccessX= 0;
static XkbFileInfo * _XkbInitFileInfo= NULL;
static Bool rulesDefined= False;
@@ -125,20 +125,17 @@ static char * XkbLayoutDflt= NULL;
static char * XkbVariantDflt= NULL;
static char * XkbOptionsDflt= NULL;
-char * XkbModelUsed= NULL;
-char * XkbLayoutUsed= NULL;
-char * XkbVariantUsed= NULL;
-char * XkbOptionsUsed= NULL;
+static char * XkbModelUsed= NULL;
+static char * XkbLayoutUsed= NULL;
+static char * XkbVariantUsed= NULL;
+static char * XkbOptionsUsed= NULL;
-int _XkbClientMajor= XkbMajorVersion;
-int _XkbClientMinor= XkbMinorVersion;
-
-Bool noXkbExtension= XKB_DFLT_DISABLED;
-Bool XkbWantRulesProp= XKB_DFLT_RULES_PROP;
+Bool noXkbExtension= XKB_DFLT_DISABLED;
+static Bool XkbWantRulesProp= XKB_DFLT_RULES_PROP;
/***====================================================================***/
-char *
+static char *
XkbGetRulesDflts(XkbRF_VarDefsPtr defs)
{
if (XkbModelDflt) defs->model= XkbModelDflt;
@@ -152,7 +149,7 @@ XkbGetRulesDflts(XkbRF_VarDefsPtr defs)
return (rulesDefined?XkbRulesFile:XKB_DFLT_RULES_FILE);
}
-Bool
+static Bool
XkbWriteRulesProp(ClientPtr client, void * closure)
{
int len,out;
@@ -221,7 +218,7 @@ char * pval;
return True;
}
-void
+static void
XkbSetRulesUsed(XkbRF_VarDefsPtr defs)
{
if (XkbModelUsed)
@@ -300,9 +297,6 @@ XkbSetRulesDflts(char *rulesFile,char *model,char *layout,
#include "xkbDflts.h"
-/* A dummy to keep the compiler quiet */
-void * xkbBogus = &indicators;
-
static Bool
XkbInitKeyTypes(XkbDescPtr xkb,SrvXkmInfo *file)
{
diff --git a/nx-X11/programs/Xserver/xkb/xkbLEDs.c b/nx-X11/programs/Xserver/xkb/xkbLEDs.c
index a93d69f3f..75e8ef3ff 100644
--- a/nx-X11/programs/Xserver/xkb/xkbLEDs.c
+++ b/nx-X11/programs/Xserver/xkb/xkbLEDs.c
@@ -90,7 +90,7 @@ XkbSrvLedInfoPtr sli;
* when the indicator described by 'map' is turned on or off. The
* extent of the changes is reported in change, which must be defined.
*/
-Bool
+static Bool
XkbApplyLEDChangeToKeyboard( XkbSrvInfoPtr xkbi,
XkbIndicatorMapPtr map,
Bool on,
@@ -166,6 +166,161 @@ XkbStatePtr state;
return (stateChange || ctrlChange);
}
+ /*
+ * Bool
+ * ComputeAutoState(map,state,ctrls)
+ *
+ * This function reports the effect of applying the specified
+ * indicator map given the specified state and controls, as
+ * described in section 9.2 of the XKB protocol specification.
+ */
+
+static Bool
+ComputeAutoState( XkbIndicatorMapPtr map,
+ XkbStatePtr state,
+ XkbControlsPtr ctrls)
+{
+Bool on;
+CARD8 mods,group;
+
+ on= False;
+ mods= group= 0;
+ if (map->which_mods&XkbIM_UseAnyMods) {
+ if (map->which_mods&XkbIM_UseBase)
+ mods|= state->base_mods;
+ if (map->which_mods&XkbIM_UseLatched)
+ mods|= state->latched_mods;
+ if (map->which_mods&XkbIM_UseLocked)
+ mods|= state->locked_mods;
+ if (map->which_mods&XkbIM_UseEffective)
+ mods|= state->mods;
+ if (map->which_mods&XkbIM_UseCompat)
+ mods|= state->compat_state;
+ on = ((map->mods.mask&mods)!=0);
+ on = on||((mods==0)&&(map->mods.mask==0)&&(map->mods.vmods==0));
+ }
+ if (map->which_groups&XkbIM_UseAnyGroup) {
+ if (map->which_groups&XkbIM_UseBase)
+ group|= (1L << state->base_group);
+ if (map->which_groups&XkbIM_UseLatched)
+ group|= (1L << state->latched_group);
+ if (map->which_groups&XkbIM_UseLocked)
+ group|= (1L << state->locked_group);
+ if (map->which_groups&XkbIM_UseEffective)
+ group|= (1L << state->group);
+ on = on||(((map->groups&group)!=0)||(map->groups==0));
+ }
+ if (map->ctrls)
+ on = on||(ctrls->enabled_ctrls&map->ctrls);
+ return on;
+}
+
+static void
+XkbUpdateLedAutoState( DeviceIntPtr dev,
+ XkbSrvLedInfoPtr sli,
+ unsigned maps_to_check,
+ xkbExtensionDeviceNotify * ed,
+ XkbChangesPtr changes,
+ XkbEventCausePtr cause)
+{
+DeviceIntPtr kbd;
+XkbStatePtr state;
+XkbControlsPtr ctrls;
+XkbChangesRec my_changes;
+xkbExtensionDeviceNotify my_ed;
+register unsigned i,bit,affected;
+register XkbIndicatorMapPtr map;
+unsigned oldState;
+
+ if ((maps_to_check==0)||(sli->maps==NULL)||(sli->mapsPresent==0))
+ return;
+
+ if (dev->key && dev->key->xkbInfo)
+ kbd= dev;
+ else kbd= (DeviceIntPtr)LookupKeyboardDevice();
+
+ state= &kbd->key->xkbInfo->state;
+ ctrls= kbd->key->xkbInfo->desc->ctrls;
+ affected= maps_to_check;
+ oldState= sli->effectiveState;
+ sli->autoState&= ~affected;
+ for (i=0,bit=1;(i<XkbNumIndicators)&&(affected);i++,bit<<=1) {
+ if ((affected&bit)==0)
+ continue;
+ affected&= ~bit;
+ map= &sli->maps[i];
+ if((!(map->flags&XkbIM_NoAutomatic))&&ComputeAutoState(map,state,ctrls))
+ sli->autoState|= bit;
+ }
+ sli->effectiveState= (sli->autoState|sli->explicitState);
+ affected= sli->effectiveState^oldState;
+ if (affected==0)
+ return;
+
+ if (ed==NULL) {
+ ed= &my_ed;
+ bzero((char *)ed,sizeof(xkbExtensionDeviceNotify));
+ }
+ else if ((ed->reason&XkbXI_IndicatorsMask)&&
+ ((ed->ledClass!=sli->class)||(ed->ledID!=sli->id))) {
+ XkbFlushLedEvents(dev,kbd,sli,ed,changes,cause);
+ }
+
+ if ((kbd==dev)&&(sli->flags&XkbSLI_IsDefault)) {
+ if (changes==NULL) {
+ changes= &my_changes;
+ bzero((char *)changes,sizeof(XkbChangesRec));
+ }
+ changes->indicators.state_changes|= affected;
+ }
+
+ ed->reason|= (XkbXI_IndicatorStateMask&(~XkbXIUnsupported));
+ ed->ledClass= sli->class;
+ ed->ledID= sli->id;
+ ed->ledsDefined= sli->namesPresent|sli->mapsPresent;
+ ed->ledState= sli->effectiveState;
+ ed->unsupported|= XkbXIUnsupported&XkbXI_IndicatorStateMask;
+ ed->supported= XkbXI_AllFeaturesMask&(~XkbXIUnsupported);
+
+ if (changes!=&my_changes) changes= NULL;
+ if (ed!=&my_ed) ed= NULL;
+ if (changes || ed)
+ XkbFlushLedEvents(dev,kbd,sli,ed,changes,cause);
+ return;
+}
+
+static void
+XkbUpdateAllDeviceIndicators(XkbChangesPtr changes,XkbEventCausePtr cause)
+{
+DeviceIntPtr edev;
+XkbSrvLedInfoPtr sli;
+
+ for (edev=inputInfo.devices;edev!=NULL;edev=edev->next) {
+ if (edev->kbdfeed) {
+ KbdFeedbackPtr kf;
+ for (kf=edev->kbdfeed;kf!=NULL;kf=kf->next) {
+ if ((kf->xkb_sli==NULL)||(kf->xkb_sli->maps==NULL))
+ continue;
+ sli= kf->xkb_sli;
+ XkbUpdateLedAutoState(edev,sli,sli->mapsPresent,NULL,
+ changes,cause);
+ }
+ }
+ if (edev->leds) {
+ LedFeedbackPtr lf;
+ for (lf=edev->leds;lf!=NULL;lf=lf->next) {
+ if ((lf->xkb_sli==NULL)||(lf->xkb_sli->maps==NULL))
+ continue;
+ sli= lf->xkb_sli;
+ XkbUpdateLedAutoState(edev,sli,sli->mapsPresent,NULL,
+ changes,cause);
+ }
+ }
+ }
+ return;
+}
+
+
/***====================================================================***/
/*
@@ -228,57 +383,6 @@ unsigned side_affected;
/***====================================================================***/
/*
- * Bool
- * ComputeAutoState(map,state,ctrls)
- *
- * This function reports the effect of applying the specified
- * indicator map given the specified state and controls, as
- * described in section 9.2 of the XKB protocol specification.
- */
-
-static Bool
-ComputeAutoState( XkbIndicatorMapPtr map,
- XkbStatePtr state,
- XkbControlsPtr ctrls)
-{
-Bool on;
-CARD8 mods,group;
-
- on= False;
- mods= group= 0;
- if (map->which_mods&XkbIM_UseAnyMods) {
- if (map->which_mods&XkbIM_UseBase)
- mods|= state->base_mods;
- if (map->which_mods&XkbIM_UseLatched)
- mods|= state->latched_mods;
- if (map->which_mods&XkbIM_UseLocked)
- mods|= state->locked_mods;
- if (map->which_mods&XkbIM_UseEffective)
- mods|= state->mods;
- if (map->which_mods&XkbIM_UseCompat)
- mods|= state->compat_state;
- on = ((map->mods.mask&mods)!=0);
- on = on||((mods==0)&&(map->mods.mask==0)&&(map->mods.vmods==0));
- }
- if (map->which_groups&XkbIM_UseAnyGroup) {
- if (map->which_groups&XkbIM_UseBase)
- group|= (1L << state->base_group);
- if (map->which_groups&XkbIM_UseLatched)
- group|= (1L << state->latched_group);
- if (map->which_groups&XkbIM_UseLocked)
- group|= (1L << state->locked_group);
- if (map->which_groups&XkbIM_UseEffective)
- group|= (1L << state->group);
- on = on||(((map->groups&group)!=0)||(map->groups==0));
- }
- if (map->ctrls)
- on = on||(ctrls->enabled_ctrls&map->ctrls);
- return on;
-}
-
-/***====================================================================***/
-
- /*
* void
* XkbUpdateIndicators(dev,update,check_edevs,changes,cause)
*
@@ -313,39 +417,6 @@ XkbSrvLedInfoPtr sli;
/***====================================================================***/
-void
-XkbUpdateAllDeviceIndicators(XkbChangesPtr changes,XkbEventCausePtr cause)
-{
-DeviceIntPtr edev;
-XkbSrvLedInfoPtr sli;
-
- for (edev=inputInfo.devices;edev!=NULL;edev=edev->next) {
- if (edev->kbdfeed) {
- KbdFeedbackPtr kf;
- for (kf=edev->kbdfeed;kf!=NULL;kf=kf->next) {
- if ((kf->xkb_sli==NULL)||(kf->xkb_sli->maps==NULL))
- continue;
- sli= kf->xkb_sli;
- XkbUpdateLedAutoState(edev,sli,sli->mapsPresent,NULL,
- changes,cause);
-
- }
- }
- if (edev->leds) {
- LedFeedbackPtr lf;
- for (lf=edev->leds;lf!=NULL;lf=lf->next) {
- if ((lf->xkb_sli==NULL)||(lf->xkb_sli->maps==NULL))
- continue;
- sli= lf->xkb_sli;
- XkbUpdateLedAutoState(edev,sli,sli->mapsPresent,NULL,
- changes,cause);
-
- }
- }
- }
- return;
-}
-
/***====================================================================***/
/*
@@ -857,208 +928,3 @@ Bool kb_changed;
}
/***====================================================================***/
-
-void
-XkbUpdateLedAutoState( DeviceIntPtr dev,
- XkbSrvLedInfoPtr sli,
- unsigned maps_to_check,
- xkbExtensionDeviceNotify * ed,
- XkbChangesPtr changes,
- XkbEventCausePtr cause)
-{
-DeviceIntPtr kbd;
-XkbStatePtr state;
-XkbControlsPtr ctrls;
-XkbChangesRec my_changes;
-xkbExtensionDeviceNotify my_ed;
-register unsigned i,bit,affected;
-register XkbIndicatorMapPtr map;
-unsigned oldState;
-
- if ((maps_to_check==0)||(sli->maps==NULL)||(sli->mapsPresent==0))
- return;
-
- if (dev->key && dev->key->xkbInfo)
- kbd= dev;
- else kbd= (DeviceIntPtr)LookupKeyboardDevice();
-
- state= &kbd->key->xkbInfo->state;
- ctrls= kbd->key->xkbInfo->desc->ctrls;
- affected= maps_to_check;
- oldState= sli->effectiveState;
- sli->autoState&= ~affected;
- for (i=0,bit=1;(i<XkbNumIndicators)&&(affected);i++,bit<<=1) {
- if ((affected&bit)==0)
- continue;
- affected&= ~bit;
- map= &sli->maps[i];
- if((!(map->flags&XkbIM_NoAutomatic))&&ComputeAutoState(map,state,ctrls))
- sli->autoState|= bit;
- }
- sli->effectiveState= (sli->autoState|sli->explicitState);
- affected= sli->effectiveState^oldState;
- if (affected==0)
- return;
-
- if (ed==NULL) {
- ed= &my_ed;
- bzero((char *)ed,sizeof(xkbExtensionDeviceNotify));
- }
- else if ((ed->reason&XkbXI_IndicatorsMask)&&
- ((ed->ledClass!=sli->class)||(ed->ledID!=sli->id))) {
- XkbFlushLedEvents(dev,kbd,sli,ed,changes,cause);
- }
-
- if ((kbd==dev)&&(sli->flags&XkbSLI_IsDefault)) {
- if (changes==NULL) {
- changes= &my_changes;
- bzero((char *)changes,sizeof(XkbChangesRec));
- }
- changes->indicators.state_changes|= affected;
- }
-
- ed->reason|= (XkbXI_IndicatorStateMask&(~XkbXIUnsupported));
- ed->ledClass= sli->class;
- ed->ledID= sli->id;
- ed->ledsDefined= sli->namesPresent|sli->mapsPresent;
- ed->ledState= sli->effectiveState;
- ed->unsupported|= XkbXIUnsupported&XkbXI_IndicatorStateMask;
- ed->supported= XkbXI_AllFeaturesMask&(~XkbXIUnsupported);
-
- if (changes!=&my_changes) changes= NULL;
- if (ed!=&my_ed) ed= NULL;
- if (changes || ed)
- XkbFlushLedEvents(dev,kbd,sli,ed,changes,cause);
- return;
-}
-
-/***====================================================================***/
-
-static void
-_UpdateButtonVMods( XkbDescPtr xkb,
- unsigned num_btns,
- XkbAction * acts,
- unsigned changed,
- xkbExtensionDeviceNotify * ed_inout)
-{
-register int i;
-
- for (i=0;i<num_btns;i++,acts++) {
- if ((acts->any.type!=XkbSA_NoAction)&&
- XkbUpdateActionVirtualMods(xkb,acts,changed)) {
- if ((ed_inout->reason&XkbXI_ButtonActionsMask)==0) {
- ed_inout->reason|= XkbXI_ButtonActionsMask;
- ed_inout->firstBtn= i;
- ed_inout->nBtns= 1;
- }
- else {
- ed_inout->nBtns= (i-ed_inout->firstBtn)+1;
- }
- }
- }
- return;
-}
-
-static void
-_UpdateMapVMods( XkbDescPtr xkb,
- register XkbIndicatorMapPtr map,
- unsigned changed_vmods,
- unsigned * changed_maps_rtrn)
-{
-register int i;
-
- *changed_maps_rtrn= 0;
- for (i=0;i<XkbNumIndicators;i++,map++) {
- if (map->mods.vmods&changed_vmods) {
- map->mods.mask= map->mods.real_mods;
- map->mods.mask|= XkbMaskForVMask(xkb,map->mods.vmods);
- *changed_maps_rtrn|= (1L<<i);
- }
- }
- return;
-}
-
-static void
-_UpdateDeviceVMods( DeviceIntPtr dev,
- XkbDescPtr xkb,
- unsigned changed,
- XkbEventCausePtr cause)
-{
-xkbExtensionDeviceNotify ed;
-XkbSrvLedInfoPtr sli;
-unsigned changed_maps;
-
- bzero((char *)&ed,sizeof(xkbExtensionDeviceNotify));
- ed.deviceID= dev->id;
- if ((dev->button)&&(dev->button->xkb_acts)) {
- _UpdateButtonVMods(xkb,dev->button->numButtons,
- dev->button->xkb_acts,changed,&ed);
- }
- if (dev->kbdfeed) {
- KbdFeedbackPtr kf;
- for (kf=dev->kbdfeed;kf!=NULL;kf=kf->next) {
- if ((kf->xkb_sli==NULL)||(kf->xkb_sli->maps==NULL))
- continue;
- sli= kf->xkb_sli;
- _UpdateMapVMods(xkb,sli->maps,changed,&changed_maps);
- if (changed_maps) {
- if (ed.reason&XkbXI_IndicatorsMask) {
- XkbSendExtensionDeviceNotify(dev,NULL,&ed);
- ed.reason= 0;
- ed.firstBtn= ed.nBtns;
- }
- ed.ledClass= sli->class;
- ed.ledID= sli->id;
- ed.ledsDefined= sli->namesPresent|sli->mapsPresent;
- ed.reason|= XkbXI_IndicatorMapsMask;
- XkbUpdateLedAutoState(dev,sli,changed_maps,&ed,NULL,cause);
- }
- }
- }
- if (dev->leds) {
- LedFeedbackPtr lf;
- for (lf=dev->leds;lf!=NULL;lf=lf->next) {
- if ((lf->xkb_sli==NULL)||(lf->xkb_sli->maps==NULL))
- continue;
- sli= lf->xkb_sli;
- _UpdateMapVMods(xkb,sli->maps,changed,&changed_maps);
- if (changed_maps) {
- if (ed.reason&XkbXI_IndicatorsMask) {
- XkbSendExtensionDeviceNotify(dev,NULL,&ed);
- ed.reason= 0;
- ed.firstBtn= ed.nBtns;
- }
- ed.ledClass= sli->class;
- ed.ledID= sli->id;
- ed.ledsDefined= sli->namesPresent|sli->mapsPresent;
- ed.reason|= XkbXI_IndicatorMapsMask;
- XkbUpdateLedAutoState(dev,sli,changed_maps,&ed,NULL,cause);
- }
- }
- }
- if (ed.reason!=0)
- XkbSendExtensionDeviceNotify(dev,NULL,&ed);
- return;
-}
-
-void
-XkbApplyVModChangesToAllDevices( DeviceIntPtr dev,
- XkbDescPtr xkb,
- unsigned changed,
- XkbEventCausePtr cause)
-{
-DeviceIntPtr edev;
- if (dev!=(DeviceIntPtr)LookupKeyboardDevice())
- return;
- for (edev=inputInfo.devices;edev!=NULL;edev=edev->next) {
- if (edev->key)
- continue;
- _UpdateDeviceVMods(edev,xkb,changed,cause);
- }
- for (edev=inputInfo.off_devices;edev!=NULL;edev=edev->next) {
- if (edev->key)
- continue;
- _UpdateDeviceVMods(edev,xkb,changed,cause);
- }
- return;
-}
diff --git a/nx-X11/programs/Xserver/xkb/xkbUtils.c b/nx-X11/programs/Xserver/xkb/xkbUtils.c
index fa252b10b..bf88458be 100644
--- a/nx-X11/programs/Xserver/xkb/xkbUtils.c
+++ b/nx-X11/programs/Xserver/xkb/xkbUtils.c
@@ -175,44 +175,6 @@ register unsigned mask;
return mask;
}
-
-Bool
-XkbApplyVModChanges( XkbSrvInfoPtr xkbi,
- unsigned changed,
- XkbChangesPtr changes,
- unsigned * needChecksRtrn,
- XkbEventCausePtr cause)
-{
-XkbDescPtr xkb;
-Bool check;
-
- xkb= xkbi->desc;
-#ifdef DEBUG
-{
-register unsigned i,bit;
- for (i=0,bit=1;i<XkbNumVirtualMods;i++,bit<<=1) {
- if ((changed&bit)==0)
- continue;
- if (xkbDebugFlags)
- ErrorF("Should be applying: change vmod %d to 0x%x\n",i,
- xkb->server->vmods[i]);
- }
-}
-#endif
- check= XkbApplyVirtualModChanges(xkb,changed,changes);
- XkbApplyVModChangesToAllDevices(xkbi->device,xkb,changed,cause);
-
- if (needChecksRtrn!=NULL) {
- if (check)
- *needChecksRtrn= XkbStateNotifyMask|XkbIndicatorStateNotifyMask;
- else *needChecksRtrn= 0;
- }
- else if (check) {
- /* 7/12/95 (ef) -- XXX check compatibility and/or indicator state */
- }
- return 1;
-}
-
/***====================================================================***/
void
@@ -781,21 +743,6 @@ XkbCheckSecondaryEffects( XkbSrvInfoPtr xkbi,
/***====================================================================***/
-void
-XkbSetPhysicalLockingKey(DeviceIntPtr dev,unsigned key)
-{
-XkbDescPtr xkb;
-
- xkb= dev->key->xkbInfo->desc;
- if ((key>=xkb->min_key_code) && (key<=xkb->max_key_code)) {
- xkb->server->behaviors[key].type= XkbKB_Lock|XkbKB_Permanent;
- }
- else ErrorF("Internal Error! Bad XKB info in SetPhysicalLockingKey\n");
- return;
-}
-
-/***====================================================================***/
-
Bool
XkbEnableDisableControls( XkbSrvInfoPtr xkbi,
unsigned long change,
diff --git a/nx-X11/programs/Xserver/xkb/xkberrs.c b/nx-X11/programs/Xserver/xkb/xkberrs.c
index 095d573ea..3534356c6 100644
--- a/nx-X11/programs/Xserver/xkb/xkberrs.c
+++ b/nx-X11/programs/Xserver/xkb/xkberrs.c
@@ -32,37 +32,6 @@
#include <ctype.h>
#include <stdlib.h>
-char * _XkbErrMessages[] = {
- "success", /* _XkbSuccess */
- "key names not defined", /* _XkbErrMissingNames */
- "key types not defined", /* _XkbErrMissingTypes */
- "required key types not present", /* _XkbErrMissingReqTypes */
- "symbols not defined", /* _XkbErrMissingSymbols */
- "virtual modifier bindings not defined",/* _XkbErrMissingVMods */
- "indicators not defined", /* _XkbErrMissingIndicators */
- "compatibility map not defined", /* _XkbErrMissingCompatMap */
- "symbol interpretations not defined", /* _XkbErrMissingSymInterps */
- "geometry not defined", /* _XkbErrMissingGeometry */
- "illegal doodad type", /* _XkbErrIllegalDoodad */
- "illegal TOC type", /* _XkbErrIllegalTOCType */
- "illegal contents", /* _XkbErrIllegalContents */
- "empty file", /* _XkbErrEmptyFile */
- "file not found", /* _XkbErrFileNotFound */
- "cannot open", /* _XkbErrFileCannotOpen */
- "bad value", /* _XkbErrBadValue */
- "bad match", /* _XkbErrBadMatch */
- "illegal name for type", /* _XkbErrBadTypeName */
- "illegal width for type", /* _XkbErrBadTypeWidth */
- "bad file type", /* _XkbErrBadFileType */
- "bad file version", /* _XkbErrBadFileVersion */
- "error in Xkm file", /* _XkbErrBadFileFormat */
- "allocation failed", /* _XkbErrBadAlloc */
- "bad length", /* _XkbErrBadLength */
- "X request failed", /* _XkbErrXReqFailure */
- "not implemented" /* _XkbErrBadImplementation */
-};
-
unsigned _XkbErrCode;
char * _XkbErrLocation= NULL;
unsigned _XkbErrData;
-
diff --git a/nx-X11/programs/Xserver/xkb/xkmread.c b/nx-X11/programs/Xserver/xkb/xkmread.c
index dca095518..e81835cf0 100644
--- a/nx-X11/programs/Xserver/xkb/xkmread.c
+++ b/nx-X11/programs/Xserver/xkb/xkmread.c
@@ -1167,18 +1167,6 @@ unsigned i,size_toc;
return 1;
}
-xkmSectionInfo *
-XkmFindTOCEntry(xkmFileInfo *finfo,xkmSectionInfo *toc,unsigned type)
-{
-register int i;
-
- for (i=0;i<finfo->num_toc;i++) {
- if (toc[i].type==type)
- return &toc[i];
- }
- return NULL;
-}
-
Bool
XkmReadFileSection( FILE * file,
xkmSectionInfo * toc,