diff options
Diffstat (limited to 'atari/nkcc.h')
-rwxr-xr-x | atari/nkcc.h | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/atari/nkcc.h b/atari/nkcc.h new file mode 100755 index 000000000..c7b09595e --- /dev/null +++ b/atari/nkcc.h @@ -0,0 +1,185 @@ +/* + * $Id: nkcc.h,v 1.4 2010/10/16 21:21:51 hek Exp $ + * + * XaAES - XaAES Ain't the AES (c) 1992 - 1998 C.Graham + * 1999 - 2003 H.Robbers + * 2004 F.Naumann & O.Skancke + * + * A multitasking AES replacement for FreeMiNT + * + * This file is part of XaAES. + * + * XaAES is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * XaAES is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with XaAES; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * Project name : NORMALIZED KEY CODE CONVERTER (NKCC) + * Module name : Global definitions + * Symbol prefix: nkc + * + * Author : Harald Siegmund (HS) + * Co-Authors : Henk Robbers (Reductions for use in XaAES) + * Write access : HS + */ + +#ifndef _nkcc_h +#define _nkcc_h + +/* flags for NKCC initialization */ + +#define NKI_BUTHND 0x00000001UL /* install button event handler */ +#define NKI_BHTOS 0x00000002UL /* additional flag: only if TOS has */ + /* mouse click bug */ +#define NKI_NO200HZ 0x00000004UL /* don't install 200 Hz clock interrupt */ + /* (this flag is ignored if the button */ + /* event handler is being activated) */ + +/* flag combinations for compatibility with old versions of NKCC */ + +#define BE_ON NKI_BUTHND +#define BE_OFF 0 +#define BE_TOS (NKI_BUTHND | NKI_BHTOS) + + +/* flags for special key code handling */ + +#define NKS_ALTNUM 0x00000001UL /* Alt + numeric pad -> ASCII */ +#define NKS_CTRL 0x00000002UL /* Control key emulation */ + /* deadkey management: */ +#define NKS_D_CIRCUM 0x00010000UL /* ^ accent circumflex */ +#define NKS_D_TILDE 0x00020000UL /* ~ accent tilde */ +#define NKS_D_AGUI 0x00040000UL /* ' accent agui */ +#define NKS_D_GRAVE 0x00080000UL /* ` accent grave */ +#define NKS_D_UMLAUT 0x00100000UL /* ¹ umlaut */ +#define NKS_D_QUOTE 0x00200000UL /* " quote, synonym for umlaut */ +#define NKS_D_SMOERE 0x00400000UL /* ø smoerebroed */ +#define NKS_D_CEDIL 0x00800000UL /* , cedil */ +#define NKS_D_SLASH 0x01000000UL /* / slash, for scandinavian characters */ +#define NKS_DEADKEY 0xffff0000UL /* all deadkeys */ + +/* NKCC key code flags */ + +#define NKF_FUNC 0x8000 /* function */ +#define NKF_RESVD 0x4000 /* resvd, ignore it! */ +#define NKF_NUM 0x2000 /* numeric pad */ +#define NKF_CAPS 0x1000 /* CapsLock */ +#define NKF_ALT 0x0800 /* Alternate */ +#define NKF_CTRL 0x0400 /* Control */ +#define NKF_SHIFT 0x0300 /* any Shift key */ +#define NKF_LSH 0x0200 /* left Shift key */ +#define NKF_RSH 0x0100 /* right Shift key */ + +#define NKF_IGNUM NKF_RESVD /* special flag for nkc_cmp() */ + +/* special key codes for keys performing a function */ + +#define NK_INVALID 0x00 /* invalid key code */ +#define NK_UP 0x01 /* cursor up */ +#define NK_DOWN 0x02 /* cursor down */ +#define NK_RIGHT 0x03 /* cursor right */ +#define NK_LEFT 0x04 /* cursor left */ +#define NK_M_PGUP 0x05 /* MAC Page up */ +#define NK_M_PGDOWN 0x06 /* MAC Page down */ +#define NK_M_END 0x07 /* reserved! */ +#define NK_BS 0x08 /* Backspace */ +#define NK_TAB 0x09 /* Tab */ +#define NK_ENTER 0x0a /* Enter */ +#define NK_INS 0x0b /* Insert */ +#define NK_CLRHOME 0x0c /* Clr/Home */ +#define NK_HOME 0x0c /* Clr/Home */ +#define NK_RET 0x0d /* Return */ +#define NK_HELP 0x0e /* Help */ +#define NK_UNDO 0x0f /* Undo */ +#define NK_F1 0x10 /* function key #1 */ +#define NK_F2 0x11 /* function key #2 */ +#define NK_F3 0x12 /* function key #3 */ +#define NK_F4 0x13 /* function key #4 */ +#define NK_F5 0x14 /* function key #5 */ +#define NK_F6 0x15 /* function key #6 */ +#define NK_F7 0x16 /* function key #7 */ +#define NK_F8 0x17 /* function key #8 */ +#define NK_F9 0x18 /* function key #9 */ +#define NK_F10 0x19 /* function key #10 */ +#define NK_RVD1A 0x1a /* reserved! */ +#define NK_ESC 0x1b /* Esc */ +#define NK_RVD1C 0x1c /* reserved! */ +#define NK_RVD1D 0x1d /* reserved! */ +#define NK_RVD1E 0x1e /* reserved! */ +#define NK_DEL 0x1f /* Delete */ + + /* terminator for key code tables */ +#define NK_TERM ((int)(NKF_FUNC | NK_INVALID)) + +/* ASCII codes less than 32 */ + +#define NUL 0x00 /* Null */ +#define SOH 0x01 /* Start Of Header */ +#define STX 0x02 /* Start Of Text */ +#define ETX 0x03 /* End Of Text */ +#define EOT 0x04 /* End Of Transmission */ +#define ENQ 0x05 /* Enquiry */ +#define ACK 0x06 /* positive Acknowledgement */ +#define BEL 0x07 /* Bell */ +#define BS 0x08 /* BackSpace */ +#define HT 0x09 /* Horizontal Tab */ +#define LF 0x0a /* Line Feed */ +#define VT 0x0b /* Vertical Tab */ +#define FF 0x0c /* Form Feed */ +#define CR 0x0d /* Carriage Return */ +#define SO 0x0e /* Shift Out */ +#define SI 0x0f /* Shift In */ +#define DLE 0x10 /* Data Link Escape */ +#define DC1 0x11 /* Device Control 1 */ +#define XON 0x11 /* same as DC1 */ +#define DC2 0x12 /* Device Control 2 */ +#define DC3 0x13 /* Device Control 3 */ +#define XOFF 0x13 /* same as DC3 */ +#define DC4 0x14 /* Device Control 4 */ +#define NAK 0x15 /* Negative Acknowledgement */ +#define SYN 0x16 /* Synchronize */ +#define ETB 0x17 /* End of Transmission Block */ +#define CAN 0x18 /* Cancel */ +#define EM 0x19 /* End of Medium */ +#define SUB 0x1a /* Substitute */ +#define ESC 0x1b /* Escape */ +#define FS 0x1c /* Form Separator */ +#define GS 0x1d /* Group Separator */ +#define RS 0x1e /* Record Separator */ +#define US 0x1f /* Unit Separator */ + +/* XBRA vector link/unlink modes */ + +#define NKXM_NUM 0 /* by vector number */ +#define NKXM_ADR 1 /* by vector address */ + +/* additional flag in event mask */ + +#define MU_XTIMER 0x100 + + +/* deinstall NKCC */ +int nkc_exit(void); + +/* from cflib */ +short nkc_init(void); + +unsigned short nkc_tos2n(long toskey); +unsigned short gem_to_norm(short ks, short kr); + +/* XaAES used names */ +#define nkc_tconv nkc_tos2n +#define normkey gem_to_norm + +#endif /* _nkcc_h */ |