161 lines
2.7 KiB
C++
161 lines
2.7 KiB
C++
/*++
|
|
|
|
Copyright (c) 1990 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
Keyb.hxx
|
|
|
|
Abstract:
|
|
|
|
This module contains the definition for the KEYB class, which
|
|
implements the DOS5-compatible Keyb utility.
|
|
|
|
Author:
|
|
|
|
Ramon Juan San Andres (ramonsa) 01-May-1990
|
|
|
|
|
|
Revision History:
|
|
|
|
|
|
--*/
|
|
|
|
|
|
#if !defined( _KEYB_ )
|
|
|
|
#define _KEYB_
|
|
|
|
//
|
|
// Exit codes
|
|
//
|
|
#define EXIT_NORMAL 0
|
|
#define EXIT_SYNTAXERROR 1
|
|
#define EXIT_BADFILE 2
|
|
#define EXIT_CONERROR 4
|
|
#define EXIT_MISCERROR 5
|
|
|
|
#define REG_DATA_LEN 32
|
|
#define REG_VALUE_LEN 16
|
|
|
|
#include "object.hxx"
|
|
#include "keyboard.hxx"
|
|
#include "program.hxx"
|
|
|
|
#define KEYBOARD_LAYOUT_KEY_NAME L"System\\CurrentControlSet\\Control\\Keyboard Layout\\DosKeybCodes"
|
|
#define KEYBOARD_LAYOUT_KEY_IDS L"System\\CurrentControlSet\\Control\\Keyboard Layout\\DosKeybIDs"
|
|
|
|
//
|
|
// Forward references
|
|
//
|
|
DECLARE_CLASS( KEYB );
|
|
|
|
class KEYB : public PROGRAM {
|
|
|
|
public:
|
|
|
|
DECLARE_CONSTRUCTOR( KEYB );
|
|
|
|
NONVIRTUAL
|
|
~KEYB (
|
|
);
|
|
|
|
NONVIRTUAL
|
|
BOOLEAN
|
|
Initialize (
|
|
);
|
|
|
|
NONVIRTUAL
|
|
BOOLEAN
|
|
ConfigureKeyboard (
|
|
);
|
|
|
|
private:
|
|
|
|
NONVIRTUAL
|
|
VOID
|
|
DisplayCurrentKeyboardCode(
|
|
);
|
|
|
|
NONVIRTUAL
|
|
BOOLEAN
|
|
ParseArguments (
|
|
);
|
|
|
|
NONVIRTUAL
|
|
DWORD
|
|
GetKeyboardCode(
|
|
);
|
|
|
|
NONVIRTUAL
|
|
BOOLEAN
|
|
KeyboardCode(
|
|
IN PWSTRING Line,
|
|
IN CHNUM Pos
|
|
);
|
|
|
|
NONVIRTUAL
|
|
BOOLEAN
|
|
CodePage(
|
|
IN PWSTRING Line,
|
|
IN CHNUM Pos
|
|
);
|
|
|
|
NONVIRTUAL
|
|
BOOLEAN
|
|
FileName(
|
|
IN PWSTRING Line,
|
|
IN CHNUM Pos
|
|
);
|
|
|
|
NONVIRTUAL
|
|
BOOLEAN
|
|
Switches(
|
|
IN PWSTRING Line,
|
|
IN CHNUM Pos
|
|
);
|
|
|
|
NONVIRTUAL
|
|
BOOLEAN
|
|
Enhanced(
|
|
IN PWSTRING Line,
|
|
IN CHNUM Pos
|
|
);
|
|
|
|
NONVIRTUAL
|
|
BOOLEAN
|
|
KeyboardId(
|
|
IN PWSTRING Line,
|
|
IN CHNUM Pos
|
|
);
|
|
|
|
NONVIRTUAL
|
|
BOOLEAN
|
|
ParseError(
|
|
IN DWORD MsgId,
|
|
IN PWSTRING Line,
|
|
IN CHNUM Pos
|
|
);
|
|
|
|
NONVIRTUAL
|
|
VOID
|
|
SkipBlanks(
|
|
IN PWSTRING Line,
|
|
IN PCHNUM Pos
|
|
);
|
|
|
|
|
|
DSTRING _KeyboardCode;
|
|
LONG _CodePage;
|
|
DSTRING _KeyboardId;
|
|
|
|
BOOLEAN _SetKeyboardCode;
|
|
BOOLEAN _SetCodePage;
|
|
BOOLEAN _SetKeyboardId;
|
|
|
|
|
|
|
|
};
|
|
|
|
#endif // _KEYB_
|