2015-09-14 17:36 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gttrm/gttrm.c
- removed unused macros and definitions
* formatting and minor cleanup
* src/rtl/gtcrs/gtcrs.h
* src/rtl/gtcrs/gtcrs.c
+ added support for extended key codes, GTCRS does not support
unicode so it's not fully functional just like in GTTRM
This commit is contained in:
@@ -10,6 +10,16 @@
|
||||
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
|
||||
*/
|
||||
|
||||
2015-09-14 17:36 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
|
||||
* src/rtl/gttrm/gttrm.c
|
||||
- removed unused macros and definitions
|
||||
* formatting and minor cleanup
|
||||
|
||||
* src/rtl/gtcrs/gtcrs.h
|
||||
* src/rtl/gtcrs/gtcrs.c
|
||||
+ added support for extended key codes, GTCRS does not support
|
||||
unicode so it's not fully functional just like in GTTRM
|
||||
|
||||
2015-09-14 14:03 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
|
||||
* src/rdd/dbf1.c
|
||||
* set HB_FF_BINARY flag in numeric and date fields stored in binary
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -69,7 +69,14 @@
|
||||
# include <term.h>
|
||||
#endif
|
||||
#if defined( HB_HAS_GPM )
|
||||
# include <gpm.h>
|
||||
# include <gpm.h>
|
||||
# if defined( HB_OS_LINUX ) && 0
|
||||
# include <linux/keyboard.h>
|
||||
# else
|
||||
# define KG_SHIFT 0
|
||||
# define KG_CTRL 2
|
||||
# define KG_ALT 3
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
@@ -118,128 +125,110 @@
|
||||
#define BASE_ERRFD 2
|
||||
#define MAXFD 1024
|
||||
|
||||
|
||||
#define ESC_DELAY 25
|
||||
/* #define DBLCLK_DELAY 168 */
|
||||
#define DBLCLK_DELAY hb_mouseGetDoubleClickSpeed()
|
||||
|
||||
#define MAX_IOBASE 32
|
||||
#define STDIN_BUFLEN 128
|
||||
|
||||
#define TERM_LINUX 1
|
||||
#define TERM_XTERM 2
|
||||
|
||||
#define STDIN_BUFLEN 128
|
||||
|
||||
#define ESC_DELAY 25
|
||||
|
||||
#define IS_EVTFDSTAT( x ) ( ( x ) >= 0x01 && ( x ) <= 0x03 )
|
||||
#define EVTFDSTAT_RUN 0x01
|
||||
#define EVTFDSTAT_STOP 0x02
|
||||
#define EVTFDSTAT_DEL 0x03
|
||||
#define EVTFDSTAT_RUN 0x01
|
||||
#define EVTFDSTAT_STOP 0x02
|
||||
#define EVTFDSTAT_DEL 0x03
|
||||
|
||||
#define CTRL_SEQ "\036"
|
||||
#define ALT_SEQ "\037"
|
||||
/*#define NATION_SEQ "\016"*/
|
||||
/* mouse button states */
|
||||
#define M_BUTTON_LEFT 0x0001
|
||||
#define M_BUTTON_RIGHT 0x0002
|
||||
#define M_BUTTON_MIDDLE 0x0004
|
||||
#define M_BUTTON_LDBLCK 0x0010
|
||||
#define M_BUTTON_RDBLCK 0x0020
|
||||
#define M_BUTTON_MDBLCK 0x0040
|
||||
#define M_BUTTON_WHEELUP 0x0100
|
||||
#define M_BUTTON_WHEELDOWN 0x0200
|
||||
#define M_CURSOR_MOVE 0x0400
|
||||
#define M_BUTTON_KEYMASK ( M_BUTTON_LEFT | M_BUTTON_RIGHT | M_BUTTON_MIDDLE )
|
||||
#define M_BUTTON_DBLMASK ( M_BUTTON_LDBLCK | M_BUTTON_RDBLCK | M_BUTTON_MDBLCK )
|
||||
|
||||
#define MOUSE_NONE 0
|
||||
#define MOUSE_GPM 1
|
||||
#define MOUSE_XTERM 2
|
||||
#define MOUSE_NONE 0
|
||||
#define MOUSE_GPM 1
|
||||
#define MOUSE_XTERM 2
|
||||
|
||||
#define K_UNDEF 0x10000
|
||||
#define K_METAALT 0x10001
|
||||
#define K_METACTRL 0x10002
|
||||
#define K_NATIONAL 0x10003
|
||||
#define K_MOUSETERM 0x10004
|
||||
#define K_RESIZE 0x10005
|
||||
#define K_PRTSCR 0x10006
|
||||
#define K_PAUSE 0x10007
|
||||
#define KEY_SHIFTMASK 0x01000000
|
||||
#define KEY_CTRLMASK 0x02000000
|
||||
#define KEY_ALTMASK 0x04000000
|
||||
#define KEY_KPADMASK 0x08000000
|
||||
#define KEY_EXTDMASK 0x10000000
|
||||
#define KEY_CLIPMASK 0x20000000
|
||||
/* 0x40000000 reserved for Harbour extended keys */
|
||||
#define KEY_MASK 0xFF000000
|
||||
|
||||
#define CLR_KEYMASK( x ) ( ( x ) & ~KEY_MASK )
|
||||
#define GET_KEYMASK( x ) ( ( x ) & KEY_MASK )
|
||||
|
||||
#define IS_CLIPKEY( x ) ( ( ( ( x ) & ~0xffff ) ^ KEY_CLIPMASK ) == 0 )
|
||||
#define SET_CLIPKEY( x ) ( ( ( x ) & 0xffff ) | KEY_CLIPMASK )
|
||||
#define GET_CLIPKEY( x ) ( ( ( ( x ) & 0x8000 ) ? ~0xffff : 0 ) | ( ( x ) & 0xffff ) )
|
||||
|
||||
#define CTRL_SEQ "\036"
|
||||
#define ALT_SEQ "\037"
|
||||
/*#define NATION_SEQ "\016"*/
|
||||
|
||||
#define EXKEY_F1 ( HB_KX_F1 | KEY_EXTDMASK )
|
||||
#define EXKEY_F2 ( HB_KX_F2 | KEY_EXTDMASK )
|
||||
#define EXKEY_F3 ( HB_KX_F3 | KEY_EXTDMASK )
|
||||
#define EXKEY_F4 ( HB_KX_F4 | KEY_EXTDMASK )
|
||||
#define EXKEY_F5 ( HB_KX_F5 | KEY_EXTDMASK )
|
||||
#define EXKEY_F6 ( HB_KX_F6 | KEY_EXTDMASK )
|
||||
#define EXKEY_F7 ( HB_KX_F7 | KEY_EXTDMASK )
|
||||
#define EXKEY_F8 ( HB_KX_F8 | KEY_EXTDMASK )
|
||||
#define EXKEY_F9 ( HB_KX_F9 | KEY_EXTDMASK )
|
||||
#define EXKEY_F10 ( HB_KX_F10 | KEY_EXTDMASK )
|
||||
#define EXKEY_F11 ( HB_KX_F11 | KEY_EXTDMASK )
|
||||
#define EXKEY_F12 ( HB_KX_F12 | KEY_EXTDMASK )
|
||||
#define EXKEY_UP ( HB_KX_UP | KEY_EXTDMASK )
|
||||
#define EXKEY_DOWN ( HB_KX_DOWN | KEY_EXTDMASK )
|
||||
#define EXKEY_LEFT ( HB_KX_LEFT | KEY_EXTDMASK )
|
||||
#define EXKEY_RIGHT ( HB_KX_RIGHT | KEY_EXTDMASK )
|
||||
#define EXKEY_DEL ( HB_KX_DEL | KEY_EXTDMASK )
|
||||
#define EXKEY_HOME ( HB_KX_HOME | KEY_EXTDMASK )
|
||||
#define EXKEY_END ( HB_KX_END | KEY_EXTDMASK )
|
||||
#define EXKEY_PGUP ( HB_KX_PGUP | KEY_EXTDMASK )
|
||||
#define EXKEY_PGDN ( HB_KX_PGDN | KEY_EXTDMASK )
|
||||
#define EXKEY_INS ( HB_KX_INS | KEY_EXTDMASK )
|
||||
#define EXKEY_BS ( HB_KX_BS | KEY_EXTDMASK )
|
||||
#define EXKEY_TAB ( HB_KX_TAB | KEY_EXTDMASK )
|
||||
#define EXKEY_ESC ( HB_KX_ESC | KEY_EXTDMASK )
|
||||
#define EXKEY_ENTER ( HB_KX_ENTER | KEY_EXTDMASK )
|
||||
#define EXKEY_CENTER ( HB_KX_CENTER | KEY_EXTDMASK )
|
||||
#define EXKEY_PRTSCR ( HB_KX_PRTSCR | KEY_EXTDMASK )
|
||||
#define EXKEY_PAUSE ( HB_KX_PAUSE | KEY_EXTDMASK )
|
||||
|
||||
#define K_UNDEF 0x10000
|
||||
#define K_METAALT 0x10001
|
||||
#define K_METACTRL 0x10002
|
||||
#define K_NATIONAL 0x10003
|
||||
#define K_MOUSETERM 0x10004
|
||||
#define K_RESIZE 0x10005
|
||||
|
||||
#ifndef SC_UNDEF
|
||||
# define SC_UNDEF -1
|
||||
#endif
|
||||
|
||||
#define KEY_ALTMASK 0x10000000
|
||||
#define KEY_CTRLMASK 0x20000000
|
||||
#define KEY_EXTDMASK 0x40000000
|
||||
#define KEY_CLIPMASK 0x80000000
|
||||
#define KEY_MASK 0xF0000000
|
||||
|
||||
#define CLR_KEYMASK( x ) ( ( x ) & ~KEY_MASK )
|
||||
#define GET_KEYMASK( x ) ( ( x ) & KEY_MASK )
|
||||
|
||||
#define IS_CLIPKEY( x ) ( ( ( ( x ) & ~0xffff ) ^ KEY_CLIPMASK ) == 0 )
|
||||
#define SET_CLIPKEY( x ) ( ( ( x ) & 0xffff ) | KEY_CLIPMASK )
|
||||
#define GET_CLIPKEY( x ) ( ( ( ( x ) & 0x8000 ) ? ~0xffff : 0 ) | ( ( x ) & 0xffff ) )
|
||||
|
||||
#define NO_STDKEYS 96
|
||||
#define NO_EXTDKEYS 30
|
||||
|
||||
#define EXKEY_F1 ( 0 | KEY_EXTDMASK )
|
||||
#define EXKEY_F2 ( 1 | KEY_EXTDMASK )
|
||||
#define EXKEY_F3 ( 2 | KEY_EXTDMASK )
|
||||
#define EXKEY_F4 ( 3 | KEY_EXTDMASK )
|
||||
#define EXKEY_F5 ( 4 | KEY_EXTDMASK )
|
||||
#define EXKEY_F6 ( 5 | KEY_EXTDMASK )
|
||||
#define EXKEY_F7 ( 6 | KEY_EXTDMASK )
|
||||
#define EXKEY_F8 ( 7 | KEY_EXTDMASK )
|
||||
#define EXKEY_F9 ( 8 | KEY_EXTDMASK )
|
||||
#define EXKEY_F10 ( 9 | KEY_EXTDMASK )
|
||||
#define EXKEY_F11 ( 10 | KEY_EXTDMASK )
|
||||
#define EXKEY_F12 ( 11 | KEY_EXTDMASK )
|
||||
#define EXKEY_UP ( 12 | KEY_EXTDMASK )
|
||||
#define EXKEY_DOWN ( 13 | KEY_EXTDMASK )
|
||||
#define EXKEY_LEFT ( 14 | KEY_EXTDMASK )
|
||||
#define EXKEY_RIGHT ( 15 | KEY_EXTDMASK )
|
||||
#define EXKEY_INS ( 16 | KEY_EXTDMASK )
|
||||
#define EXKEY_DEL ( 17 | KEY_EXTDMASK )
|
||||
#define EXKEY_HOME ( 18 | KEY_EXTDMASK )
|
||||
#define EXKEY_END ( 19 | KEY_EXTDMASK )
|
||||
#define EXKEY_PGUP ( 20 | KEY_EXTDMASK )
|
||||
#define EXKEY_PGDN ( 21 | KEY_EXTDMASK )
|
||||
#define EXKEY_BS ( 22 | KEY_EXTDMASK )
|
||||
#define EXKEY_TAB ( 23 | KEY_EXTDMASK )
|
||||
#define EXKEY_ESC ( 24 | KEY_EXTDMASK )
|
||||
#define EXKEY_ENTER ( 25 | KEY_EXTDMASK )
|
||||
#define EXKEY_KPENTER ( 26 | KEY_EXTDMASK )
|
||||
#define EXKEY_CENTER ( 27 | KEY_EXTDMASK )
|
||||
#define EXKEY_PRTSCR ( 28 | KEY_EXTDMASK )
|
||||
#define EXKEY_PAUSE ( 29 | KEY_EXTDMASK )
|
||||
|
||||
/* xHarbour compatible definitions */
|
||||
#if ! defined( K_SH_LEFT )
|
||||
#define K_SH_LEFT K_LEFT /* Shift-Left == Left */
|
||||
#define K_SH_UP K_UP /* Shift-Up == Up */
|
||||
#define K_SH_RIGHT K_RIGHT /* Shift-Right == Right */
|
||||
#define K_SH_DOWN K_DOWN /* Shift-Down == Down */
|
||||
#define K_SH_INS K_INS /* Shift-Ins == Ins */
|
||||
#define K_SH_DEL K_DEL /* Shift-Del == Del */
|
||||
#define K_SH_HOME K_HOME /* Shift-Home == Home */
|
||||
#define K_SH_END K_END /* Shift-End == End */
|
||||
#define K_SH_PGUP K_PGUP /* Shift-PgUp == PgUp */
|
||||
#define K_SH_PGDN K_PGDN /* Shift-PgDn == PgDn */
|
||||
#define K_SH_RETURN K_RETURN /* Shift-Enter == Enter */
|
||||
#define K_SH_ENTER K_ENTER /* Shift-Enter == Enter */
|
||||
#endif
|
||||
|
||||
/* mouse button states */
|
||||
#define M_BUTTON_LEFT 0x0001
|
||||
#define M_BUTTON_RIGHT 0x0002
|
||||
#define M_BUTTON_MIDDLE 0x0004
|
||||
#define M_BUTTON_LDBLCK 0x0010
|
||||
#define M_BUTTON_RDBLCK 0x0020
|
||||
#define M_BUTTON_MDBLCK 0x0040
|
||||
#define M_BUTTON_WHEELUP 0x0100
|
||||
#define M_BUTTON_WHEELDOWN 0x0200
|
||||
#define M_CURSOR_MOVE 0x0400
|
||||
#define M_BUTTON_KEYMASK ( M_BUTTON_LEFT | M_BUTTON_RIGHT | M_BUTTON_MIDDLE )
|
||||
#define M_BUTTON_DBLMASK ( M_BUTTON_LDBLCK | M_BUTTON_RDBLCK | M_BUTTON_MDBLCK )
|
||||
|
||||
#define TIMEVAL_GET( tv ) gettimeofday( &( tv ), NULL );
|
||||
#define TIMEVAL_LESS( tv1, tv2 ) ( ( ( tv1 ).tv_sec == ( tv2 ).tv_sec ) ? \
|
||||
( ( tv1 ).tv_usec < ( tv2 ).tv_usec ) : \
|
||||
( ( tv1 ).tv_sec < ( tv2 ).tv_sec ) )
|
||||
#define TIMEVAL_GET( tv ) gettimeofday( &( tv ), NULL )
|
||||
#define TIMEVAL_LESS( tv1, tv2 ) ( ( ( tv1 ).tv_sec == ( tv2 ).tv_sec ) ? \
|
||||
( ( tv1 ).tv_usec < ( tv2 ).tv_usec ) : \
|
||||
( ( tv1 ).tv_sec < ( tv2 ).tv_sec ) )
|
||||
#define TIMEVAL_ADD( dst, src, n ) \
|
||||
{ \
|
||||
( dst ).tv_sec = ( src ).tv_sec + n / 1000; \
|
||||
if( ( ( dst ).tv_usec = ( src ).tv_usec + ( n % 1000 ) * 1000 ) >= 1000000 ) \
|
||||
do { \
|
||||
( dst ).tv_sec = ( src ).tv_sec + ( n ) / 1000; \
|
||||
if( ( ( dst ).tv_usec = ( src ).tv_usec + ( ( n ) % 1000 ) * 1000 ) >= 1000000 ) \
|
||||
{ \
|
||||
( dst ).tv_usec -= 1000000; ( dst ).tv_sec++; \
|
||||
} \
|
||||
}
|
||||
} while( 0 )
|
||||
|
||||
@@ -102,78 +102,132 @@
|
||||
#endif
|
||||
|
||||
#ifndef O_ACCMODE
|
||||
# define O_ACCMODE ( O_RDONLY | O_WRONLY | O_RDWR )
|
||||
# define O_ACCMODE ( O_RDONLY | O_WRONLY | O_RDWR )
|
||||
#endif
|
||||
|
||||
static int s_GtId;
|
||||
static HB_GT_FUNCS SuperTable;
|
||||
#define HB_GTSUPER ( &SuperTable )
|
||||
#define HB_GTID_PTR ( &s_GtId )
|
||||
#define HB_GTSUPER ( &SuperTable )
|
||||
#define HB_GTID_PTR ( &s_GtId )
|
||||
|
||||
#define HB_GTTRM_ATTR_CHAR 0x00FF
|
||||
#define HB_GTTRM_ATTR_STD 0x0000
|
||||
#define HB_GTTRM_ATTR_CHAR 0x00FF
|
||||
#define HB_GTTRM_ATTR_STD 0x0000
|
||||
#if 0
|
||||
#define HB_GTTRM_ATTR_ALT 0x0100
|
||||
#define HB_GTTRM_ATTR_PROT 0x0200
|
||||
#define HB_GTTRM_ATTR_ACSC 0x0400
|
||||
#define HB_GTTRM_ATTR_ALT 0x0100
|
||||
#define HB_GTTRM_ATTR_PROT 0x0200
|
||||
#define HB_GTTRM_ATTR_ACSC 0x0400
|
||||
#else
|
||||
#define HB_GTTRM_ATTR_ALT 0x0100
|
||||
#define HB_GTTRM_ATTR_PROT 0x0100
|
||||
#define HB_GTTRM_ATTR_ACSC 0x0100
|
||||
#define HB_GTTRM_ATTR_ALT 0x0100
|
||||
#define HB_GTTRM_ATTR_PROT 0x0100
|
||||
#define HB_GTTRM_ATTR_ACSC 0x0100
|
||||
#endif
|
||||
#define HB_GTTRM_ATTR_BOX 0x0800
|
||||
#define HB_GTTRM_ATTR_BOX 0x0800
|
||||
|
||||
#define TERM_ANSI 1
|
||||
#define TERM_LINUX 2
|
||||
#define TERM_XTERM 3
|
||||
#define TERM_PUTTY 4
|
||||
#define TERM_CONS 8
|
||||
#define TERM_ANSI 1
|
||||
#define TERM_LINUX 2
|
||||
#define TERM_XTERM 3
|
||||
#define TERM_PUTTY 4
|
||||
#define TERM_CONS 8
|
||||
|
||||
#define HB_GTTRM_CLRSTD 0
|
||||
#define HB_GTTRM_CLRX16 1
|
||||
#define HB_GTTRM_CLR256 2
|
||||
#define HB_GTTRM_CLRRGB 3
|
||||
#define HB_GTTRM_CLRAIX 4
|
||||
#define HB_GTTRM_CLRSTD 0
|
||||
#define HB_GTTRM_CLRX16 1
|
||||
#define HB_GTTRM_CLR256 2
|
||||
#define HB_GTTRM_CLRRGB 3
|
||||
#define HB_GTTRM_CLRAIX 4
|
||||
|
||||
#define NO_STDKEYS 96
|
||||
#define NO_EXTDKEYS 30
|
||||
#define STDIN_BUFLEN 128
|
||||
|
||||
#define STDIN_BUFLEN 128
|
||||
|
||||
#define ESC_DELAY 25
|
||||
#define ESC_DELAY 25
|
||||
|
||||
#define IS_EVTFDSTAT( x ) ( ( x ) >= 0x01 && ( x ) <= 0x03 )
|
||||
#define EVTFDSTAT_RUN 0x01
|
||||
#define EVTFDSTAT_STOP 0x02
|
||||
#define EVTFDSTAT_DEL 0x03
|
||||
#define EVTFDSTAT_RUN 0x01
|
||||
#define EVTFDSTAT_STOP 0x02
|
||||
#define EVTFDSTAT_DEL 0x03
|
||||
|
||||
/* mouse button states */
|
||||
#define M_BUTTON_LEFT 0x0001
|
||||
#define M_BUTTON_RIGHT 0x0002
|
||||
#define M_BUTTON_MIDDLE 0x0004
|
||||
#define M_BUTTON_LDBLCK 0x0010
|
||||
#define M_BUTTON_RDBLCK 0x0020
|
||||
#define M_BUTTON_MDBLCK 0x0040
|
||||
#define M_BUTTON_WHEELUP 0x0100
|
||||
#define M_BUTTON_WHEELDOWN 0x0200
|
||||
#define M_CURSOR_MOVE 0x0400
|
||||
#define M_BUTTON_KEYMASK ( M_BUTTON_LEFT | M_BUTTON_RIGHT | M_BUTTON_MIDDLE )
|
||||
#define M_BUTTON_DBLMASK ( M_BUTTON_LDBLCK | M_BUTTON_RDBLCK | M_BUTTON_MDBLCK )
|
||||
#define M_BUTTON_LEFT 0x0001
|
||||
#define M_BUTTON_RIGHT 0x0002
|
||||
#define M_BUTTON_MIDDLE 0x0004
|
||||
#define M_BUTTON_LDBLCK 0x0010
|
||||
#define M_BUTTON_RDBLCK 0x0020
|
||||
#define M_BUTTON_MDBLCK 0x0040
|
||||
#define M_BUTTON_WHEELUP 0x0100
|
||||
#define M_BUTTON_WHEELDOWN 0x0200
|
||||
#define M_CURSOR_MOVE 0x0400
|
||||
#define M_BUTTON_KEYMASK ( M_BUTTON_LEFT | M_BUTTON_RIGHT | M_BUTTON_MIDDLE )
|
||||
#define M_BUTTON_DBLMASK ( M_BUTTON_LDBLCK | M_BUTTON_RDBLCK | M_BUTTON_MDBLCK )
|
||||
|
||||
#define MOUSE_NONE 0
|
||||
#define MOUSE_GPM 1
|
||||
#define MOUSE_XTERM 2
|
||||
#define MOUSE_NONE 0
|
||||
#define MOUSE_GPM 1
|
||||
#define MOUSE_XTERM 2
|
||||
|
||||
#define KEY_SHIFTMASK 0x01000000
|
||||
#define KEY_CTRLMASK 0x02000000
|
||||
#define KEY_ALTMASK 0x04000000
|
||||
#define KEY_KPADMASK 0x08000000
|
||||
#define KEY_EXTDMASK 0x10000000
|
||||
#define KEY_CLIPMASK 0x20000000
|
||||
/* 0x40000000 reserved for Harbour extended keys */
|
||||
#define KEY_MASK 0xFF000000
|
||||
|
||||
#define CLR_KEYMASK( x ) ( ( x ) & ~KEY_MASK )
|
||||
#define GET_KEYMASK( x ) ( ( x ) & KEY_MASK )
|
||||
|
||||
#define IS_CLIPKEY( x ) ( ( ( ( x ) & ~0xffff ) ^ KEY_CLIPMASK ) == 0 )
|
||||
#define SET_CLIPKEY( x ) ( ( ( x ) & 0xffff ) | KEY_CLIPMASK )
|
||||
#define GET_CLIPKEY( x ) ( ( ( ( x ) & 0x8000 ) ? ~0xffff : 0 ) | ( ( x ) & 0xffff ) )
|
||||
|
||||
#define CTRL_SEQ "\036"
|
||||
#define ALT_SEQ "\037"
|
||||
/*#define NATION_SEQ "\016"*/
|
||||
|
||||
#define EXKEY_F1 ( HB_KX_F1 | KEY_EXTDMASK )
|
||||
#define EXKEY_F2 ( HB_KX_F2 | KEY_EXTDMASK )
|
||||
#define EXKEY_F3 ( HB_KX_F3 | KEY_EXTDMASK )
|
||||
#define EXKEY_F4 ( HB_KX_F4 | KEY_EXTDMASK )
|
||||
#define EXKEY_F5 ( HB_KX_F5 | KEY_EXTDMASK )
|
||||
#define EXKEY_F6 ( HB_KX_F6 | KEY_EXTDMASK )
|
||||
#define EXKEY_F7 ( HB_KX_F7 | KEY_EXTDMASK )
|
||||
#define EXKEY_F8 ( HB_KX_F8 | KEY_EXTDMASK )
|
||||
#define EXKEY_F9 ( HB_KX_F9 | KEY_EXTDMASK )
|
||||
#define EXKEY_F10 ( HB_KX_F10 | KEY_EXTDMASK )
|
||||
#define EXKEY_F11 ( HB_KX_F11 | KEY_EXTDMASK )
|
||||
#define EXKEY_F12 ( HB_KX_F12 | KEY_EXTDMASK )
|
||||
#define EXKEY_UP ( HB_KX_UP | KEY_EXTDMASK )
|
||||
#define EXKEY_DOWN ( HB_KX_DOWN | KEY_EXTDMASK )
|
||||
#define EXKEY_LEFT ( HB_KX_LEFT | KEY_EXTDMASK )
|
||||
#define EXKEY_RIGHT ( HB_KX_RIGHT | KEY_EXTDMASK )
|
||||
#define EXKEY_DEL ( HB_KX_DEL | KEY_EXTDMASK )
|
||||
#define EXKEY_HOME ( HB_KX_HOME | KEY_EXTDMASK )
|
||||
#define EXKEY_END ( HB_KX_END | KEY_EXTDMASK )
|
||||
#define EXKEY_PGUP ( HB_KX_PGUP | KEY_EXTDMASK )
|
||||
#define EXKEY_PGDN ( HB_KX_PGDN | KEY_EXTDMASK )
|
||||
#define EXKEY_INS ( HB_KX_INS | KEY_EXTDMASK )
|
||||
#define EXKEY_BS ( HB_KX_BS | KEY_EXTDMASK )
|
||||
#define EXKEY_TAB ( HB_KX_TAB | KEY_EXTDMASK )
|
||||
#define EXKEY_ESC ( HB_KX_ESC | KEY_EXTDMASK )
|
||||
#define EXKEY_ENTER ( HB_KX_ENTER | KEY_EXTDMASK )
|
||||
#define EXKEY_CENTER ( HB_KX_CENTER | KEY_EXTDMASK )
|
||||
#define EXKEY_PRTSCR ( HB_KX_PRTSCR | KEY_EXTDMASK )
|
||||
#define EXKEY_PAUSE ( HB_KX_PAUSE | KEY_EXTDMASK )
|
||||
|
||||
#define K_UNDEF 0x10000
|
||||
#define K_METAALT 0x10001
|
||||
#define K_METACTRL 0x10002
|
||||
#define K_NATIONAL 0x10003
|
||||
#define K_MOUSETERM 0x10004
|
||||
#define K_RESIZE 0x10005
|
||||
|
||||
#if defined( HB_OS_UNIX ) || defined( __DJGPP__ )
|
||||
|
||||
#define TIMEVAL_GET( tv ) gettimeofday( &( tv ), NULL )
|
||||
#define TIMEVAL_LESS( tv1, tv2 ) ( ( ( tv1 ).tv_sec == ( tv2 ).tv_sec ) ? \
|
||||
( ( tv1 ).tv_usec < ( tv2 ).tv_usec ) : \
|
||||
#define TIMEVAL_LESS( tv1, tv2 ) ( ( ( tv1 ).tv_sec == ( tv2 ).tv_sec ) ? \
|
||||
( ( tv1 ).tv_usec < ( tv2 ).tv_usec ) : \
|
||||
( ( tv1 ).tv_sec < ( tv2 ).tv_sec ) )
|
||||
#define TIMEVAL_ADD( dst, src, n ) \
|
||||
do { \
|
||||
( dst ).tv_sec = ( src ).tv_sec + ( n ) / 1000; \
|
||||
if( ( ( dst ).tv_usec = ( src ).tv_usec + ( n % 1000 ) * 1000 ) >= 1000000 ) \
|
||||
if( ( ( dst ).tv_usec = ( src ).tv_usec + ( ( n ) % 1000 ) * 1000 ) >= 1000000 ) \
|
||||
{ \
|
||||
( dst ).tv_usec -= 1000000; ( dst ).tv_sec++; \
|
||||
} \
|
||||
@@ -187,63 +241,6 @@ static HB_GT_FUNCS SuperTable;
|
||||
|
||||
#endif
|
||||
|
||||
#define KEY_SHIFTMASK 0x01000000
|
||||
#define KEY_CTRLMASK 0x02000000
|
||||
#define KEY_ALTMASK 0x04000000
|
||||
#define KEY_KPADMASK 0x08000000
|
||||
#define KEY_EXTDMASK 0x10000000
|
||||
#define KEY_CLIPMASK 0x20000000
|
||||
/* 0x40000000 reserved for Harbour extended keys */
|
||||
#define KEY_MASK 0xFF000000
|
||||
|
||||
#define CLR_KEYMASK( x ) ( ( x ) & ~KEY_MASK )
|
||||
#define GET_KEYMASK( x ) ( ( x ) & KEY_MASK )
|
||||
|
||||
#define IS_CLIPKEY( x ) ( ( ( ( x ) & ~0xffff ) ^ KEY_CLIPMASK ) == 0 )
|
||||
#define SET_CLIPKEY( x ) ( ( ( x ) & 0xffff ) | KEY_CLIPMASK )
|
||||
#define GET_CLIPKEY( x ) ( ( ( ( x ) & 0x8000 ) ? ~0xffff : 0 ) | ( ( x ) & 0xffff ) )
|
||||
|
||||
#define CTRL_SEQ "\036"
|
||||
#define ALT_SEQ "\037"
|
||||
/*#define NATION_SEQ "\016"*/
|
||||
|
||||
#define EXKEY_F1 ( HB_KX_F1 | KEY_EXTDMASK )
|
||||
#define EXKEY_F2 ( HB_KX_F2 | KEY_EXTDMASK )
|
||||
#define EXKEY_F3 ( HB_KX_F3 | KEY_EXTDMASK )
|
||||
#define EXKEY_F4 ( HB_KX_F4 | KEY_EXTDMASK )
|
||||
#define EXKEY_F5 ( HB_KX_F5 | KEY_EXTDMASK )
|
||||
#define EXKEY_F6 ( HB_KX_F6 | KEY_EXTDMASK )
|
||||
#define EXKEY_F7 ( HB_KX_F7 | KEY_EXTDMASK )
|
||||
#define EXKEY_F8 ( HB_KX_F8 | KEY_EXTDMASK )
|
||||
#define EXKEY_F9 ( HB_KX_F9 | KEY_EXTDMASK )
|
||||
#define EXKEY_F10 ( HB_KX_F10 | KEY_EXTDMASK )
|
||||
#define EXKEY_F11 ( HB_KX_F11 | KEY_EXTDMASK )
|
||||
#define EXKEY_F12 ( HB_KX_F12 | KEY_EXTDMASK )
|
||||
#define EXKEY_UP ( HB_KX_UP | KEY_EXTDMASK )
|
||||
#define EXKEY_DOWN ( HB_KX_DOWN | KEY_EXTDMASK )
|
||||
#define EXKEY_LEFT ( HB_KX_LEFT | KEY_EXTDMASK )
|
||||
#define EXKEY_RIGHT ( HB_KX_RIGHT | KEY_EXTDMASK )
|
||||
#define EXKEY_HOME ( HB_KX_HOME | KEY_EXTDMASK )
|
||||
#define EXKEY_END ( HB_KX_END | KEY_EXTDMASK )
|
||||
#define EXKEY_PGUP ( HB_KX_PGUP | KEY_EXTDMASK )
|
||||
#define EXKEY_PGDN ( HB_KX_PGDN | KEY_EXTDMASK )
|
||||
#define EXKEY_INS ( HB_KX_INS | KEY_EXTDMASK )
|
||||
#define EXKEY_DEL ( HB_KX_DEL | KEY_EXTDMASK )
|
||||
#define EXKEY_BS ( HB_KX_BS | KEY_EXTDMASK )
|
||||
#define EXKEY_TAB ( HB_KX_TAB | KEY_EXTDMASK )
|
||||
#define EXKEY_ESC ( HB_KX_ESC | KEY_EXTDMASK )
|
||||
#define EXKEY_ENTER ( HB_KX_ENTER | KEY_EXTDMASK )
|
||||
#define EXKEY_CENTER ( HB_KX_CENTER | KEY_EXTDMASK )
|
||||
#define EXKEY_PRTSCR ( HB_KX_PRTSCR | KEY_EXTDMASK )
|
||||
#define EXKEY_PAUSE ( HB_KX_PAUSE | KEY_EXTDMASK )
|
||||
|
||||
#define K_UNDEF 0x10000
|
||||
#define K_METAALT 0x10001
|
||||
#define K_METACTRL 0x10002
|
||||
#define K_NATIONAL 0x10003
|
||||
#define K_MOUSETERM 0x10004
|
||||
#define K_RESIZE 0x10005
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int fd;
|
||||
@@ -285,14 +282,6 @@ typedef struct _keyTab
|
||||
struct _keyTab * otherCh;
|
||||
} keyTab;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int key;
|
||||
int alt_key;
|
||||
int ctrl_key;
|
||||
int shift_key;
|
||||
} ClipKeyCode;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int key;
|
||||
@@ -458,7 +447,6 @@ static int getClipKey( int nKey )
|
||||
return nRet;
|
||||
}
|
||||
|
||||
|
||||
/* SA_NOCLDSTOP in #if is a hack to detect POSIX compatible environment */
|
||||
#if defined( HB_OS_UNIX ) && defined( SA_NOCLDSTOP )
|
||||
|
||||
@@ -1034,10 +1022,10 @@ static void mouse_init( PHB_GTTRM pTerm )
|
||||
if( ( flags = fcntl( gpm_fd, F_GETFL, 0 ) ) != -1 )
|
||||
fcntl( gpm_fd, F_SETFL, flags | O_NONBLOCK );
|
||||
|
||||
pTerm->mouse_type |= MOUSE_GPM;
|
||||
memset( ( void * ) &pTerm->mLastEvt, 0, sizeof( pTerm->mLastEvt ) );
|
||||
flush_gpmevt( pTerm );
|
||||
add_efds( pTerm, gpm_fd, O_RDONLY, set_gpmevt, ( void * ) pTerm );
|
||||
pTerm->mouse_type |= MOUSE_GPM;
|
||||
|
||||
/*
|
||||
* In recent GPM versions it produce unpleasure noice on the screen
|
||||
@@ -1225,7 +1213,7 @@ static int test_bufch( PHB_GTTRM pTerm, int n, int delay )
|
||||
|
||||
return ( IS_CLIPKEY( nKey ) || HB_INKEY_ISEXT( nKey ) ) ? nKey :
|
||||
( pTerm->stdin_inbuf > n ?
|
||||
pTerm->stdin_buf[( pTerm->stdin_ptr_l + n ) % STDIN_BUFLEN] : -1 );
|
||||
pTerm->stdin_buf[ ( pTerm->stdin_ptr_l + n ) % STDIN_BUFLEN] : -1 );
|
||||
}
|
||||
|
||||
static void free_bufch( PHB_GTTRM pTerm, int n )
|
||||
@@ -1403,7 +1391,7 @@ again:
|
||||
}
|
||||
}
|
||||
#else
|
||||
if( nKey > 0 && nKey <= 255 && pTerm->fUTF8 && pTerm->cdpIn )
|
||||
if( nKey >= 32 && nKey <= 255 && pTerm->fUTF8 && pTerm->cdpIn )
|
||||
{
|
||||
HB_USHORT uc = 0;
|
||||
n = i = 0;
|
||||
@@ -1425,13 +1413,13 @@ again:
|
||||
}
|
||||
}
|
||||
|
||||
if( nKey > 0 && nKey <= 255 && pTerm->keyTransTbl[ nKey ] )
|
||||
nKey = pTerm->keyTransTbl[ nKey ];
|
||||
/*
|
||||
if( pTerm->nation_transtbl && pTerm->nation_mode &&
|
||||
nKey >= 32 && nKey < 128 && pTerm->nation_transtbl[nKey] )
|
||||
nKey = pTerm->nation_transtbl[nKey];
|
||||
*/
|
||||
if( nKey > 0 && nKey <= 255 && pTerm->keyTransTbl[ nKey ] )
|
||||
nKey = pTerm->keyTransTbl[ nKey ];
|
||||
#endif
|
||||
if( nKey )
|
||||
nKey = getClipKey( nKey );
|
||||
@@ -2546,7 +2534,7 @@ static int removeKeyMap( PHB_GTTRM pTerm, const char * cdesc )
|
||||
int ret = K_UNDEF, i = 0, c;
|
||||
keyTab ** ptr;
|
||||
|
||||
c = ( unsigned char ) cdesc[ i++ ];
|
||||
c = ( unsigned char ) cdesc[ i++ ];
|
||||
ptr = &pTerm->pKeyTab;
|
||||
|
||||
while( c && *ptr != NULL )
|
||||
|
||||
Reference in New Issue
Block a user