diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 57ccfdbdff..8dd2db20b8 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,10 @@ 2002-12-01 13:30 UTC+0100 Foo Bar */ +2007-08-09 08:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/source/rtl/gtxwc/gtxwc.c + + added support for GTI_KBDSHIFTS + 2007-08-09 03:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libnf/numlock.c * harbour/contrib/libnf/caplock.c diff --git a/harbour/source/rtl/gtxwc/gtxwc.c b/harbour/source/rtl/gtxwc/gtxwc.c index 7dbcd838d9..a612c70061 100644 --- a/harbour/source/rtl/gtxwc/gtxwc.c +++ b/harbour/source/rtl/gtxwc/gtxwc.c @@ -3576,6 +3576,17 @@ static BOOL hb_gt_xwc_SetKeyCP( char * pszTermCDP, char * pszHostCDP ) /* *********************************************************************** */ +static int hb_gt_xwc_getKbdState( PXWND_DEF wnd ) +{ + int iKbdState = 0; + + if( wnd->keyModifiers.bShift ) iKbdState |= GTI_KBD_SHIFT; + if( wnd->keyModifiers.bCtrl ) iKbdState |= GTI_KBD_CTRL; + if( wnd->keyModifiers.bAlt ) iKbdState |= GTI_KBD_ALT; + + return iKbdState; +} + static BOOL hb_gt_xwc_Info( int iType, PHB_GT_INFO pInfo ) { int iVal; @@ -3731,6 +3742,11 @@ static BOOL hb_gt_xwc_Info( int iType, PHB_GT_INFO pInfo ) s_cursorBlinkRate = hb_itemGetNI( pInfo->pNewVal ); break; + case GTI_KBDSHIFTS: + pInfo->pResult = hb_itemPutNI( pInfo->pResult, + hb_gt_xwc_getKbdState( s_wnd ) ); + break; + default: return HB_GTSUPER_INFO( iType, pInfo ); }