home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-11-21 | 31.9 KB | 2,256 lines |
- .de }n
- .bp
- .sp .5i
- ..
- .wh -.8i }n
- .sp .5i
- .po -.4i
- .ll 7.5i
- .ps 9
- .vs 9
- .in 0i
- .ta 1.63265i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_ALT() Determine status of the Alt key
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_ALT()
- Determine status of the Alt key
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.4i
- \fBFT_ALT() -> lValue
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.4i
- None
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.4i
- \.T\. if Alt key is pressed, \.F\. if otherwise\.
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.4i
- This function is useful for times you need to know whether or not the
- Alt key is pressed, such as during a MemoEdit()\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.4i
- IF FT_ALT()
- .in 0.64i
- @24, 0 say "Alt"
- .in 0.4i
- ELSE
- .in 0.64i
- .ta 1.2i
- @24, 0 say " "
- .br
- .ta
- .in 0.4i
- ENDIF
- .sp
- .in 0.08i
- \fBSource:\fR ALT\.C
- .sp
- \fBAuthor:\fR Ted Means
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_CAPLOCK()
- , FT_CTRL()
- , FT_NUMLOCK()
- , FT_PRTSCR()
- , FT_SHIFT()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_CAPLOCK() Determine and optionally change the status of CapLock key
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_CAPLOCK()
- Determine and optionally change the status of CapLock key
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.4i
- \fBFT_CAPLOCK([ <lNewSetting> ]) -> lCurrentSetting
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.4i
- \fB<lNewSetting>\fR is optional and if supplied is the new setting
- for the CapLock key\. Specify \.T\. to turn CapLock on, or \.F\. to
- turn it off\.
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.4i
- \.T\. if CapLock is set, \.F\. if it isn\'t set\. The value returned
- .in 0.48i
- represents the setting in effect prior to any changes that might
- by made by <lNewSetting>\.
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.4i
- This function is useful if you need to know or set the status of the
- CapLock key for some reason\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.4i
- IF FT_CAPLOCK()
- .in 0.64i
- Qout( "CapLock is active" )
- .in 0.4i
- ENDIF
- .sp
- .in 0.08i
- \fBSource:\fR CAPLOCK\.C
- .sp
- \fBAuthor:\fR Ted Means
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_ALT()
- , FT_CTRL()
- , FT_NUMLOCK()
- , FT_PRTSCR()
- , FT_SHIFT()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_CTRL() Determine status of the Ctrl key
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_CTRL()
- Determine status of the Ctrl key
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.4i
- \fBFT_CTRL() -> lValue
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.4i
- None
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.4i
- \.T\. if Ctrl key is pressed, \.F\. if otherwise\.
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.4i
- This function is useful for times you need to know whether or not
- the Ctrl key is pressed, such as during a MemoEdit()\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.4i
- IF FT_CTRL()
- .in 0.64i
- @24, 0 say "Ctrl"
- .in 0.4i
- ELSE
- .in 0.64i
- .ta 1.28i
- @24, 0 say " "
- .br
- .ta
- .in 0.4i
- ENDIF
- .sp
- .in 0.08i
- \fBSource:\fR CTRL\.C
- .sp
- \fBAuthor:\fR Ted Means
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_CAPLOCK()
- , FT_NUMLOCK()
- , FT_PRTSCR()
- , FT_SHIFT()
- , FT_ALT()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_MBUTPRS() Retrieve button press status
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_MBUTPRS()
- Retrieve button press status
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.32i
- \fBFT_MRESET( <nButton> [, @nButPrs [, @nX [, @nY] ] ] ) -> nButStatus
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.32i
- \fB<nButton>\fR is the mouse button number:
- .sp
- .in 1.2i
- .ta 0.88i
- .br
- 0 - Left Button
- .br
- .ta
- .ta 0.88i
- .br
- 1 - Right Button
- .br
- .ta
- .br
- 2 - Middle Button [if applicable]
- .sp
- .in 0.32i
- \fB<nButPrs>\fR is the number of times the specified button was pressed
- .in 1.12i
- since the last call to this routine\. PASSED BY REFERENCE\.
- .in 0.32i
- \fB<nX>\fR is the X position of the cursor when the last press occurred\. PASSED
- .in 1.12i
- BY REFERENCE\.
- .in 0.32i
- \fB<nY>\fR is the Y position of the cursor when the last press occurred\. PASSED
- .in 1.12i
- BY REFERENCE\.
- .sp
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- An integer representing the button status:
- .sp
- .in 1.2i
- .br
- 0 - no buttons pressed
- .br
- 1 - left button pressed
- .br
- 2 - right button pressed
- .br
- 3 - left and right pressed
- .br
- 4 - middle pressed
- .br
- 5 - left and middle pressed
- .br
- 6 - middle and right buttons pressed
- .br
- 7 - all 3 buttons pressed
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- Retrieves the mouse button status\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.32i
- IF Empty( FT_MBUTPRS(1) )
- .in 0.56i
- ? "No Item selected"
- .in 0.32i
- ENDIF
- .sp
- .in 0.08i
- \fBSource:\fR MOUSE1\.PRG
- .sp
- \fBAuthor:\fR Robert DiFalco and Leo Letendre
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_MBUTREL()
- , FT_MDBLCLK()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_MBUTREL() Get mouse button release information
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_MBUTREL()
- Get mouse button release information
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.4i
- \fBFT_MBUTREL( nButton [, @nButRel [, @nX [, @nY] ] ]) -> nBStat
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.4i
- \fB<nButton>\fR is the mouse button number
- .in 1.2i
- .ta 0.88i
- .br
- 0 - Left Button
- .br
- .ta
- .ta 0.88i
- .br
- 1 - Right Button
- .br
- .ta
- .br
- 2 - Middle Button [if applicable]
- .sp
- .in 0.32i
- \fB<nButRel>\fR is the number of times the specified button was released
- .in 1.12i
- since the last call to this routine\. PASSED BY REFERENCE\.
- .sp
- .in 0.32i
- \fB<nX>\fR is the X position of the cursor when the last release occurred\.
- .in 1.12i
- PASSED BY REFERENCE\.
- .sp
- .in 0.32i
- \fB<nY>\fR is the Y position of the cursor when the last release occurred\.
- .in 1.12i
- PASSED BY REFERENCE\.
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.4i
- .ta 0.8i
- <nBStat> - an integer representing button release status
- .br
- .ta
- .in 1.36i
- .br
- 0 - None
- .br
- 1 - Left
- .br
- 2 - Right
- .br
- 3 - Middle
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.4i
- This function returns the release status of the mouse buttons\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.4i
- IF( FT_MBUTREL( 0 ) == 1 )
- .in 0.64i
- ? "Left button released"
- .in 0.4i
- ENDIF
- .sp
- .in 0.08i
- \fBSource:\fR MOUSE1\.PRG
- .sp
- \fBAuthor:\fR Robert DiFalco and Leo Letendre
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_MBUTPRS()
- , FT_MDBLCLK()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_MCURSOR() Set the mouse cursor
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_MCURSOR()
- Set the mouse cursor
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.32i
- \fBFT_MCURSOR( [ <lState> ] ) -> lCursorState
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.32i
- \fB<lState>\fR is a logical indicating whether to set the mouse cursor on\.
- .in 1.04i
- .br
- \.T\. - set mouse cursor on
- .br
- \.F\. - set mouse cursor off
- .br
- If omitted, no change is made to cursor state
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- A logical indicating the previous mouse cursor state\.
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- This function works like most Clipper state functions\. If no value
- is sent to FT_MCURSOR() it will return the state of the mouse cursor\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.32i
- IF !( FT_MCURSOR() )
- .in 0.56i
- FT_MCURSOR( \.T\. )
- .in 0.32i
- ENDIF
- .sp
- .in 0.08i
- \fBSource:\fR MOUSE1\.PRG
- .sp
- \fBAuthor:\fR Robert DiFalco and Leo Letendre
- .in 0i
- .ta 1.63265i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_MDBLCLK() Return true if a double click was detected
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_MDBLCLK()
- Return true if a double click was detected
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.32i
- \fBFT_MDBFCLK( [ <nClick> [, <nButton> [, <nInterval> [, <nRow> [, <nCol>;
- .in 1.28i
- \fB[, <nTime> ] ] ] ] ] ] ) -> lIsDoubleClk
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.32i
- \fB<nClick>\fR is a numeric value\. If it is zero FT_MDBLCLK() will not
- .in 1.04i
- check for the first press but rather will simply wait the
- specified period for a single press\. This is useful if this
- routine is called from one which in turn responded to a button
- press\. If it is not present or not equal to 0, then FT_MDBLCLK()
- will wait for two presses of the specified button\.
- .sp
- .in 0.32i
- \fB<nButton>\fR is the mouse button number
- .in 1.2i
- .ta 0.88i
- .br
- 0 - Left Button
- .br
- .ta
- .ta 0.88i
- .br
- 1 - Right Button
- .br
- .ta
- .br
- 2 - Middle Button [if applicable]
- .sp
- .in 0.32i
- \fB<nInterval>\fR is the interval to wait for the first click if requested
- .in 0.88i
- and the time to wait for the second\. If not present then defaults
- to 0\.5 second\.
- .sp
- .in 0.32i
- \fB<nRow>\fR is the row number for the mouse cursor location for a double click
- .in 0.88i
- to be valid\. If not present then the current position is taken as
- the valid location\.
- .sp
- .in 0.32i
- \fB<nCol>\fR is the column number for the mouse cursor location for a double
- .in 0.88i
- click to be valid\. If not present, then the current position is
- taken as the valid location\.
- .sp
- .in 0.32i
- \fB<nTime>\fR is an optional start time for the waiting period for the first
- .in 0.88i
- click (of either one or two requested)\. If not given then the
- time is set at entry into this routine\. This is useful when this
- routine is called from another routine which was called in
- response to a mouse click but needs to know if a double click
- has occurred
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- \.T\. if a double click was detected\.
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- This is a mouse meta function that checks for the presence
- of a double click\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.24i
- .br
- IF FT_MISREGION( 10, 10, 11, 20 ) \.AND\.;
- .in 0.48i
- .ta 3.2i
- .br
- FT_MDBLCLK(0,1,,FT_MGETX(),FT_MGETY()) && double click, right button
- .br
- .ta
- .in 3.68i
- .br
- && at current location with
- .br
- && default interval
- .sp
- .in 0.72i
- .br
- MnuItem1()
- .in 0.24i
- .br
- ENDIF
- .sp
- .in 0.08i
- \fBSource:\fR MOUSE1\.PRG
- .sp
- \fBAuthor:\fR Robert DiFalco and Leo Letendre
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_MBUTPRS()
- , FT_MBUTREL()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_MDEFCRS() Define the mouse cursor
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_MDEFCRS()
- Define the mouse cursor
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.32i
- \fBFT_MDEFCRS( <nCrsType>, <nScrMask>, <nCrsMask> ) -> NIL
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.32i
- \fB<nCrsType>\fR is the cursor type\.
- .sp
- \fB<nScrMask>\fR is the screen mask\.
- .sp
- \fB<nCrsMask>\fR is the cursor mask\.
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- NIL
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- Defines the cursor type
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .sp
- \fBSource:\fR MOUSE1\.PRG
- .sp
- \fBAuthor:\fR Robert DiFalco and Leo Letendre
- .in 0i
- .ta 1.63265i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_MGETPOS() Get mouse cursor position and button status
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_MGETPOS()
- Get mouse cursor position and button status
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.32i
- \fBFT_MGETPOS( @<nX>, @<nY> ) -> nButtonStatus
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.32i
- \fB<nX>\fR is a variable that will receive the mouse X position\. It must
- be passed by reference\.
- .sp
- \fB<nY>\fR is a variable that will receive the mouse Y position\. It must
- be passed by reference\.
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- an integer representing button status
- .sp
- .in 0.8i
- .br
- - 0 for no button pressed
- .br
- - 1 for left pressed
- .br
- - 2 for right pressed
- .br
- - 3 for left and right pressed
- .br
- - 4 for middle pressed
- .br
- - 5 for left and middle pressed
- .br
- - 6 for right and middle pressed
- .br
- - 0 for all three buttons pressed
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- Loads cursor position into x and y coordinates passed by reference and
- returns the button status\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.32i
- .br
- LOCAL nX, nY
- .br
- LOCAL nButton := FT_MGETPOS( @nX, @nY )
- .ta 1.28i
- .br
- ? "Mouse Row :", nX
- .br
- .ta
- .br
- ? "Mouse Column :", nY
- .br
- ? "Button Status:", nButton
- .sp
- .in 0.08i
- \fBSource:\fR MOUSE1\.PRG
- .sp
- \fBAuthor:\fR Robert DiFalco and Leo Letendre
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_MSETPOS()
- , FT_MDEFCRS()
- , FT_MGETX()
- , FT_MGETY()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_MGETX() Get mouse cursor row position
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_MGETX()
- Get mouse cursor row position
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.32i
- \fBFT_MGETX() -> nRowPos
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.32i
- NONE
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- Row position of mouse
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- Retrieves mouse\'s row position
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.32i
- ? FT_MGETX()
- .sp
- .in 0.08i
- \fBSource:\fR MOUSE1\.PRG
- .sp
- \fBAuthor:\fR Robert DiFalco and Leo Letendre
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_MDEFCRS()
- , FT_MGETPOS()
- , FT_MGETY()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_MGETY() Get mouse cursor column position
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_MGETY()
- Get mouse cursor column position
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.32i
- \fBFT_MGETY() -> nColPos
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.32i
- NONE
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- Column position of mouse\.
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- Retrieves mouse\'s column position\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.32i
- ? FT_MGETY()
- .sp
- .in 0.08i
- \fBSource:\fR MOUSE1\.PRG
- .sp
- \fBAuthor:\fR Robert DiFalco and Leo Letendre
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_MDEFCRS()
- , FT_MGETPOS()
- , FT_MGETX()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_MHIDECRS() Decrement internal mouse cursor flag and hide mouse cursor
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_MHIDECRS()
- Decrement internal mouse cursor flag and hide mouse cursor
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.32i
- \fBFT_MHIDECRS() -> NIL
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.32i
- NONE
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- NIL
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- Hides the mouse cursor\. Make sure to turn the mouse cursor off when
- redrawing screens\. The mouse cursor dutifully saves the screen
- under it, so if you draw over the mouse cursor it will create a
- "hole" in your screen when you move the mouse cursor\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.32i
- .br
- FT_MHIDECRS()
- .br
- @ 10, 10 to 20, 20
- .br
- FT_MSHOWCRS()
- .sp
- .in 0.08i
- \fBSource:\fR MOUSE1\.PRG
- .sp
- \fBAuthor:\fR Robert DiFalco and Leo Letendre
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_MSHOWCRS()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_MINREGION() Test if the mouse cursor is in the passed region
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_MINREGION()
- Test if the mouse cursor is in the passed region
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.32i
- \fBFT_MINREGION( <nT>, <nL>, <nB>, <nR> ) -> lInRegion
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.32i
- \fB<nT>\fR, \fB<nL>\fR \fB<nB>\fR \fB<nR>\fR are the four corners of the screen region\.
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- \.T\. if mouse is in specified region\.
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- This function will check to see if the mouse cursor is
- within the confines of the specified region\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.32i
- .br
- IF FT_MINREGION( 10, 10, 11, 20 )
- .in 0.48i
- .br
- nChoice := 1
- .in 0.32i
- .br
- ENDIF
- .sp
- .in 0.08i
- \fBSource:\fR MOUSE1\.PRG
- .sp
- \fBAuthor:\fR Robert DiFalco and Leo Letendre
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_MXLIMIT()
- , FT_MYLIMIT()
- , FT_MINREGION()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_MMICKEYS() Get mickeys
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_MMICKEYS()
- Get mickeys
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.32i
- \fBFT_MMICKEYS( @<nX>, @<nY> ) -> NIL
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.32i
- \fB<nX>\fR is a variable that will receive the vertical mickey count\.
- .sp
- \fB<nY>\fR is a variable that will receive the horizontal mickey count\.
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- NIL
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- <nX> and <nY> must be passed by reference to receive
- the mouse position in Mickeys\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.32i
- .br
- FT_MMICKEYS( @nX, @nY )
- .br
- ? nX
- .br
- ? nY
- .sp
- .in 0.08i
- \fBSource:\fR MOUSE1\.PRG
- .sp
- \fBAuthor:\fR Robert DiFalco and Leo Letendre
- .in 0i
- .ta 1.63265i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_MRESET() Reset mouse driver and return status of mouse
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_MRESET()
- Reset mouse driver and return status of mouse
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.32i
- \fBFT_MRESET() -> nMouseStatus
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.32i
- NONE
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- An integer representing the mouse status (0 == mouse not installed)
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- Resets the mouse driver and returns mouse status\. Use FT_MSHOWCRS()
- to display the mouse cursor\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.32i
- IF Empty( FT_MRESET() )
- .in 0.56i
- ? "No mouse driver is installed"
- .in 0.32i
- ENDIF
- .sp
- .in 0.08i
- \fBSource:\fR MOUSE1\.PRG
- .sp
- \fBAuthor:\fR Robert DiFalco and Leo Letendre
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_MSHOWCRS()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_MSETPOS() Position the mouse cursor
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_MSETPOS()
- Position the mouse cursor
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.32i
- \fBFT_MSETPOS( <nX>, <nY> ) -> NIL
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.32i
- \fB<nX>\fR is the desired mouse row\.
- .sp
- \fB<nY>\fR is the desired mouse column\.
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- NIL
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- Positions mouse cursor on screen\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.32i
- .ta 2i
- FT_MSETPOS( 10, 20 ) // position mouse cursor at row 10, col 20
- .br
- .ta
- .sp
- .in 0.08i
- \fBSource:\fR MOUSE1\.PRG
- .sp
- \fBAuthor:\fR Robert DiFalco and Leo Letendre
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_MGETPOS()
- , FT_MDEFCRS()
- , FT_MGETX()
- , FT_MGETY()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_MSHOWCRS() Increment internal cursor flag and display mouse cursor
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_MSHOWCRS()
- Increment internal cursor flag and display mouse cursor
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.32i
- \fBFT_MSHOWCRS() -> NIL
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.32i
- NONE
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- NIL
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- Displays the mouse cursor\. Make sure to turn the mouse cursor off
- when redrawing screens\. The mouse cursor dutifully saves the screen
- under it, so if you draw over the mouse cursor it will create a "hole"
- in your screen when you move the mouse cursor\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.32i
- .br
- IF Empty( FT_MRESET() )
- .in 0.56i
- .br
- FT_MSHOWCRS()
- .in 0.32i
- .br
- ENDIF
- .sp
- .in 0.08i
- \fBSource:\fR MOUSE1\.PRG
- .sp
- \fBAuthor:\fR Robert DiFalco and Leo Letendre
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_MHIDECRS()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_MXLIMIT() Set vertical bounds of mouse travel
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_MXLIMIT()
- Set vertical bounds of mouse travel
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.32i
- \fBFT_MXLIMIT( <nX1>, <nX2> ) -> NIL
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.32i
- \fB<nX1>\fR is the top row limit\.
- .sp
- \fB<nX2>\fR is the bottom row limit\.
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- NIL
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- Set maximum vertical bounds of mouse\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.32i
- FT_MXLIMIT( 10, 20 )
- .sp
- .in 0.08i
- \fBSource:\fR MOUSE1\.PRG
- .sp
- \fBAuthor:\fR Robert DiFalco and Leo Letendre
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_MYLIMIT()
- , FT_MINREGION()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_MYLIMIT() Set horizontal bounds of mouse travel
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_MYLIMIT()
- Set horizontal bounds of mouse travel
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.32i
- \fBFT_MYLIMIT( <nY1>, <nY2> ) -> NIL
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.32i
- \fB<nY1>\fR is the left column limit\.
- .sp
- \fB<nY2>\fR is the right column limit\.
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- NIL
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- Set maximum horizontal bounds of mouse\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.32i
- FT_MYLIMIT( 10, 20 )
- .sp
- .in 0.08i
- \fBSource:\fR MOUSE1\.PRG
- .sp
- \fBAuthor:\fR Robert DiFalco and Leo Letendre
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_MXLIMIT()
- , FT_MINREGION()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_NUMLOCK() Return status of NumLock key
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_NUMLOCK()
- Return status of NumLock key
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.4i
- \fBFT_NUMLOCK( [ <lNewSetting> ] ) -> lCurrentSetting
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.4i
- \fB<lNewSetting>\fR is optional and if supplied is the new setting
- for the CapLock key\. Specify \.T\. to turn CapLock on, or \.F\. to
- turn it off\.
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.4i
- lValue is \.T\. if NumLock is set, \.F\. if it isn\'t set\. The value
- returned represents the setting in effect prior to any changes that
- might by made by <lNewSetting>\.
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.4i
- This function is useful if you need to know or set the status of the
- NumLock key for some reason\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.4i
- IF FT_NUMLOCK()
- .in 0.64i
- Qout( "NumLock is active" )
- .in 0.4i
- ENDIF
- .sp
- .in 0.24i
- Another one, slightly strange, courtesy of Glenn Scott:
- .sp
- .sp
- .in 0.56i
- function numBlink()
- .in 0.8i
- local lOldNum := ft_numlock()
- .sp
- while inkey( \.5 ) != 27
- .in 1.04i
- ft_numlock( !ft_numlock() )
- .in 0.8i
- end
- .sp
- return ft_numlock( lOldNum )
- .sp
- .in 0.08i
- \fBSource:\fR NUMLOCK\.C
- .sp
- \fBAuthor:\fR Ted Means
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_CAPLOCK()
- , FT_CTRL()
- , FT_PRTSCR()
- , FT_SHIFT()
- , FT_ALT()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_PRTSCR() Enable or disable the Print Screen key
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_PRTSCR()
- Enable or disable the Print Screen key
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.4i
- \fBFT_PRTSCR( [ <lSetStat> ] ) -> lCurStat
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.4i
- \fB<lSetStat>\fR set to \.T\. will enable the Print Screen key,
- \.F\. will disable it\. If omitted, leaves status as is\.
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.4i
- The current state: \.T\. if enabled, \.F\. if disabled\.
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.4i
- This function is valuable if you have a need to disable the
- printscreen key\. It works by fooling the BIOS into thinking that
- a printscreen is already in progress\. The BIOS will then refuse
- to invoke the printscreen handler\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.4i
- .ta 1.84i
- FT_PRTSCR( \.F\. ) && Disable the printscreen key
- .br
- .ta
- .ta 1.84i
- FT_PRTSCR( \.T\. ) && Enable the printscreen key
- .br
- .ta
- .ta 1.84i
- MemVar := FT_PRTSCR() && Get the current status
- .br
- .ta
- .sp
- .in 0.08i
- \fBSource:\fR PRTSCR\.C
- .sp
- \fBAuthor:\fR Ted Means
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_CAPLOCK()
- , FT_CTRL()
- , FT_NUMLOCK()
- , FT_SHIFT()
- , FT_ALT()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_PUTKEY() Stuff a keystroke into the keyboard buffer
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_PUTKEY()
- Stuff a keystroke into the keyboard buffer
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.4i
- \fBFT_PUTKEY( <nKeyValue> ) -> lResult
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.4i
- \fB<nKeyValue>\fR is the INKEY() value of the keystroke to be stuffed\.
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- .br
- \.T\. if the keystroke was put into the keyboard buffer\.
- .br
- \.F\. if nKeyValue was invalid or the buffer was full\.
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- This function is similar to the KEYBOARD command, with a few
- exceptions\. First, this function does not clear the keyboard buffer
- before inserting the keystroke\. In addition, since it uses the
- Inkey() value, you can stuff any key, including function keys, into
- the keyboard buffer\. However, this also means that unlike the KEYBOARD
- command, you can only stuff one keystroke at a time\.
- .sp
- You can easily create a User-Defined Command that makes this function
- even more like the KEYBOARD command\. For example,
- .sp
- .in 0.64i
- #command KEYSTROKE <key> => FT_PUTKEY( <key> )
- .sp
- .in 0.32i
- will create a command called KEYSTROKE that could be used as a
- companion command to KEYBOARD\. The only difference is that it would
- insert a single keystroke instead of a string\.
- .sp
- Be aware that early releases of Clipper 5\.0 have a bug in their
- keyboard handling\. Among other things, Set Typeahead does not work
- correctly, so this function may at times return \.T\. even though the
- keyboard buffer is full\. The best solution is not to attempt stuffing
- more than 15 keys at a time into the keyboard buffer\.
- .sp
- This function is written to adhere to Turbo Assembler\'s IDEAL mode\.
- To use another assembler, rearrange the SEGMENT and PROC directives
- and make any other necessary changes to the source code\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.48i
- .ta 1.44i 1.76i
- FT_PUTKEY( -9 ) // Stuff the F10 key
- .br
- .ta
- .ta 1.44i 1.76i
- FT_PUTKEY( 276 ) // Stuff the Alt T key
- .br
- .ta
- .ta 1.44i 1.76i
- KEYSTROKE 28 // Stuff the F1 key using a User-Defined Command
- .br
- .ta
- .sp
- .in 0.08i
- \fBSource:\fR PUTKEY\.ASM
- .sp
- \fBAuthor:\fR Ted Means
- .in 0i
- .ta 1.63265i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_SCANCODE() Wait for keypress and return keyboard scan code
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_SCANCODE()
- Wait for keypress and return keyboard scan code
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.4i
- \fBFT_SCANCODE() -> cCode
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.4i
- None
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.4i
- A two-character string, corresponding to the keyboard scan code\.
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.4i
- FT_SCANCODE() enables you to distinguish the different scancodes
- of similar keys (such as Grey minus versus regular minus), thus
- increasing the number of keys your input routine can recognize\.
- .sp
- It works like INKEY(), in that it waits for a key to be pressed\.
- The scan code consists of two bytes, which are returned as a
- two-character string\.
- .sp
- For example, calling FT_SCANCODE() and pressing the Grey-minus
- key will return a two character string:
- .sp
- .in 0.96i
- CHR(45) + CHR(74)
- .sp
- .in 0.4i
- LASTKEY() is not updated by FT_SCANCODE(), so don\'t try to
- test LASTKEY() to see what was pressed during an FT_SCANCODE()
- call\. Simply assign the return value to a variable and test
- that (see the test driver below)\.
- .sp
- .ta 0.24i
- * This was adapted from a short C routine posted by John Kaster on
- .br
- .ta
- .in 0.64i
- NANFORUM\. It was written in Clipper to help demonstrate the
- FT_INT86 function of the Nanforum Toolkit\.
- .sp
- .in 0.4i
- This program requires FT_INT86()\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.64i
- cKey := FT_SCANCODE()
- .sp
- .in 0.48i
- [grey-] returns: CHR(45) + CHR(74)
- .ta 0.64i
- [-] returns: CHR(45) + CHR(12)
- .br
- .ta
- [grey+] returns: CHR(43) + CHR(78)
- .ta 0.64i
- [+] returns: CHR(43) + CHR(13)
- .br
- .ta
- .sp
- .in 0.08i
- \fBSource:\fR SCANCODE\.PRG
- .sp
- \fBAuthor:\fR Glenn Scott (from John Kaster)
- .in 0i
- .ta 1.63265i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_SETRATE() Set the keyboard delay and repeat rate on PC/AT & PS/2
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_SETRATE()
- Set the keyboard delay and repeat rate on PC/AT & PS/2
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.4i
- \fBFT_SETRATE( [ <nDelayTime> ] [, <nRepeatRate> ] ) -> NIL
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.4i
- \fB<nDelayTime>\fR is the keyboard delay time\.
- .sp
- \fB<nRepeatRate>\fR is the keyboard repeat rate\.
- .sp
- .in 0.8i
- .ta 2.16i
- \(sq
- .br
- \l'1.84i'
- .br
- \(sq \(sq
- .br
- \l'1.92i'
- .br
- \(sq
- .br
- .ta
- .ta 0i 1.44i 1.92i 2.16i 3.6i 4.16i
- \(br nDelayTime DELAY \(br \(br RepeatRate SPEED \(br
- .br
- .ta
- .ta 0i 2.16i
- \(br
- .br
- \l'1.84i'
- .br
- \(sq \(br
- .br
- \l'1.92i'
- .br
- \(sq
- .br
- .ta
- .ta 0i 0.48i 1.44i 1.92i 2.16i 2.56i 3.52i 4.16i
- \(br 0 250ms \(br \(br 0 30\.0cps \(br
- .br
- .ta
- .ta 0i 0.48i 1.92i 2.16i 2.56i 3.52i 4.16i
- \(br 1 (default) 500ms \(br \(br 1 26\.7cps \(br
- .br
- .ta
- .ta 0i 0.48i 1.44i 1.92i 2.16i 2.56i 3.52i 4.16i
- \(br 2 750ms \(br \(br 2 24\.0cps \(br
- .br
- .ta
- .ta 0i 0.48i 1.36i 1.92i 2.16i 2.56i 3.52i 4.16i
- \(br 3 1000ms \(br \(br 3 21\.8cps \(br
- .br
- .ta
- .ta 2.16i 2.56i 3.52i 4.16i
- \(sq
- .br
- \l'1.84i'
- .br
- \(sq \(br 4 20\.0cps \(br
- .br
- .ta
- .in 2.96i
- .ta 0i 0.4i 1.36i 2i
- \(br 5 18\.5cps \(br
- .br
- .ta
- .ta 0i 0.4i 1.36i 2i
- \(br 6 17\.1cps \(br
- .br
- .ta
- .ta 0i 0.4i 1.36i 2i
- \(br 7 16\.0cps \(br
- .br
- .ta
- .ta 0i 0.4i 1.36i 2i
- \(br 8 15\.0cps \(br
- .br
- .ta
- .ta 0i 0.4i 1.36i 2i
- \(br 9 13\.3cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.36i 2i
- \(br 10 12\.0cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.36i 2i
- \(br 11 10\.9cps \(br
- .br
- .ta
- .ta 0i 0.32i 2i
- \(br 12 (default) 10\.0cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 13 9\.2cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 14 8\.6cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 15 8\.0cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 16 7\.5cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 17 6\.7cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 18 6\.0cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 19 5\.5cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 20 5\.0cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 21 4\.6cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 22 4\.3cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 23 4\.0cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 24 3\.7cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 25 3\.3cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 26 3\.0cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 27 2\.7cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 28 2\.5cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 29 2\.3cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 30 2\.1cps \(br
- .br
- .ta
- .ta 0i 0.32i 1.44i 2i
- \(br 31 2\.0cps \(br
- .br
- .ta
- \(sq
- .br
- \l'1.92i'
- .br
- \(sq
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.32i
- NIL
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.32i
- This routine is used to adjust the IBM PC/AT and PS/2 "typematic"
- repeat and delay feature\. This is used to allow the users of your
- application to adjust these speeds to the most comfortable level\.
- .sp
- This source code is written for Microsoft Assembler v5\.1\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.32i
- .ta 1.52i
- FT_SETRATE(0,0) // Set keyboard to fastest possible settings
- .br
- .ta
- .ta 1.52i
- FT_SETRATE() // Set keyboard to AT defaults (10\.9cps,500ms delay)
- .br
- .ta
- .ta 1.52i
- FT_SETRATE(11,1) // Set keyboard to PS/2 defaults (10cps,500ms delay)
- .br
- .ta
- .sp
- .in 0.08i
- \fBSource:\fR KSPEED\.ASM
- .sp
- \fBAuthor:\fR James R\. Zack
- .in 0i
- .ta 1.63265i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_SHIFT() Determine status of shift key
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_SHIFT()
- Determine status of shift key
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.4i
- \fBFT_SHIFT() -> lValue
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.4i
- None
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.4i
- \.T\. if a shift key is pressed, \.F\. if otherwise\.
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.4i
- This function is useful for times you need to know whether or not the
- shift key is pressed, such as during a MemoEdit()\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.4i
- IF FT_SHIFT()
- .in 0.64i
- @24, 0 say "Shift"
- .in 0.4i
- ELSE
- .in 0.64i
- .ta 1.36i
- @24, 0 say " "
- .br
- .ta
- .in 0.4i
- ENDIF
- .sp
- .in 0.08i
- \fBSource:\fR SHIFT\.C
- .sp
- \fBAuthor:\fR Ted Means
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- FT_CAPLOCK()
- , FT_CTRL()
- , FT_NUMLOCK()
- , FT_PRTSCR()
- , FT_ALT()
- .ta 1.63265i
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- FT_SINKEY() Replacement for INKEY() that tests for SET KEY procedures
- .br
- .ta
- .in 0.08i
- .ps -3
- .vs -3
- .sp 2
- \fBFT_SINKEY()
- Replacement for INKEY() that tests for SET KEY procedures
- .in 0i
- .br
- \l'6.24i'
- .br
- .sp
- .in 0.08i
- \fBSyntax
- .sp
- .in 0.4i
- \fBFT_SINKEY( [ <nWaitTime> ] ) -> nKey
- .sp
- .in 0.08i
- \fBArguments
- .sp
- .in 0.4i
- \fB<nWaitTime>\fR is the number of seconds to wait\. If zero,
- FT_SINKEY() will wait indefinitely for a keypress\. If not
- passed, FT_SINKEY() does not wait for a keypress\. If NIL,
- it is treated the same as 0\.
- .sp
- .in 0.08i
- \fBReturns
- .sp
- .in 0.4i
- The INKEY() value of the key pressed\.
- .sp
- .in 0.08i
- \fBDescription
- .sp
- .in 0.4i
- FT_SINKEY() is similar to the function provided by Nantucket in
- KEYBOARD\.PRG, with one significant difference: you can pass NIL
- to INKEY(), which will be treated as a zero (i\.e\., wait indefinitely
- for keypress)\. Therefore, it is necessary to differentiate between
- an explicit NIL and one that is a result of a formal parameter NOT
- being received\.
- .sp
- FT_SINKEY() differs from the standard INKEY() in that it will
- respond to any keys set with SET KEY TO or SetKey()\.
- .sp
- .in 0.08i
- \fBExamples
- .sp
- .in 0.4i
- SetKey( K_F1, {|n,l,r| Help(n,l,r) } )
- .ta 2.16i
- nKey := FT_SINKEY(0) // Help() will be called if F1 pressed
- .br
- .ta
- .sp
- .in 0.08i
- \fBSource:\fR SINKEY\.PRG
- .sp
- \fBAuthor:\fR Greg Lief
-