8434f5ab14e94def67ea4b782d84173c4d9e4f08
* harbour/include/hbgtinfo.ch
* harbour/include/hbgtcore.h
* harbour/src/rtl/hbgtcore.c
+ added HB_GTI_INKEYFILTER which allows to set/get codeblock used to
filter inkey key codes. This codeblock receives as 1-st parameter
actually processed inside INKEY() function key code. It should return
final inkey code (it can be the same or 0 if key should be ignored.
I.e. this code change key 'a' to 'B' and blocks 'c':
hb_gtInfo( HB_GTI_INKEYFILTER, { | nKey |
SWITCH nKey
CASE ASC( 'a' )
RETURN ASC( 'B' )
CASE ASC( 'c' )
RETURN '0'
ENDSWITCH
RETURN nKey
} )
+ added HB_GTI_INKEYREAD which allows to set/get codeblock executed
just before INKEY() reads key code from the GT typeahead buffer.
If it returns non 0 numeric value then this value is returned instead
as inkey code. Otherwise standard inkey procedure is activated and
key code is read from the GT typeahead buffer.
* harbour/include/hbextern.ch
* harbour/src/rtl/inkey.c
- removed HB_INKEYSETPREBLOCK() and HB_INKEYSETPOSTBLOCK() functions
* harbour/contrib/xhb/Makefile
* harbour/contrib/xhb/xhbgt.c
+ harbour/contrib/xhb/xhbinkey.prg
* harbour/contrib/xhb/hbcompat.ch
* updated emulation of xHarbour hb_SetInkeyBeforeBlock() and
hb_SetInkeyAfterBlock() functions to use new HB_GTI_* functionality.
Incompatibility warning!
In Harbour timeout value passed to inkey() is correctly respected
and not reset internally on each call to inkey after block.
If inkey before block returns non 0 numeric value then it's not
ignored but returned as INKEY() function result without touching
GT typeahead buffer.
Description
Harbour Core — Reference source for Five development
Languages
C
80.3%
xBase
17.8%
Makefile
0.6%
C++
0.4%
Harbour
0.4%
Other
0.3%