Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

access.h

Go to the documentation of this file.
00001 /****************************** Module Header ******************************\ 00002 * Module Name: access.h 00003 * 00004 * Copyright (c) 1985 - 1999, Microsoft Corporation 00005 * 00006 * Typedefs, defines, and prototypes that are used by the accessibility 00007 * routines and the various routines that call them (input routines and 00008 * SystemParametersInfo). 00009 * 00010 * History: 00011 * 11 Feb 93 GregoryW Created 00012 \***************************************************************************/ 00013 00014 #ifndef _ACCESS_ 00015 #define _ACCESS_ 00016 00017 /* 00018 * Main accessibility routine entry points. 00019 */ 00020 typedef BOOL (* ACCESSIBILITYPROC)(PKE, ULONG, int); 00021 00022 BOOL FilterKeys(PKE, ULONG, int); 00023 BOOL xxxStickyKeys(PKE, ULONG, int); 00024 BOOL MouseKeys(PKE, ULONG, int); 00025 BOOL ToggleKeys(PKE, ULONG, int); 00026 BOOL HighContrastHotKey(PKE, ULONG, int); 00027 BOOL UtilityManager(PKE, ULONG, int); 00028 00029 BOOL AccessProceduresStream(PKE, ULONG, int); 00030 VOID SetAccessEnabledFlag(VOID); 00031 VOID StopFilterKeysTimers(VOID); 00032 00033 /* 00034 * Sound support. 00035 */ 00036 typedef BOOL (* BEEPPROC)(void); 00037 00038 BOOL HighBeep(void); 00039 BOOL LowBeep(void); 00040 BOOL KeyClick(void); 00041 BOOL UpSiren(void); 00042 BOOL DownSiren(void); 00043 BOOL DoBeep(BEEPPROC BeepProc, UINT Count); 00044 00045 /* 00046 * Macros for dwFlags support 00047 */ 00048 #define TEST_ACCESSFLAG(s, f) TEST_FLAG(g##s.dwFlags, f) 00049 #define TEST_BOOL_ACCESSFLAG(s, f) TEST_BOOL_FLAG(g##s.dwFlags, f) 00050 #define SET_ACCESSFLAG(s, f) SET_FLAG(g##s.dwFlags, f) 00051 #define CLEAR_ACCESSFLAG(s, f) CLEAR_FLAG(g##s.dwFlags, f) 00052 #define SET_OR_CLEAR_ACCESSFLAG(s, f, fSet) SET_OR_CLEAR_FLAG(g##s.dwFlags, f, fSet) 00053 #define TOGGLE_ACCESSFLAG(s, f) TOGGLE_FLAG(g##s.dwFlags, f) 00054 00055 00056 #define RIGHTSHIFTBIT 0x2 00057 #define ONLYRIGHTSHIFTDOWN(state) ((state) == RIGHTSHIFTBIT) 00058 #define FKFIRSTWARNINGTIME 4000 00059 #define FKACTIVATIONDELTA 4000 00060 #define FKEMERGENCY1DELTA 4000 00061 #define FKEMERGENCY2DELTA 4000 00062 00063 // 00064 // Warning: do not change the ordering of these. 00065 // 00066 #define FKIDLE 0 00067 #define FKFIRSTWARNING 1 00068 #define FKTOGGLE 2 00069 #define FKFIRSTLEVELEMERGENCY 3 00070 #define FKSECONDLEVELEMERGENCY 4 00071 #define FKMOUSEMOVE 8 00072 00073 /* 00074 * StickyKeys support. 00075 */ 00076 #define TOGGLE_STICKYKEYS_COUNT 5 00077 #define UNION(x, y) ((x) | (y)) 00078 #define LEFTSHIFTKEY(key) (((key) & 0xff) == VK_LSHIFT) 00079 #define RIGHTSHIFTKEY(key) (((key) & 0xff) == VK_RSHIFT) 00080 #define LEFTORRIGHTSHIFTKEY(key) (LEFTSHIFTKEY(key) || RIGHTSHIFTKEY(key)) 00081 BOOL xxxTwoKeysDown(int); 00082 VOID SetGlobalCursorLevel(INT iCursorLevel); 00083 VOID xxxUpdateModifierState(int, int); 00084 VOID xxxTurnOffStickyKeys(VOID); 00085 VOID xxxHardwareMouseKeyUp(DWORD); 00086 00087 /* 00088 * ToggleKeys support. 00089 */ 00090 #define TOGGLEKEYTOGGLETIME 5000 00091 00092 /* 00093 * MouseKeys support. 00094 */ 00095 00096 // 00097 // Parameter Constants for xxxButtonEvent() 00098 // 00099 #define MOUSE_BUTTON_LEFT 0x0001 00100 #define MOUSE_BUTTON_RIGHT 0x0002 00101 00102 #define MOUSEKEYMODBITS 0x11 00103 #define LRALT 0x30 00104 #define LRCONTROL 0x0c 00105 #define LRSHIFT 0x03 00106 #define LRWIN 0xc0 00107 #define VK_U 0x55 00108 00109 // 00110 // Mouse cursor movement data. 00111 // 00112 #define MK_UP 0xFF00 00113 #define MK_DOWN 0x0100 00114 #define MK_RIGHT 0x0001 00115 #define MK_LEFT 0x00FF 00116 00117 #define MOUSETIMERRATE 50 00118 #define MOUSETICKS (1000 / MOUSETIMERRATE) 00119 /* 00120 * Factor for high-speed movement. 00121 */ 00122 #define MK_CONTROL_SPEED 4 00123 00124 00125 typedef BOOL (* MOUSEPROC)(USHORT); 00126 00127 VOID TurnOffMouseKeys(VOID); 00128 BOOL xxxMKButtonClick(USHORT); 00129 BOOL xxxMKMouseMove(USHORT); 00130 BOOL xxxMKButtonSetState(USHORT); 00131 BOOL MKButtonSelect(USHORT); 00132 BOOL xxxMKButtonDoubleClick(USHORT); 00133 BOOL xxxMKToggleMouseKeys(USHORT); 00134 VOID MKShowMouseCursor(VOID); 00135 VOID MKHideMouseCursor(VOID); 00136 VOID CalculateMouseTable(VOID); 00137 00138 /* 00139 * TimeOut support. 00140 */ 00141 VOID AccessTimeOutReset(VOID); 00142 VOID xxxAccessTimeOutTimer(PWND, UINT, UINT_PTR, LPARAM); 00143 00144 /* 00145 * SoundSentry support. 00146 */ 00147 BOOL _UserSoundSentryWorker(VOID); 00148 00149 #endif // !_ACCESS_

Generated on Sat May 15 19:39:13 2004 for test by doxygen 1.3.7