From f8b9a0ae52defd5dce5182897caba65d68568ee8 Mon Sep 17 00:00:00 2001 From: Bradley Bell Date: Fri, 15 Feb 2002 07:22:32 +0000 Subject: [PATCH] never mind - that would be pointless --- arch/dos/include/key_arch.h | 207 ----------------- arch/dos/key_arch.c | 396 -------------------------------- arch/ggi/include/key_arch.h | 207 ----------------- arch/ggi/key_arch.c | 26 --- arch/sdl/include/key_arch.h | 207 ----------------- arch/sdl/key_arch.c | 37 --- arch/svgalib/include/key_arch.h | 207 ----------------- arch/svgalib/key_arch.c | 38 --- arch/win32/include/key_arch.h | 216 ----------------- arch/win32/key_arch.c | 169 -------------- 10 files changed, 1710 deletions(-) delete mode 100644 arch/dos/include/key_arch.h delete mode 100644 arch/dos/key_arch.c delete mode 100644 arch/ggi/include/key_arch.h delete mode 100644 arch/ggi/key_arch.c delete mode 100644 arch/sdl/include/key_arch.h delete mode 100644 arch/sdl/key_arch.c delete mode 100644 arch/svgalib/include/key_arch.h delete mode 100644 arch/svgalib/key_arch.c delete mode 100644 arch/win32/include/key_arch.h delete mode 100644 arch/win32/key_arch.c diff --git a/arch/dos/include/key_arch.h b/arch/dos/include/key_arch.h deleted file mode 100644 index d18dfd1c..00000000 --- a/arch/dos/include/key_arch.h +++ /dev/null @@ -1,207 +0,0 @@ -/* -THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX -SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO -END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A -ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS -IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS -SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE -FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE -CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS -AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. -COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. -*/ -/* - * $Source: /cvs/cvsroot/d2x/arch/dos/include/key_arch.h,v $ - * $Revision: 1.1 $ - * $Author: bradleyb $ - * $Date: 2002-02-15 07:18:00 $ - * - * Header for keyboard functions - * - * $Log: not supported by cvs2svn $ - * Revision 1.1 2000/01/17 05:58:38 donut - * switched from multiply reimplemented/reduntant/buggy key.c for each arch to a single main/key.c that calls the much smaller arch-specific parts. Also adds working emulated key repeat support. - * - * Revision 1.1.1.1 1999/06/14 22:00:12 donut - * Import of d1x 1.37 source. - * - * Revision 1.19 1994/10/24 13:58:12 john - * Hacked in support for pause key onto code 0x61. - * - * Revision 1.18 1994/10/21 15:17:10 john - * Added KEY_PRINT_SCREEN - * - * Revision 1.17 1994/08/31 12:22:13 john - * Added KEY_DEBUGGED - * - * Revision 1.16 1994/08/24 18:53:50 john - * Made Cyberman read like normal mouse; added dpmi module; moved - * mouse from assembly to c. Made mouse buttons return time_down. - * - * Revision 1.15 1994/08/18 14:56:16 john - * *** empty log message *** - * - * Revision 1.14 1994/08/08 10:43:24 john - * Recorded when a key was pressed for key_inkey_time. - * - * Revision 1.13 1994/06/17 17:17:28 john - * Added keyd_time_last_key_was_pressed or something like that. - * - * Revision 1.12 1994/04/29 12:14:19 john - * Locked all memory used during interrupts so that program - * won't hang when using virtual memory. - * - * Revision 1.11 1994/02/17 15:57:14 john - * Changed key libary to C. - * - * Revision 1.10 1994/01/31 08:34:09 john - * Fixed reversed lshift/rshift keys. - * - * Revision 1.9 1994/01/18 10:58:17 john - * *** empty log message *** - * - * Revision 1.8 1993/10/16 19:24:43 matt - * Added new function key_clear_times() & key_clear_counts() - * - * Revision 1.7 1993/10/15 10:17:09 john - * added keyd_last_key_pressed and released for use with recorder. - * - * Revision 1.6 1993/10/06 16:20:37 john - * fixed down arrow bug - * - * Revision 1.5 1993/10/04 13:26:42 john - * changed the #defines for scan codes. - * - * Revision 1.4 1993/09/28 11:35:20 john - * added key_peekkey - * - * Revision 1.3 1993/09/20 18:36:43 john - * *** empty log message *** - * - * Revision 1.1 1993/07/10 13:10:39 matt - * Initial revision - * - * - */ - -#ifndef _DOS_KEY_H -#define _DOS_KEY_H - -#define ARCH_KEY_0 0x0B -#define ARCH_KEY_1 0x02 -#define ARCH_KEY_2 0x03 -#define ARCH_KEY_3 0x04 -#define ARCH_KEY_4 0x05 -#define ARCH_KEY_5 0x06 -#define ARCH_KEY_6 0x07 -#define ARCH_KEY_7 0x08 -#define ARCH_KEY_8 0x09 -#define ARCH_KEY_9 0x0A - -#define ARCH_KEY_A 0x1E -#define ARCH_KEY_B 0x30 -#define ARCH_KEY_C 0x2E -#define ARCH_KEY_D 0x20 -#define ARCH_KEY_E 0x12 -#define ARCH_KEY_F 0x21 -#define ARCH_KEY_G 0x22 -#define ARCH_KEY_H 0x23 -#define ARCH_KEY_I 0x17 -#define ARCH_KEY_J 0x24 -#define ARCH_KEY_K 0x25 -#define ARCH_KEY_L 0x26 -#define ARCH_KEY_M 0x32 -#define ARCH_KEY_N 0x31 -#define ARCH_KEY_O 0x18 -#define ARCH_KEY_P 0x19 -#define ARCH_KEY_Q 0x10 -#define ARCH_KEY_R 0x13 -#define ARCH_KEY_S 0x1F -#define ARCH_KEY_T 0x14 -#define ARCH_KEY_U 0x16 -#define ARCH_KEY_V 0x2F -#define ARCH_KEY_W 0x11 -#define ARCH_KEY_X 0x2D -#define ARCH_KEY_Y 0x15 -#define ARCH_KEY_Z 0x2C - -#define ARCH_KEY_MINUS 0x0C -#define ARCH_KEY_EQUAL 0x0D -//this is what we normally think of as slash: -#define ARCH_KEY_DIVIDE 0x35 -//this is BACKslash: -#define ARCH_KEY_SLASH 0x2B -#define ARCH_KEY_COMMA 0x33 -#define ARCH_KEY_PERIOD 0x34 -#define ARCH_KEY_SEMICOL 0x27 - -#define ARCH_KEY_LBRACKET 0x1A -#define ARCH_KEY_RBRACKET 0x1B - -#define ARCH_KEY_RAPOSTRO 0x28 -#define ARCH_KEY_LAPOSTRO 0x29 - -#define ARCH_KEY_ESC 0x01 -#define ARCH_KEY_ENTER 0x1C -#define ARCH_KEY_BACKSP 0x0E -#define ARCH_KEY_TAB 0x0F -#define ARCH_KEY_SPACEBAR 0x39 - -#define ARCH_KEY_NUMLOCK 0x45 -#define ARCH_KEY_SCROLLOCK 0x46 -#define ARCH_KEY_CAPSLOCK 0x3A - -#define ARCH_KEY_LSHIFT 0x2A -#define ARCH_KEY_RSHIFT 0x36 - -#define ARCH_KEY_LALT 0x38 -#define ARCH_KEY_RALT 0xB8 - -#define ARCH_KEY_LCTRL 0x1D -#define ARCH_KEY_RCTRL 0x9D - -#define ARCH_KEY_F1 0x3B -#define ARCH_KEY_F2 0x3C -#define ARCH_KEY_F3 0x3D -#define ARCH_KEY_F4 0x3E -#define ARCH_KEY_F5 0x3F -#define ARCH_KEY_F6 0x40 -#define ARCH_KEY_F7 0x41 -#define ARCH_KEY_F8 0x42 -#define ARCH_KEY_F9 0x43 -#define ARCH_KEY_F10 0x44 -#define ARCH_KEY_F11 0x57 -#define ARCH_KEY_F12 0x58 - -#define ARCH_KEY_PAD0 0x52 -#define ARCH_KEY_PAD1 0x4F -#define ARCH_KEY_PAD2 0x50 -#define ARCH_KEY_PAD3 0x51 -#define ARCH_KEY_PAD4 0x4B -#define ARCH_KEY_PAD5 0x4C -#define ARCH_KEY_PAD6 0x4D -#define ARCH_KEY_PAD7 0x47 -#define ARCH_KEY_PAD8 0x48 -#define ARCH_KEY_PAD9 0x49 -#define ARCH_KEY_PADMINUS 0x4A -#define ARCH_KEY_PADPLUS 0x4E -#define ARCH_KEY_PADPERIOD 0x53 -#define ARCH_KEY_PADDIVIDE 0xB5 -#define ARCH_KEY_PADMULTIPLY 0x37 -#define ARCH_KEY_PADENTER 0x9C - -#define ARCH_KEY_INSERT 0xD2 -#define ARCH_KEY_HOME 0xC7 -#define ARCH_KEY_PAGEUP 0xC9 -#define ARCH_KEY_DELETE 0xD3 -#define ARCH_KEY_END 0xCF -#define ARCH_KEY_PAGEDOWN 0xD1 -#define ARCH_KEY_UP 0xC8 -#define ARCH_KEY_DOWN 0xD0 -#define ARCH_KEY_LEFT 0xCB -#define ARCH_KEY_RIGHT 0xCD - -#define ARCH_KEY_PRINT_SCREEN 0xB7 -#define ARCH_KEY_PAUSE 0x61 - -#endif diff --git a/arch/dos/key_arch.c b/arch/dos/key_arch.c deleted file mode 100644 index 2557455f..00000000 --- a/arch/dos/key_arch.c +++ /dev/null @@ -1,396 +0,0 @@ -/* -THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX -SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO -END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A -ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS -IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS -SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE -FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE -CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS -AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. -COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. -*/ -/* - * $Source: /cvs/cvsroot/d2x/arch/dos/key_arch.c,v $ - * $Revision: 1.1 $ - * $Author: bradleyb $ - * $Date: 2002-02-15 07:18:00 $ - * - * Functions for keyboard handler. - * - * $Log: not supported by cvs2svn $ - * Revision 1.2 2000/02/07 10:09:52 donut - * dos pragma ifdefs - * - * Revision 1.1 2000/01/17 05:58:38 donut - * switched from multiply reimplemented/reduntant/buggy key.c for each arch to a single main/key.c that calls the much smaller arch-specific parts. Also adds working emulated key repeat support. - * - * Revision 1.1.1.1 1999/06/14 21:58:32 donut - * Import of d1x 1.37 source. - * - * Revision 1.35 1995/01/25 20:13:30 john - * Took out not passing keys to debugger if w10. - * - * Revision 1.34 1995/01/14 19:19:31 john - * Made so when you press Shift+Baskspace, it release keys autmatically. - * - * Revision 1.33 1994/12/13 09:21:48 john - * Took out keyd_editor_mode, and KEY_DEBUGGED stuff for NDEBUG versions. - * - * Revision 1.32 1994/11/12 13:52:01 john - * Fixed bug with code that cleared bios buffer. - * - * Revision 1.31 1994/10/24 15:16:16 john - * Added code to detect KEY_PAUSE. - * - * Revision 1.30 1994/10/24 13:57:53 john - * Hacked in support for pause key onto code 0x61. - * - * Revision 1.29 1994/10/21 15:18:13 john - * *** empty log message *** - * - * Revision 1.28 1994/10/21 15:17:24 john - * Made LSHIFT+BACKSPACE do what PrtScr used to. - * - * Revision 1.27 1994/09/22 16:09:18 john - * Fixed some virtual memory lockdown problems with timer and - * joystick. - * - * Revision 1.26 1994/09/15 21:32:47 john - * Added bounds checking for down_count scancode - * parameter. - * - * Revision 1.25 1994/08/31 12:22:20 john - * Added KEY_DEBUGGED - * - * Revision 1.24 1994/08/24 18:53:48 john - * Made Cyberman read like normal mouse; added dpmi module; moved - * mouse from assembly to c. Made mouse buttons return time_down. - * - * Revision 1.23 1994/08/18 15:17:51 john - * *** empty log message *** - * - * Revision 1.22 1994/08/18 15:16:38 john - * fixed some bugs with clear_key_times and then - * removed it because i fixed key_flush to do the - * same. - * - * Revision 1.21 1994/08/17 19:01:25 john - * Attempted to fix a bug with a key being held down - * key_flush called, then the key released having too - * long of a time. - * - * Revision 1.20 1994/08/08 10:43:48 john - * Recorded when a key was pressed for key_inkey_time. - * - * Revision 1.19 1994/06/22 15:00:03 john - * Made keyboard close automatically on exit. - * - * Revision 1.18 1994/06/21 09:16:29 john - * *** empty log message *** - * - * Revision 1.17 1994/06/21 09:08:23 john - * *** empty log message *** - * - * Revision 1.16 1994/06/21 09:05:01 john - * *** empty log message *** - * - * Revision 1.15 1994/06/21 09:04:24 john - * Made PrtScreen do an int5 - * - * Revision 1.14 1994/06/17 17:17:06 john - * Added keyd_time_last_key_was_pressed or something like that. - * - * Revision 1.13 1994/05/14 13:55:16 matt - * Added #define to control key passing to bios - * - * Revision 1.12 1994/05/05 18:09:39 john - * Took out BIOS to prevent stuck keys. - * - * Revision 1.11 1994/05/03 17:39:12 john - * *** empty log message *** - * - * Revision 1.10 1994/04/29 12:14:20 john - * Locked all memory used during interrupts so that program - * won't hang when using virtual memory. - * - * Revision 1.9 1994/04/28 23:49:41 john - * Made key_flush flush more keys and also did something else but i forget what. - * - * Revision 1.8 1994/04/22 12:52:12 john - * *** empty log message *** - * - * Revision 1.7 1994/04/01 10:44:59 mike - * Change key_getch() to call getch() if our interrupt hasn't been installed. - * - * Revision 1.6 1994/03/09 10:45:48 john - * Neatend code a bit. - * - * Revision 1.5 1994/02/17 17:24:16 john - * Neatened up a bit. - * - * Revision 1.4 1994/02/17 16:30:29 john - * Put in code to pass keys when in debugger. - * - * Revision 1.3 1994/02/17 15:57:59 john - * Made handler not chain to BIOS handler. - * - * Revision 1.2 1994/02/17 15:56:06 john - * Initial version. - * - * Revision 1.1 1994/02/17 15:54:07 john - * Initial revision - * - * - */ - -//#define PASS_KEYS_TO_BIOS 1 //if set, bios gets keys - -#ifdef RCS -static char rcsid[] = "$Id: key_arch.c,v 1.1 2002-02-15 07:18:00 bradleyb Exp $"; -#endif - -#include -#include -#include -#include -#include - -//#define WATCOM_10 -#ifdef __DJGPP__ -#include -#define _far -#define __far -#define __interrupt -#define near -_go32_dpmi_seginfo kbd_hand_info; -#endif -#include "error.h" -#include "key.h" -#include "timer.h" -#include "u_dpmi.h" - -#define LOCAL_KEY_BUFFER_SIZE 32 - - -typedef struct keyboard { - unsigned short keybuffer[LOCAL_KEY_BUFFER_SIZE]; - unsigned short statebuffer[LOCAL_KEY_BUFFER_SIZE]; - unsigned int keyhead, keytail; - unsigned char E0Flag; - unsigned char E1Flag; - int in_key_handler; -#ifdef __DJGPP__ - _go32_dpmi_seginfo prev_int_9; -#else - void (__interrupt __far *prev_int_9)(); -#endif -} keyboard; - -static volatile keyboard key_data; - -static unsigned char Installed=0; - -void arch_key_poll(void){ - _disable(); - while (key_data.keytail!=key_data.keyhead){ - generic_key_handler(key_data.keybuffer[key_data.keyhead],key_data.statebuffer[key_data.keyhead]); - key_data.keyhead++; - if ( key_data.keyhead >= LOCAL_KEY_BUFFER_SIZE ) key_data.keyhead=0; - } - _enable(); -} - -void key_clear_bios_buffer_all() -{ -#ifdef __WATCOMC__ - // Clear keyboard buffer... - *(ushort *)0x41a=*(ushort *)0x41c; - // Clear the status bits... - *(ubyte *)0x417 = 0; - *(ubyte *)0x418 = 0; -#else - _farpokew(_dos_ds,0x41a, _farpeekw(_dos_ds, 0x41c)); - _farpokeb(_dos_ds,0x417, 0); - _farpokeb(_dos_ds,0x418, 0); -#endif -} - -void key_clear_bios_buffer() -{ -#ifdef __WATCOMC__ - // Clear keyboard buffer... - *(ushort *)0x41a=*(ushort *)0x41c; -#else - _farpokew(_dos_ds,0x41a, _farpeekw(_dos_ds, 0x41c)); -#endif -} - -void arch_key_flush() -{ - int i; - - _disable(); - - // Clear the BIOS buffer - key_clear_bios_buffer(); - - key_data.keyhead = key_data.keytail = 0; - - //Clear the keyboard buffer - for (i=0; i')) || - ((MONO[14]=='<') && (MONO[16]=='i') && (MONO[18]=='>') && (MONO[20]==' ') && (MONO[22]=='-')) || - ((MONO[0]==200 ) && (MONO[2]==27) && (MONO[4]==17) ) - ) - _chain_intr( key_data.prev_int_9 ); -#endif -#endif -#endif - - // Read in scancode - scancode = inp( 0x60 ); - - switch( scancode ) { - case 0xE0: - key_data.E0Flag = 0x80; - break; - default: - // Parse scancode and break bit - if (key_data.E1Flag > 0 ) { // Special code for Pause, which is E1 1D 45 E1 9D C5 - key_data.E1Flag--; - if ( scancode == 0x1D ) { - scancode = KEY_PAUSE; - breakbit = 0; - } else if ( scancode == 0x9d ) { - scancode = KEY_PAUSE; - breakbit = 1; - } else { - break; // skip this keycode - } - } else if ( scancode==0xE1 ) { - key_data.E1Flag = 2; - break; - } else { - breakbit = scancode & 0x80; // Get make/break bit - scancode &= 0x7f; // Strip make/break bit off of scancode - scancode |= key_data.E0Flag; // Add in extended key code - } - key_data.E0Flag = 0; // Clear extended key code - temp = key_data.keytail+1; - if ( temp >= LOCAL_KEY_BUFFER_SIZE ) temp=0; - - if (temp!=key_data.keyhead) { - keycode=scancode; - - key_data.keybuffer[key_data.keytail] = keycode; - key_data.statebuffer[key_data.keytail] = !breakbit; - key_data.keytail = temp; - } - } - -#ifndef NDEBUG -#ifdef PASS_KEYS_TO_BIOS - _chain_intr( key_data.prev_int_9 ); -#endif -#endif - - temp = inp(0x61); // Get current port 61h state - temp |= 0x80; // Turn on bit 7 to signal clear keybrd - outp( 0x61, temp ); // Send to port - temp &= 0x7f; // Turn off bit 7 to signal break - outp( 0x61, temp ); // Send to port - outp( 0x20, 0x20 ); // Reset interrupt controller -} - -#ifndef __GNUC__ -#pragma on (check_stack) -#endif - -void key_handler_end() { // Dummy function to help calculate size of keyboard handler function -} - -void arch_key_init() -{ - // Initialize queue - - key_data.in_key_handler = 0; - key_data.E0Flag = 0; - key_data.E1Flag = 0; - - if (Installed) return; - Installed = 1; - - //--------------- lock everything for the virtal memory ---------------------------------- - if (!dpmi_lock_region ((void near *)key_handler, (char *)key_handler_end - (char near *)key_handler)) { - printf( "Error locking keyboard handler!\n" ); - exit(1); - } - if (!dpmi_lock_region ((void *)&key_data, sizeof(keyboard))) { - printf( "Error locking keyboard handler's data1!\n" ); - exit(1); - } - -#ifndef __DJGPP__ - key_data.prev_int_9 = (void *)_dos_getvect( 9 ); - _dos_setvect( 9, key_handler ); -#else - _go32_dpmi_get_protected_mode_interrupt_vector(9, - (_go32_dpmi_seginfo *)&key_data.prev_int_9); - kbd_hand_info.pm_offset = (int)key_handler; - kbd_hand_info.pm_selector = _my_cs(); - _go32_dpmi_allocate_iret_wrapper(&kbd_hand_info); - _go32_dpmi_set_protected_mode_interrupt_vector(9, &kbd_hand_info); -#endif -} - -void arch_key_close() -{ - if (!Installed) return; - Installed = 0; - -#ifndef __DJGPP__ - _dos_setvect( 9, key_data.prev_int_9 ); -#else - _go32_dpmi_set_protected_mode_interrupt_vector(9, - (_go32_dpmi_seginfo *)&key_data.prev_int_9); -#endif - - _disable(); - key_clear_bios_buffer_all(); - _enable(); - -} diff --git a/arch/ggi/include/key_arch.h b/arch/ggi/include/key_arch.h deleted file mode 100644 index 88ecdb5c..00000000 --- a/arch/ggi/include/key_arch.h +++ /dev/null @@ -1,207 +0,0 @@ -/* -THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX -SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO -END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A -ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS -IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS -SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE -FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE -CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS -AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. -COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. -*/ -/* - * $Source: /cvs/cvsroot/d2x/arch/ggi/include/key_arch.h,v $ - * $Revision: 1.1 $ - * $Author: bradleyb $ - * $Date: 2002-02-15 07:18:00 $ - * - * Header for keyboard functions - * - * $Log: not supported by cvs2svn $ - * Revision 1.1 2000/01/17 05:58:38 donut - * switched from multiply reimplemented/reduntant/buggy key.c for each arch to a single main/key.c that calls the much smaller arch-specific parts. Also adds working emulated key repeat support. - * - * Revision 1.2 1999/07/10 02:59:06 donut - * more from orulz - * - * Revision 1.19 1994/10/24 13:58:12 john - * Hacked in support for pause key onto code 0x61. - * - * Revision 1.18 1994/10/21 15:17:10 john - * Added KEY_PRINT_SCREEN - * - * Revision 1.17 1994/08/31 12:22:13 john - * Added KEY_DEBUGGED - * - * Revision 1.16 1994/08/24 18:53:50 john - * Made Cyberman read like normal mouse; added dpmi module; moved - * mouse from assembly to c. Made mouse buttons return time_down. - * - * Revision 1.15 1994/08/18 14:56:16 john - * *** empty log message *** - * - * Revision 1.14 1994/08/08 10:43:24 john - * Recorded when a key was pressed for key_inkey_time. - * - * Revision 1.13 1994/06/17 17:17:28 john - * Added keyd_time_last_key_was_pressed or something like that. - * - * Revision 1.12 1994/04/29 12:14:19 john - * Locked all memory used during interrupts so that program - * won't hang when using virtual memory. - * - * Revision 1.11 1994/02/17 15:57:14 john - * Changed key libary to C. - * - * Revision 1.10 1994/01/31 08:34:09 john - * Fixed reversed lshift/rshift keys. - * - * Revision 1.9 1994/01/18 10:58:17 john - * *** empty log message *** - * - * Revision 1.8 1993/10/16 19:24:43 matt - * Added new function key_clear_times() & key_clear_counts() - * - * Revision 1.7 1993/10/15 10:17:09 john - * added keyd_last_key_pressed and released for use with recorder. - * - * Revision 1.6 1993/10/06 16:20:37 john - * fixed down arrow bug - * - * Revision 1.5 1993/10/04 13:26:42 john - * changed the #defines for scan codes. - * - * Revision 1.4 1993/09/28 11:35:20 john - * added key_peekkey - * - * Revision 1.3 1993/09/20 18:36:43 john - * *** empty log message *** - * - * Revision 1.1 1993/07/10 13:10:39 matt - * Initial revision - * - * - */ - -#ifndef _GII_KEY_H -#define _GII_KEY_H - -#include - -#define ARCH_KEY_0 GIIUC_0 -#define ARCH_KEY_1 GIIUC_1 -#define ARCH_KEY_2 GIIUC_2 -#define ARCH_KEY_3 GIIUC_3 -#define ARCH_KEY_4 GIIUC_4 -#define ARCH_KEY_5 GIIUC_5 -#define ARCH_KEY_6 GIIUC_6 -#define ARCH_KEY_7 GIIUC_7 -#define ARCH_KEY_8 GIIUC_8 -#define ARCH_KEY_9 GIIUC_9 - -#define ARCH_KEY_A GIIUC_A -#define ARCH_KEY_B GIIUC_B -#define ARCH_KEY_C GIIUC_C -#define ARCH_KEY_D GIIUC_D -#define ARCH_KEY_E GIIUC_E -#define ARCH_KEY_F GIIUC_F -#define ARCH_KEY_G GIIUC_G -#define ARCH_KEY_H GIIUC_H -#define ARCH_KEY_I GIIUC_I -#define ARCH_KEY_J GIIUC_J -#define ARCH_KEY_K GIIUC_K -#define ARCH_KEY_L GIIUC_L -#define ARCH_KEY_M GIIUC_M -#define ARCH_KEY_N GIIUC_N -#define ARCH_KEY_O GIIUC_O -#define ARCH_KEY_P GIIUC_P -#define ARCH_KEY_Q GIIUC_Q -#define ARCH_KEY_R GIIUC_R -#define ARCH_KEY_S GIIUC_S -#define ARCH_KEY_T GIIUC_T -#define ARCH_KEY_U GIIUC_U -#define ARCH_KEY_V GIIUC_V -#define ARCH_KEY_W GIIUC_W -#define ARCH_KEY_X GIIUC_X -#define ARCH_KEY_Y GIIUC_Y -#define ARCH_KEY_Z GIIUC_Z - -#define ARCH_KEY_MINUS GIIUC_Minus -#define ARCH_KEY_EQUAL GIIUC_Equal -#define ARCH_KEY_DIVIDE GIIUC_Slash -#define ARCH_KEY_SLASH GIIUC_BackSlash -#define ARCH_KEY_COMMA GIIUC_Comma -#define ARCH_KEY_PERIOD GIIUC_Period -#define ARCH_KEY_SEMICOL GIIUC_Semicolon - -#define ARCH_KEY_LBRACKET GIIUC_BracketLeft -#define ARCH_KEY_RBRACKET GIIUC_BracketRight - -#define ARCH_KEY_RAPOSTRO GIIUC_Apostrophe -#define ARCH_KEY_LAPOSTRO GIIUC_Grave - -#define ARCH_KEY_ESC GIIUC_Escape -#define ARCH_KEY_ENTER GIIK_Enter -#define ARCH_KEY_BACKSP GIIUC_BackSpace -#define ARCH_KEY_TAB GIIUC_Tab -#define ARCH_KEY_SPACEBAR GIIUC_Space - -#define ARCH_KEY_NUMLOCK GIIK_NumLock -#define ARCH_KEY_SCROLLOCK GIIK_ScrollLock -#define ARCH_KEY_CAPSLOCK GIIK_CapsLock - -#define ARCH_KEY_LSHIFT GIIK_ShiftL -#define ARCH_KEY_RSHIFT GIIK_ShiftR - -#define ARCH_KEY_LALT GIIK_AltL -#define ARCH_KEY_RALT GIIK_AltR - -#define ARCH_KEY_LCTRL GIIK_CtrlL -#define ARCH_KEY_RCTRL GIIK_CtrlR - -#define ARCH_KEY_F1 GIIK_F1 -#define ARCH_KEY_F2 GIIK_F2 -#define ARCH_KEY_F3 GIIK_F3 -#define ARCH_KEY_F4 GIIK_F4 -#define ARCH_KEY_F5 GIIK_F5 -#define ARCH_KEY_F6 GIIK_F6 -#define ARCH_KEY_F7 GIIK_F7 -#define ARCH_KEY_F8 GIIK_F8 -#define ARCH_KEY_F9 GIIK_F9 -#define ARCH_KEY_F10 GIIK_F10 -#define ARCH_KEY_F11 GIIK_F11 -#define ARCH_KEY_F12 GIIK_F12 - -#define ARCH_KEY_PAD0 GIIK_P0 -#define ARCH_KEY_PAD1 GIIK_P1 -#define ARCH_KEY_PAD2 GIIK_P2 -#define ARCH_KEY_PAD3 GIIK_P3 -#define ARCH_KEY_PAD4 GIIK_P4 -#define ARCH_KEY_PAD5 GIIK_P5 -#define ARCH_KEY_PAD6 GIIK_P6 -#define ARCH_KEY_PAD7 GIIK_P7 -#define ARCH_KEY_PAD8 GIIK_P8 -#define ARCH_KEY_PAD9 GIIK_P9 -#define ARCH_KEY_PADMINUS GIIK_PMinus -#define ARCH_KEY_PADPLUS GIIK_PPlus -#define ARCH_KEY_PADPERIOD GIIK_PDecimal -#define ARCH_KEY_PADDIVIDE GIIK_PSlash -#define ARCH_KEY_PADMULTIPLY GIIK_PAsterisk -#define ARCH_KEY_PADENTER GIIK_PEnter - -#define ARCH_KEY_INSERT GIIK_Insert -#define ARCH_KEY_HOME GIIK_Home -#define ARCH_KEY_PAGEUP GIIK_PageUp -#define ARCH_KEY_DELETE GIIK_Delete -#define ARCH_KEY_END GIIK_End -#define ARCH_KEY_PAGEDOWN GIIK_PageDown -#define ARCH_KEY_UP GIIK_Up -#define ARCH_KEY_DOWN GIIK_Down -#define ARCH_KEY_LEFT GIIK_Left -#define ARCH_KEY_RIGHT GIIK_Right - -#define ARCH_KEY_PRINT_SCREEN GIIK_PrintScreen -#define ARCH_KEY_PAUSE GIIK_Pause - -#endif diff --git a/arch/ggi/key_arch.c b/arch/ggi/key_arch.c deleted file mode 100644 index 7dc4b490..00000000 --- a/arch/ggi/key_arch.c +++ /dev/null @@ -1,26 +0,0 @@ -#include "key.h" -#include "event.h" - -void keyboard_handler(int button, ubyte state) -{ - generic_key_handler(button,state); -} - -void arch_key_poll() -{ - event_poll(); -} - -void arch_key_close() -{ -} - -void arch_key_init() -{ - keyd_fake_repeat=1; -} - -void arch_key_flush() -{ -} - diff --git a/arch/sdl/include/key_arch.h b/arch/sdl/include/key_arch.h deleted file mode 100644 index 6c2cc2df..00000000 --- a/arch/sdl/include/key_arch.h +++ /dev/null @@ -1,207 +0,0 @@ -/* -THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX -SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO -END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A -ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS -IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS -SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE -FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE -CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS -AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. -COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. -*/ -/* - * $Source: /cvs/cvsroot/d2x/arch/sdl/include/key_arch.h,v $ - * $Revision: 1.1 $ - * $Author: bradleyb $ - * $Date: 2002-02-15 07:18:00 $ - * - * Header for keyboard functions - * - * $Log: not supported by cvs2svn $ - * Revision 1.1 2000/01/17 05:58:38 donut - * switched from multiply reimplemented/reduntant/buggy key.c for each arch to a single main/key.c that calls the much smaller arch-specific parts. Also adds working emulated key repeat support. - * - * Revision 1.1.1.1 1999/06/14 22:02:01 donut - * Import of d1x 1.37 source. - * - * Revision 1.19 1994/10/24 13:58:12 john - * Hacked in support for pause key onto code 0x61. - * - * Revision 1.18 1994/10/21 15:17:10 john - * Added KEY_PRINT_SCREEN - * - * Revision 1.17 1994/08/31 12:22:13 john - * Added KEY_DEBUGGED - * - * Revision 1.16 1994/08/24 18:53:50 john - * Made Cyberman read like normal mouse; added dpmi module; moved - * mouse from assembly to c. Made mouse buttons return time_down. - * - * Revision 1.15 1994/08/18 14:56:16 john - * *** empty log message *** - * - * Revision 1.14 1994/08/08 10:43:24 john - * Recorded when a key was pressed for key_inkey_time. - * - * Revision 1.13 1994/06/17 17:17:28 john - * Added keyd_time_last_key_was_pressed or something like that. - * - * Revision 1.12 1994/04/29 12:14:19 john - * Locked all memory used during interrupts so that program - * won't hang when using virtual memory. - * - * Revision 1.11 1994/02/17 15:57:14 john - * Changed key libary to C. - * - * Revision 1.10 1994/01/31 08:34:09 john - * Fixed reversed lshift/rshift keys. - * - * Revision 1.9 1994/01/18 10:58:17 john - * *** empty log message *** - * - * Revision 1.8 1993/10/16 19:24:43 matt - * Added new function key_clear_times() & key_clear_counts() - * - * Revision 1.7 1993/10/15 10:17:09 john - * added keyd_last_key_pressed and released for use with recorder. - * - * Revision 1.6 1993/10/06 16:20:37 john - * fixed down arrow bug - * - * Revision 1.5 1993/10/04 13:26:42 john - * changed the #defines for scan codes. - * - * Revision 1.4 1993/09/28 11:35:20 john - * added key_peekkey - * - * Revision 1.3 1993/09/20 18:36:43 john - * *** empty log message *** - * - * Revision 1.1 1993/07/10 13:10:39 matt - * Initial revision - * - * - */ - -#ifndef _SDL_KEY_H -#define _SDL_KEY_H - -#include - -#define ARCH_KEY_0 SDLK_0 -#define ARCH_KEY_1 SDLK_1 -#define ARCH_KEY_2 SDLK_2 -#define ARCH_KEY_3 SDLK_3 -#define ARCH_KEY_4 SDLK_4 -#define ARCH_KEY_5 SDLK_5 -#define ARCH_KEY_6 SDLK_6 -#define ARCH_KEY_7 SDLK_7 -#define ARCH_KEY_8 SDLK_8 -#define ARCH_KEY_9 SDLK_9 - -#define ARCH_KEY_A SDLK_a -#define ARCH_KEY_B SDLK_b -#define ARCH_KEY_C SDLK_c -#define ARCH_KEY_D SDLK_d -#define ARCH_KEY_E SDLK_e -#define ARCH_KEY_F SDLK_f -#define ARCH_KEY_G SDLK_g -#define ARCH_KEY_H SDLK_h -#define ARCH_KEY_I SDLK_i -#define ARCH_KEY_J SDLK_j -#define ARCH_KEY_K SDLK_k -#define ARCH_KEY_L SDLK_l -#define ARCH_KEY_M SDLK_m -#define ARCH_KEY_N SDLK_n -#define ARCH_KEY_O SDLK_o -#define ARCH_KEY_P SDLK_p -#define ARCH_KEY_Q SDLK_q -#define ARCH_KEY_R SDLK_r -#define ARCH_KEY_S SDLK_s -#define ARCH_KEY_T SDLK_t -#define ARCH_KEY_U SDLK_u -#define ARCH_KEY_V SDLK_v -#define ARCH_KEY_W SDLK_w -#define ARCH_KEY_X SDLK_x -#define ARCH_KEY_Y SDLK_y -#define ARCH_KEY_Z SDLK_z - -#define ARCH_KEY_MINUS SDLK_MINUS -#define ARCH_KEY_EQUAL SDLK_EQUALS -#define ARCH_KEY_DIVIDE SDLK_SLASH -#define ARCH_KEY_SLASH SDLK_BACKSLASH -#define ARCH_KEY_COMMA SDLK_COMMA -#define ARCH_KEY_PERIOD SDLK_PERIOD -#define ARCH_KEY_SEMICOL SDLK_SEMICOLON - -#define ARCH_KEY_LBRACKET SDLK_LEFTBRACKET -#define ARCH_KEY_RBRACKET SDLK_RIGHTBRACKET - -#define ARCH_KEY_RAPOSTRO SDLK_QUOTE -#define ARCH_KEY_LAPOSTRO SDLK_BACKQUOTE - -#define ARCH_KEY_ESC SDLK_ESCAPE -#define ARCH_KEY_ENTER SDLK_RETURN -#define ARCH_KEY_BACKSP SDLK_BACKSPACE -#define ARCH_KEY_TAB SDLK_TAB -#define ARCH_KEY_SPACEBAR SDLK_SPACE - -#define ARCH_KEY_NUMLOCK SDLK_NUMLOCK -#define ARCH_KEY_SCROLLOCK SDLK_SCROLLOCK -#define ARCH_KEY_CAPSLOCK SDLK_CAPSLOCK - -#define ARCH_KEY_LSHIFT SDLK_LSHIFT -#define ARCH_KEY_RSHIFT SDLK_RSHIFT - -#define ARCH_KEY_LALT SDLK_LALT -#define ARCH_KEY_RALT SDLK_RALT - -#define ARCH_KEY_LCTRL SDLK_LCTRL -#define ARCH_KEY_RCTRL SDLK_RCTRL - -#define ARCH_KEY_F1 SDLK_F1 -#define ARCH_KEY_F2 SDLK_F2 -#define ARCH_KEY_F3 SDLK_F3 -#define ARCH_KEY_F4 SDLK_F4 -#define ARCH_KEY_F5 SDLK_F5 -#define ARCH_KEY_F6 SDLK_F6 -#define ARCH_KEY_F7 SDLK_F7 -#define ARCH_KEY_F8 SDLK_F8 -#define ARCH_KEY_F9 SDLK_F9 -#define ARCH_KEY_F10 SDLK_F10 -#define ARCH_KEY_F11 SDLK_F11 -#define ARCH_KEY_F12 SDLK_F12 - -#define ARCH_KEY_PAD0 SDLK_KP0 -#define ARCH_KEY_PAD1 SDLK_KP1 -#define ARCH_KEY_PAD2 SDLK_KP2 -#define ARCH_KEY_PAD3 SDLK_KP3 -#define ARCH_KEY_PAD4 SDLK_KP4 -#define ARCH_KEY_PAD5 SDLK_KP5 -#define ARCH_KEY_PAD6 SDLK_KP6 -#define ARCH_KEY_PAD7 SDLK_KP7 -#define ARCH_KEY_PAD8 SDLK_KP8 -#define ARCH_KEY_PAD9 SDLK_KP9 -#define ARCH_KEY_PADMINUS SDLK_KP_MINUS -#define ARCH_KEY_PADPLUS SDLK_KP_PLUS -#define ARCH_KEY_PADPERIOD SDLK_KP_PERIOD -#define ARCH_KEY_PADDIVIDE SDLK_KP_DIVIDE -#define ARCH_KEY_PADMULTIPLY SDLK_KP_MULTIPLY -#define ARCH_KEY_PADENTER SDLK_KP_ENTER - -#define ARCH_KEY_INSERT SDLK_INSERT -#define ARCH_KEY_HOME SDLK_HOME -#define ARCH_KEY_PAGEUP SDLK_PAGEUP -#define ARCH_KEY_DELETE SDLK_DELETE -#define ARCH_KEY_END SDLK_END -#define ARCH_KEY_PAGEDOWN SDLK_PAGEDOWN -#define ARCH_KEY_UP SDLK_UP -#define ARCH_KEY_DOWN SDLK_DOWN -#define ARCH_KEY_LEFT SDLK_LEFT -#define ARCH_KEY_RIGHT SDLK_RIGHT - -#define ARCH_KEY_PRINT_SCREEN SDLK_PRINT -#define ARCH_KEY_PAUSE SDLK_PAUSE - -#endif diff --git a/arch/sdl/key_arch.c b/arch/sdl/key_arch.c deleted file mode 100644 index 6c073b47..00000000 --- a/arch/sdl/key_arch.c +++ /dev/null @@ -1,37 +0,0 @@ -// SDL keyboard input support - -#include -#include - -#include - -#include "event.h" -#include "error.h" -#include "key.h" -#include "timer.h" - - - -void key_handler(SDL_KeyboardEvent *event) -{ - generic_key_handler(event->keysym.sym,(event->state == SDL_PRESSED)); -} -void arch_key_close(void) -{ -} -void arch_key_init(void) -{ - keyd_fake_repeat=1; -} -void arch_key_flush(void) -{ -} - - -void arch_key_poll(void) -{ - event_poll(); -} - - - diff --git a/arch/svgalib/include/key_arch.h b/arch/svgalib/include/key_arch.h deleted file mode 100644 index 3b0468a5..00000000 --- a/arch/svgalib/include/key_arch.h +++ /dev/null @@ -1,207 +0,0 @@ -/* -THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX -SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO -END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A -ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS -IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS -SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE -FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE -CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS -AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. -COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. -*/ -/* - * $Source: /cvs/cvsroot/d2x/arch/svgalib/include/key_arch.h,v $ - * $Revision: 1.1 $ - * $Author: bradleyb $ - * $Date: 2002-02-15 07:18:00 $ - * - * Header for keyboard functions - * - * $Log: not supported by cvs2svn $ - * Revision 1.1 2000/01/17 05:58:38 donut - * switched from multiply reimplemented/reduntant/buggy key.c for each arch to a single main/key.c that calls the much smaller arch-specific parts. Also adds working emulated key repeat support. - * - * Revision 1.1.1.1 1999/06/14 22:01:46 donut - * Import of d1x 1.37 source. - * - * Revision 1.19 1994/10/24 13:58:12 john - * Hacked in support for pause key onto code 0x61. - * - * Revision 1.18 1994/10/21 15:17:10 john - * Added KEY_PRINT_SCREEN - * - * Revision 1.17 1994/08/31 12:22:13 john - * Added KEY_DEBUGGED - * - * Revision 1.16 1994/08/24 18:53:50 john - * Made Cyberman read like normal mouse; added dpmi module; moved - * mouse from assembly to c. Made mouse buttons return time_down. - * - * Revision 1.15 1994/08/18 14:56:16 john - * *** empty log message *** - * - * Revision 1.14 1994/08/08 10:43:24 john - * Recorded when a key was pressed for key_inkey_time. - * - * Revision 1.13 1994/06/17 17:17:28 john - * Added keyd_time_last_key_was_pressed or something like that. - * - * Revision 1.12 1994/04/29 12:14:19 john - * Locked all memory used during interrupts so that program - * won't hang when using virtual memory. - * - * Revision 1.11 1994/02/17 15:57:14 john - * Changed key libary to C. - * - * Revision 1.10 1994/01/31 08:34:09 john - * Fixed reversed lshift/rshift keys. - * - * Revision 1.9 1994/01/18 10:58:17 john - * *** empty log message *** - * - * Revision 1.8 1993/10/16 19:24:43 matt - * Added new function key_clear_times() & key_clear_counts() - * - * Revision 1.7 1993/10/15 10:17:09 john - * added keyd_last_key_pressed and released for use with recorder. - * - * Revision 1.6 1993/10/06 16:20:37 john - * fixed down arrow bug - * - * Revision 1.5 1993/10/04 13:26:42 john - * changed the #defines for scan codes. - * - * Revision 1.4 1993/09/28 11:35:20 john - * added key_peekkey - * - * Revision 1.3 1993/09/20 18:36:43 john - * *** empty log message *** - * - * Revision 1.1 1993/07/10 13:10:39 matt - * Initial revision - * - * - */ - -#ifndef _SVGALIB_KEY_H -#define _SVGALIB_KEY_H - -#include - -#define ARCH_KEY_0 11 -#define ARCH_KEY_1 2 -#define ARCH_KEY_2 3 -#define ARCH_KEY_3 4 -#define ARCH_KEY_4 5 -#define ARCH_KEY_5 6 -#define ARCH_KEY_6 7 -#define ARCH_KEY_7 8 -#define ARCH_KEY_8 9 -#define ARCH_KEY_9 10 - -#define ARCH_KEY_A 30 -#define ARCH_KEY_B 48 -#define ARCH_KEY_C 46 -#define ARCH_KEY_D 32 -#define ARCH_KEY_E 18 -#define ARCH_KEY_F 33 -#define ARCH_KEY_G 34 -#define ARCH_KEY_H 35 -#define ARCH_KEY_I 23 -#define ARCH_KEY_J 36 -#define ARCH_KEY_K 37 -#define ARCH_KEY_L 38 -#define ARCH_KEY_M 50 -#define ARCH_KEY_N 49 -#define ARCH_KEY_O 24 -#define ARCH_KEY_P 25 -#define ARCH_KEY_Q 16 -#define ARCH_KEY_R 19 -#define ARCH_KEY_S 31 -#define ARCH_KEY_T 20 -#define ARCH_KEY_U 22 -#define ARCH_KEY_V 47 -#define ARCH_KEY_W 17 -#define ARCH_KEY_X 45 -#define ARCH_KEY_Y 21 -#define ARCH_KEY_Z 44 - -#define ARCH_KEY_MINUS 12 -#define ARCH_KEY_EQUAL 13 -#define ARCH_KEY_DIVIDE 43 -#define ARCH_KEY_SLASH 28 -#define ARCH_KEY_COMMA 51 -#define ARCH_KEY_PERIOD 52 -#define ARCH_KEY_SEMICOL 39 - -#define ARCH_KEY_LBRACKET 26 -#define ARCH_KEY_RBRACKET 27 - -#define ARCH_KEY_RAPOSTRO 40 -#define ARCH_KEY_LAPOSTRO 41 - -#define ARCH_KEY_ESC 1 -#define ARCH_KEY_ENTER 28 -#define ARCH_KEY_BACKSP 14 -#define ARCH_KEY_TAB 15 -#define ARCH_KEY_SPACEBAR 57 - -#define ARCH_KEY_NUMLOCK 69 -#define ARCH_KEY_SCROLLOCK 70 -#define ARCH_KEY_CAPSLOCK 58 - -#define ARCH_KEY_LSHIFT 42 -#define ARCH_KEY_RSHIFT 54 - -#define ARCH_KEY_LALT 56 -#define ARCH_KEY_RALT 100 - -#define ARCH_KEY_LCTRL 29 -#define ARCH_KEY_RCTRL 97 - -#define ARCH_KEY_F1 59 -#define ARCH_KEY_F2 60 -#define ARCH_KEY_F3 61 -#define ARCH_KEY_F4 62 -#define ARCH_KEY_F5 63 -#define ARCH_KEY_F6 64 -#define ARCH_KEY_F7 65 -#define ARCH_KEY_F8 66 -#define ARCH_KEY_F9 67 -#define ARCH_KEY_F10 68 -#define ARCH_KEY_F11 87 -#define ARCH_KEY_F12 88 - -#define ARCH_KEY_PAD0 82 -#define ARCH_KEY_PAD1 79 -#define ARCH_KEY_PAD2 80 -#define ARCH_KEY_PAD3 81 -#define ARCH_KEY_PAD4 75 -#define ARCH_KEY_PAD5 76 -#define ARCH_KEY_PAD6 77 -#define ARCH_KEY_PAD7 71 -#define ARCH_KEY_PAD8 72 -#define ARCH_KEY_PAD9 73 -#define ARCH_KEY_PADMINUS 74 -#define ARCH_KEY_PADPLUS 78 -#define ARCH_KEY_PADPERIOD 83 -#define ARCH_KEY_PADDIVIDE 98 -#define ARCH_KEY_PADMULTIPLY 55 -#define ARCH_KEY_PADENTER 96 - -#define ARCH_KEY_INSERT 110 -#define ARCH_KEY_HOME 102 -#define ARCH_KEY_PAGEUP 104 -#define ARCH_KEY_DELETE 111 -#define ARCH_KEY_END 107 -#define ARCH_KEY_PAGEDOWN 109 -#define ARCH_KEY_UP 103 -#define ARCH_KEY_DOWN 108 -#define ARCH_KEY_LEFT 105 -#define ARCH_KEY_RIGHT 106 - -#define ARCH_KEY_PRINT_SCREEN 99 -#define ARCH_KEY_PAUSE 119 - -#endif diff --git a/arch/svgalib/key_arch.c b/arch/svgalib/key_arch.c deleted file mode 100644 index 65694b6e..00000000 --- a/arch/svgalib/key_arch.c +++ /dev/null @@ -1,38 +0,0 @@ -/// SDL keyboard input support - -#include -#include - -#include - -#include "error.h" -#include "event.h" -#include "key.h" - -void key_handler(int scancode, int press) -{ - generic_key_handler(scancode,press); -} - -void arch_key_close(void) -{ - keyboard_close(); -} - -void arch_key_init(void) -{ - if (keyboard_init()) - Error ("SVGAlib Keyboard Init Failed"); - - keyboard_seteventhandler (key_handler); - //keyd_fake_repeat = 1; -} - -void arch_key_flush(void) -{ -} - -void arch_key_poll(void) -{ - event_poll(); -} diff --git a/arch/win32/include/key_arch.h b/arch/win32/include/key_arch.h deleted file mode 100644 index abeaf04b..00000000 --- a/arch/win32/include/key_arch.h +++ /dev/null @@ -1,216 +0,0 @@ -/* -THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX -SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO -END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A -ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS -IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS -SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE -FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE -CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS -AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. -COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. -*/ -/* - * $Source: /cvs/cvsroot/d2x/arch/win32/include/key_arch.h,v $ - * $Revision: 1.1 $ - * $Author: bradleyb $ - * $Date: 2002-02-15 07:18:00 $ - * - * Header for keyboard functions - * - * $Log: not supported by cvs2svn $ - * Revision 1.2 2001/12/07 05:38:31 donut - * Fix mismatched arg types in the win32 code, work around byte being defined by windows headers as well as our own, and allow overriding of make vars. - * - * Revision 1.1 2000/01/17 05:58:38 donut - * switched from multiply reimplemented/reduntant/buggy key.c for each arch to a single main/key.c that calls the much smaller arch-specific parts. Also adds working emulated key repeat support. - * - * Revision 1.1.1.1 1999/06/14 22:01:23 donut - * Import of d1x 1.37 source. - * - * Revision 1.19 1994/10/24 13:58:12 john - * Hacked in support for pause key onto code 0x61. - * - * Revision 1.18 1994/10/21 15:17:10 john - * Added KEY_PRINT_SCREEN - * - * Revision 1.17 1994/08/31 12:22:13 john - * Added KEY_DEBUGGED - * - * Revision 1.16 1994/08/24 18:53:50 john - * Made Cyberman read like normal mouse; added dpmi module; moved - * mouse from assembly to c. Made mouse buttons return time_down. - * - * Revision 1.15 1994/08/18 14:56:16 john - * *** empty log message *** - * - * Revision 1.14 1994/08/08 10:43:24 john - * Recorded when a key was pressed for key_inkey_time. - * - * Revision 1.13 1994/06/17 17:17:28 john - * Added keyd_time_last_key_was_pressed or something like that. - * - * Revision 1.12 1994/04/29 12:14:19 john - * Locked all memory used during interrupts so that program - * won't hang when using virtual memory. - * - * Revision 1.11 1994/02/17 15:57:14 john - * Changed key libary to C. - * - * Revision 1.10 1994/01/31 08:34:09 john - * Fixed reversed lshift/rshift keys. - * - * Revision 1.9 1994/01/18 10:58:17 john - * *** empty log message *** - * - * Revision 1.8 1993/10/16 19:24:43 matt - * Added new function key_clear_times() & key_clear_counts() - * - * Revision 1.7 1993/10/15 10:17:09 john - * added keyd_last_key_pressed and released for use with recorder. - * - * Revision 1.6 1993/10/06 16:20:37 john - * fixed down arrow bug - * - * Revision 1.5 1993/10/04 13:26:42 john - * changed the #defines for scan codes. - * - * Revision 1.4 1993/09/28 11:35:20 john - * added key_peekkey - * - * Revision 1.3 1993/09/20 18:36:43 john - * *** empty log message *** - * - * Revision 1.1 1993/07/10 13:10:39 matt - * Initial revision - * - * - */ - -#ifndef _WIN32_KEY_H -#define _WIN32_KEY_H - -//changed key defines to use DIK_* - 2000/01/14 Matt Mueller. -heh, a bunch were wrong. -#define byte w32_byte -#define WIN32_LEAN_AND_MEAN -#include -#include // For DIK_* -#undef byte - -#define ARCH_KEY_0 DIK_0 -#define ARCH_KEY_1 DIK_1 -#define ARCH_KEY_2 DIK_2 -#define ARCH_KEY_3 DIK_3 -#define ARCH_KEY_4 DIK_4 -#define ARCH_KEY_5 DIK_5 -#define ARCH_KEY_6 DIK_6 -#define ARCH_KEY_7 DIK_7 -#define ARCH_KEY_8 DIK_8 -#define ARCH_KEY_9 DIK_9 - -#define ARCH_KEY_A DIK_A -#define ARCH_KEY_B DIK_B -#define ARCH_KEY_C DIK_C -#define ARCH_KEY_D DIK_D -#define ARCH_KEY_E DIK_E -#define ARCH_KEY_F DIK_F -#define ARCH_KEY_G DIK_G -#define ARCH_KEY_H DIK_H -#define ARCH_KEY_I DIK_I -#define ARCH_KEY_J DIK_J -#define ARCH_KEY_K DIK_K -#define ARCH_KEY_L DIK_L -#define ARCH_KEY_M DIK_M -#define ARCH_KEY_N DIK_N -#define ARCH_KEY_O DIK_O -#define ARCH_KEY_P DIK_P -#define ARCH_KEY_Q DIK_Q -#define ARCH_KEY_R DIK_R -#define ARCH_KEY_S DIK_S -#define ARCH_KEY_T DIK_T -#define ARCH_KEY_U DIK_U -#define ARCH_KEY_V DIK_V -#define ARCH_KEY_W DIK_W -#define ARCH_KEY_X DIK_X -#define ARCH_KEY_Y DIK_Y -#define ARCH_KEY_Z DIK_Z - -#define ARCH_KEY_MINUS DIK_MINUS -#define ARCH_KEY_EQUAL DIK_EQUALS -#define ARCH_KEY_DIVIDE DIK_SLASH -#define ARCH_KEY_SLASH DIK_BACKSLASH -#define ARCH_KEY_COMMA DIK_COMMA -#define ARCH_KEY_PERIOD DIK_PERIOD -#define ARCH_KEY_SEMICOL DIK_SEMICOLON - -#define ARCH_KEY_LBRACKET DIK_LBRACKET -#define ARCH_KEY_RBRACKET DIK_RBRACKET - -#define ARCH_KEY_RAPOSTRO DIK_APOSTROPHE -#define ARCH_KEY_LAPOSTRO DIK_GRAVE - -#define ARCH_KEY_ESC DIK_ESCAPE -#define ARCH_KEY_ENTER DIK_RETURN -#define ARCH_KEY_BACKSP DIK_BACK -#define ARCH_KEY_TAB DIK_TAB -#define ARCH_KEY_SPACEBAR DIK_SPACE - -#define ARCH_KEY_NUMLOCK DIK_NUMLOCK -#define ARCH_KEY_SCROLLOCK DIK_SCROLL -#define ARCH_KEY_CAPSLOCK DIK_CAPSLOCK - -#define ARCH_KEY_LSHIFT DIK_LSHIFT -#define ARCH_KEY_RSHIFT DIK_RSHIFT - -#define ARCH_KEY_LALT DIK_LALT -#define ARCH_KEY_RALT DIK_RALT - -#define ARCH_KEY_LCTRL DIK_LCONTROL -#define ARCH_KEY_RCTRL DIK_RCONTROL - -#define ARCH_KEY_F1 DIK_F1 -#define ARCH_KEY_F2 DIK_F2 -#define ARCH_KEY_F3 DIK_F3 -#define ARCH_KEY_F4 DIK_F4 -#define ARCH_KEY_F5 DIK_F5 -#define ARCH_KEY_F6 DIK_F6 -#define ARCH_KEY_F7 DIK_F7 -#define ARCH_KEY_F8 DIK_F8 -#define ARCH_KEY_F9 DIK_F9 -#define ARCH_KEY_F10 DIK_F10 -#define ARCH_KEY_F11 DIK_F11 -#define ARCH_KEY_F12 DIK_F12 - -#define ARCH_KEY_PAD0 DIK_NUMPAD0 -#define ARCH_KEY_PAD1 DIK_NUMPAD1 -#define ARCH_KEY_PAD2 DIK_NUMPAD2 -#define ARCH_KEY_PAD3 DIK_NUMPAD3 -#define ARCH_KEY_PAD4 DIK_NUMPAD4 -#define ARCH_KEY_PAD5 DIK_NUMPAD5 -#define ARCH_KEY_PAD6 DIK_NUMPAD6 -#define ARCH_KEY_PAD7 DIK_NUMPAD7 -#define ARCH_KEY_PAD8 DIK_NUMPAD8 -#define ARCH_KEY_PAD9 DIK_NUMPAD9 -#define ARCH_KEY_PADMINUS DIK_NUMPADMINUS -#define ARCH_KEY_PADPLUS DIK_NUMPADPLUS -#define ARCH_KEY_PADPERIOD DIK_NUMPADPERIOD -#define ARCH_KEY_PADDIVIDE DIK_NUMPADSLASH -#define ARCH_KEY_PADMULTIPLY DIK_NUMPADSTAR -#define ARCH_KEY_PADENTER DIK_NUMPADENTER - -#define ARCH_KEY_INSERT DIK_INSERT -#define ARCH_KEY_HOME DIK_HOME -#define ARCH_KEY_PAGEUP DIK_PGUP -#define ARCH_KEY_DELETE DIK_DELETE -#define ARCH_KEY_END DIK_END -#define ARCH_KEY_PAGEDOWN DIK_PGDN -#define ARCH_KEY_UP DIK_UP -#define ARCH_KEY_DOWN DIK_DOWN -#define ARCH_KEY_LEFT DIK_LEFT -#define ARCH_KEY_RIGHT DIK_RIGHT - -#define ARCH_KEY_PRINT_SCREEN DIK_SYSRQ -//there doesn't seem to be a DIK_PAUSE. -#define ARCH_KEY_PAUSE 197 - -#endif diff --git a/arch/win32/key_arch.c b/arch/win32/key_arch.c deleted file mode 100644 index 2693097e..00000000 --- a/arch/win32/key_arch.c +++ /dev/null @@ -1,169 +0,0 @@ -#define byte w32_byte -#define WIN32_LEAN_AND_MEAN -#include -#include -#include -#undef byte -//#include "inferno.h" -#include "fix.h" -#include "timer.h" -#include "key.h" - -extern void PumpMessages(void); - -// These are to kludge up a bit my slightly broken GCC directx port. -#ifndef E_FAIL -#define E_FAIL (HRESULT)0x80004005L -#endif -#ifndef SUCCEEDED -#define SUCCEEDED(a) ((HRESULT)(a) >= 0) -#endif -#ifndef S_OK -#define S_OK 0 -#define S_FALSE 1 -#endif - -extern void PumpMessages(void); - -unsigned char WMKey_Handler_Ready=0; - - -LPDIRECTINPUT g_lpdi; -LPDIRECTINPUTDEVICE g_lpdidKeybd; -extern HWND g_hWnd; - -typedef int KEYCODE; - -static BOOL EnsureInit (void) -{ - if (g_lpdidKeybd == NULL) - { - key_init (); - } - - return g_lpdidKeybd != NULL; -} - -void arch_key_init() -{ - HRESULT hr; - - keyd_fake_repeat=1;//direct input doesn't repeat. -MPM - - // my kingdom, my kingdom for C++... - if (SUCCEEDED (hr = DirectInputCreate (GetModuleHandle (NULL), DIRECTINPUT_VERSION, &g_lpdi, NULL))) - { - if (SUCCEEDED (hr = IDirectInput_CreateDevice (g_lpdi, (void *)&GUID_SysKeyboard, &g_lpdidKeybd, NULL))) - { - DIPROPDWORD dipdw; - - dipdw.diph.dwSize = sizeof (DIPROPDWORD); - dipdw.diph.dwHeaderSize = sizeof (DIPROPHEADER); - dipdw.diph.dwObj = 0; - dipdw.diph.dwHow = DIPH_DEVICE; - dipdw.dwData = 40; - - if (SUCCEEDED (hr = IDirectInputDevice_SetDataFormat (g_lpdidKeybd, &c_dfDIKeyboard)) && - SUCCEEDED (hr = IDirectInputDevice_SetCooperativeLevel (g_lpdidKeybd, g_hWnd, DISCL_NONEXCLUSIVE | DISCL_FOREGROUND)) && - SUCCEEDED (hr = IDirectInputDevice_SetProperty (g_lpdidKeybd, DIPROP_BUFFERSIZE, &dipdw.diph)) && - SUCCEEDED (hr = IDirectInputDevice_Acquire (g_lpdidKeybd))) - { - // fine - WMKey_Handler_Ready = 1; - - } - else - { - IDirectInputDevice_Release (g_lpdidKeybd); - g_lpdidKeybd = NULL; - } - } - } -} - -void arch_key_close(void) -{ - WMKey_Handler_Ready = 0; - if (g_lpdidKeybd != NULL) - { - IDirectInputDevice_Unacquire (g_lpdidKeybd); - IDirectInputDevice_Release (g_lpdidKeybd); - g_lpdidKeybd = NULL; - } - if (g_lpdi != NULL) - { - IDirectInput_Release (g_lpdi); - g_lpdi = NULL; - } -} - -HRESULT ReadKey (DIDEVICEOBJECTDATA *pdidod) -{ - DWORD cElements = 1; - HRESULT hr; - if (g_lpdidKeybd == NULL) - return E_FAIL; - hr = IDirectInputDevice_Acquire (g_lpdidKeybd); - if (SUCCEEDED (hr)) - { - hr = IDirectInputDevice_GetDeviceData ( - g_lpdidKeybd, - sizeof (*pdidod), - pdidod, - &cElements, - 0); - if (SUCCEEDED (hr) && cElements != 1) - hr = E_FAIL; - } - - return hr; -} - -void UpdateState (DIDEVICEOBJECTDATA *pdidod) -{ - generic_key_handler(pdidod->dwOfs,(pdidod->dwData & 0x80)); -} - -void keyboard_handler() -{ -// static int peekmsgcount = 0; - DIDEVICEOBJECTDATA didod; - while (SUCCEEDED (ReadKey (&didod))) - { - UpdateState (&didod); - - //added 02/20/99 by adb to prevent message overflow - //(this should probably go somewhere else...) -// if (++peekmsgcount == 64) // 64 = wild guess... -// { -// peekmsgcount = 0; -// } - //end additions - } - PumpMessages(); -} - - - -void arch_key_flush() -{ - if (EnsureInit ()) - { - DWORD cElements = INFINITE; -// HRESULT hr = - IDirectInputDevice_GetDeviceData ( - g_lpdidKeybd, - sizeof (DIDEVICEOBJECTDATA), - NULL, - &cElements, - 0); - - } -} - - - -void arch_key_poll(void) -{ - keyboard_handler(); -} -- 2.39.2