add dos keyboard layout support
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@2715
This commit is contained in:
parent
712a055b7b
commit
76478e8cec
12 changed files with 3127 additions and 13 deletions
|
@ -101,6 +101,9 @@
|
|||
|
||||
#define BIOS_VIDEO_SAVEPTR 0x4a8
|
||||
|
||||
/* maximum of scancodes handled by keyboard bios routines */
|
||||
#define MAX_SCAN_CODE 0x58
|
||||
|
||||
/* The Section handling Bios Disk Access */
|
||||
#define BIOS_MAX_DISK 10
|
||||
|
||||
|
@ -170,4 +173,8 @@ void INT2F_StartUp(void);
|
|||
void INT33_StartUp(void);
|
||||
void INT13_StartUp(void);
|
||||
|
||||
bool BIOS_AddKeyToBuffer(Bit16u code);
|
||||
|
||||
void INT10_ReloadRomFonts();
|
||||
|
||||
#endif
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* $Id: dos_inc.h,v 1.61 2006-06-30 12:47:06 c2woody Exp $ */
|
||||
/* $Id: dos_inc.h,v 1.62 2006-10-27 13:37:13 c2woody Exp $ */
|
||||
|
||||
#ifndef DOSBOX_DOS_INC_H
|
||||
#define DOSBOX_DOS_INC_H
|
||||
|
@ -187,6 +187,20 @@ void DOS_SetupTables(void);
|
|||
/* Internal DOS Setup Programs */
|
||||
void DOS_SetupPrograms(void);
|
||||
|
||||
/* Initialize Keyboard Layout */
|
||||
void DOS_KeyboardLayout_Init(Section* sec);
|
||||
|
||||
bool DOS_LayoutKey(Bitu key, Bit8u flags1, Bit8u flags2, Bit8u flags3);
|
||||
|
||||
enum {
|
||||
KEYB_NOERROR=0,
|
||||
KEYB_FILENOTFOUND,
|
||||
KEYB_INVALIDFILE,
|
||||
KEYB_LAYOUTNOTFOUND,
|
||||
KEYB_INVALIDCPFILE
|
||||
};
|
||||
|
||||
|
||||
INLINE Bit16u long2para(Bit32u size) {
|
||||
if (size>0xFFFF0) return 0xffff;
|
||||
if (size&0xf) return (Bit16u)((size>>4)+1);
|
||||
|
@ -605,6 +619,7 @@ struct DOS_Block {
|
|||
RealPt dcbs;
|
||||
Bit8u* country;//Will be copied to dos memory. resides in real mem
|
||||
} tables;
|
||||
Bit16u loaded_codepage;
|
||||
};
|
||||
|
||||
extern DOS_Block dos;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue